[PackageKit-commit] packagekit: Branch 'master' - 76 commits

Richard Hughes hughsient at kemper.freedesktop.org
Mon Nov 9 03:09:12 PST 2009


Rebased ref, commits from common ancestor:
commit 7005e0af84874207ab6863f18ac48508237ced5c
Author: Richard Hughes <richard at hughsie.com>
Date:   Mon Nov 9 09:42:23 2009 +0000

    cnf: after a successful installation, re-exec new binary not command-not-found. Fixes rh#533554

diff --git a/contrib/command-not-found/pk-command-not-found.c b/contrib/command-not-found/pk-command-not-found.c
index 4e3f4b3..de2e503 100644
--- a/contrib/command-not-found/pk-command-not-found.c
+++ b/contrib/command-not-found/pk-command-not-found.c
@@ -706,7 +706,7 @@ main (int argc, char *argv[])
 
 		/* run */
 		} else if (config->single_match == PK_CNF_POLICY_RUN) {
-			pk_cnf_spawn_command (possible, &argv[1]);
+			pk_cnf_spawn_command (possible, &argv[2]);
 
 		/* ask */
 		} else if (config->single_match == PK_CNF_POLICY_ASK) {
@@ -714,7 +714,7 @@ main (int argc, char *argv[])
 			text = g_strdup_printf ("%s %s", _("Run similar command:"), possible);
 			ret = pk_console_get_prompt (text, TRUE);
 			if (ret)
-				pk_cnf_spawn_command (possible, &argv[1]);
+				pk_cnf_spawn_command (possible, &argv[2]);
 			else
 				retval = EXIT_COMMAND_NOT_FOUND;
 			g_free (text);
@@ -745,7 +745,7 @@ main (int argc, char *argv[])
 
 			/* run command */
 			possible = g_ptr_array_index (array, i);
-			pk_cnf_spawn_command (possible, &argv[1]);
+			pk_cnf_spawn_command (possible, &argv[2]);
 		}
 		goto out;
 
@@ -772,7 +772,7 @@ main (int argc, char *argv[])
 				if (ret) {
 					ret = pk_cnf_install_package_id (package_ids[0]);
 					if (ret)
-						pk_cnf_spawn_command (argv[0], &argv[1]);
+						pk_cnf_spawn_command (argv[1], &argv[2]);
 					else
 						retval = EXIT_COMMAND_NOT_FOUND;
 				}
@@ -781,7 +781,7 @@ main (int argc, char *argv[])
 			} else if (config->single_install == PK_CNF_POLICY_INSTALL) {
 				ret = pk_cnf_install_package_id (package_ids[0]);
 				if (ret)
-					pk_cnf_spawn_command (argv[0], &argv[1]);
+					pk_cnf_spawn_command (argv[1], &argv[2]);
 				else
 					retval = EXIT_COMMAND_NOT_FOUND;
 			}
@@ -814,7 +814,7 @@ main (int argc, char *argv[])
 				/* run command */
 				ret = pk_cnf_install_package_id (package_ids[i]);
 				if (ret)
-					pk_cnf_spawn_command (argv[0], &argv[1]);
+					pk_cnf_spawn_command (argv[1], &argv[2]);
 				else
 					retval = EXIT_COMMAND_NOT_FOUND;
 			}
commit e390b7bb666995fb7091bc18f9b8ea8e7ee5e954
Merge: 295503c... e926d83...
Author: Richard Hughes <richard at hughsie.com>
Date:   Sat Nov 7 21:40:41 2009 +0000

    Merge branch 'master' of git+ssh://git.packagekit.org/srv/git/PackageKit

commit e926d83fdc1aea288a1e7c27e4e7d8a762b50296
Author: aalam <aalam at fedoraproject.org>
Date:   Sat Nov 7 16:03:22 2009 +0000

    Sending translation for Punjabi

diff --git a/po/pa.po b/po/pa.po
index fd67f61..41a0020 100644
--- a/po/pa.po
+++ b/po/pa.po
@@ -9,8 +9,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: packagekit.master.pa\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-09-24 21:45+0000\n"
-"PO-Revision-Date: 2009-09-25 07:01+0530\n"
+"POT-Creation-Date: 2009-11-07 09:14+0000\n"
+"PO-Revision-Date: 2009-11-07 18:53+0530\n"
 "Last-Translator: A S Alam <aalam at users.sf.net>\n"
 "Language-Team: Punjabi/Panjabi <punjabi-users at lists.sf.net>\n"
 "MIME-Version: 1.0\n"
@@ -136,8 +136,8 @@ 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:249 ../lib/packagekit-glib2/pk-task-text.c:105
-#: ../lib/packagekit-glib2/pk-task-text.c:172
+#: ../client/pk-console.c:249 ../lib/packagekit-glib2/pk-task-text.c:107
+#: ../lib/packagekit-glib2/pk-task-text.c:174
 #: ../src/pk-polkit-action-lookup.c:361
 msgid "Package"
 msgid_plural "Packages"
@@ -156,7 +156,7 @@ msgstr "ਬਰਤਰਫ਼"
 
 #. TRANSLATORS: details about the update, the vendor URLs
 #. TRANSLATORS: the vendor (e.g. vmware) that is providing the EULA
-#: ../client/pk-console.c:260 ../lib/packagekit-glib2/pk-task-text.c:175
+#: ../client/pk-console.c:260 ../lib/packagekit-glib2/pk-task-text.c:177
 msgid "Vendor"
 msgstr "ਵੇਂਡਰ"
 
@@ -197,7 +197,7 @@ msgstr "ਜਾਰੀ ਕੀਤਾ"
 
 #. TRANSLATORS: details about the update, date the update was updated
 #. TRANSLATORS: The action of the package, in past tense
-#: ../client/pk-console.c:294 ../lib/packagekit-glib2/pk-console-shared.c:498
+#: ../client/pk-console.c:294 ../lib/packagekit-glib2/pk-console-shared.c:502
 msgid "Updated"
 msgstr "ਅੱਪਡੇਟ ਕੀਤੇ"
 
@@ -263,8 +263,8 @@ msgstr "ਘਾਤਕ ਗਲਤੀ"
 
 #. TRANSLATORS: the transaction failed in a way we could not expect
 #: ../client/pk-console.c:484
-#: ../contrib/command-not-found/pk-command-not-found.c:422
-#: ../contrib/command-not-found/pk-command-not-found.c:563
+#: ../contrib/command-not-found/pk-command-not-found.c:430
+#: ../contrib/command-not-found/pk-command-not-found.c:597
 msgid "The transaction failed"
 msgstr "ਟਰਾਂਸੈਕਸ਼ਨ ਫੇਲ ਹੋਈ"
 
@@ -283,8 +283,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:561
@@ -345,141 +344,152 @@ msgstr "ਇਸ ਕਾਰਵਾਈ ਦੇ ਆਖਰੀ ਵਾਰ ਪੂਰੀ ਹ
 
 #. TRANSLATORS: command line argument, if we should show debugging information
 #. TRANSLATORS: if we should show debugging data
-#: ../client/pk-console.c:987 ../client/pk-generate-pack.c:223
-#: ../client/pk-monitor.c:276
-#: ../contrib/command-not-found/pk-command-not-found.c:616
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:511
+#: ../client/pk-console.c:989 ../client/pk-generate-pack.c:223
+#: ../client/pk-monitor.c:281
+#: ../contrib/command-not-found/pk-command-not-found.c:651
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:512
 #: ../contrib/device-rebind/pk-device-rebind.c:293 ../src/pk-main.c:211
 msgid "Show extra debugging information"
 msgstr "ਹੋਰ ਡੀਬੱਗ ਜਾਣਕਾਰੀ ਵੇਖੋ"
 
 #. TRANSLATORS: command line argument, just show the version string
-#: ../client/pk-console.c:990 ../client/pk-monitor.c:278
+#: ../client/pk-console.c:992 ../client/pk-monitor.c:283
 msgid "Show the program version and exit"
 msgstr "ਪਰੋਗਰਾਮ ਵਰਜਨ ਵੇਖੋ ਅਤੇ ਬੰਦ ਕਰੋ"
 
 #. TRANSLATORS: command line argument, use a filter to narrow down results
-#: ../client/pk-console.c:993
+#: ../client/pk-console.c:995
 msgid "Set the filter, e.g. installed"
 msgstr "ਫਿਲਟਰ ਸੈੱਟ ਕਰੋ, ਜਿਵੇਂ ਕਿ ਇੰਸਟਾਲ"
 
 #. TRANSLATORS: command line argument, work asynchronously
-#: ../client/pk-console.c:996
+#: ../client/pk-console.c:998
 msgid "Exit without waiting for actions to complete"
 msgstr "ਪੂਰੇ ਹੋਣ ਵਾਲੇ ਐਕਸ਼ਨ ਦੀ ਉਡੀਕ ਕੀਤੇ ਬਿਨਾਂ ਬੰਦ ਕਰੋ"
 
+#. command line argument, do we ask questions
+#: ../client/pk-console.c:1001
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:524
+msgid "Install the packages without asking for confirmation"
+msgstr "ਪੁਸ਼ਟੀ ਕੀਤੇ ਬਿਨਾਂ ਹੀ ਪੈਕੇਜ ਇੰਸਟਾਲ ਕਰੋ"
+
+#. TRANSLATORS: command line argument, this command is not a priority
+#: ../client/pk-console.c:1004
+msgid "Run the command using idle network bandwidth and also using less power"
+msgstr "ਕਮਾਂਡ ਨੂੰ ਵੇਹਲੀ ਨੈੱਟਵਰਕ ਬੈਂਡਵਿਦਥ ਦੌਰਾਨ ਚਲਾਓ ਅਤੇ ਘੱਟ ਊਰਜਾ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਵੀ"
+
 #. TRANSLATORS: we failed to contact the daemon
-#: ../client/pk-console.c:1022
+#: ../client/pk-console.c:1030
 msgid "Failed to contact PackageKit"
 msgstr "ਪੈਕੇਜਕਿੱਟ ਨਾਲ ਸੰਪਰਕ ਲਈ ਫੇਲ੍ਹ ਹੈ"
 
 #. TRANSLATORS: The user specified an incorrect filter
-#: ../client/pk-console.c:1074
+#: ../client/pk-console.c:1086
 msgid "The filter specified was invalid"
 msgstr "ਦਿੱਤਾ ਫਿਲਟਰ ਅਢੁੱਕਵਾਂ ਹੈ।"
 
 #. TRANSLATORS: a search type can be name, details, file, etc
-#: ../client/pk-console.c:1093
+#: ../client/pk-console.c:1105
 msgid "A search type is required, e.g. name"
 msgstr "ਖੋਜ ਕਿਸਮ ਚਾਹੀਦੀ ਹੈ, ਜਿਵੇਂ ਨਾਂ"
 
 #. TRANSLATORS: the user needs to provide a search term
-#: ../client/pk-console.c:1100 ../client/pk-console.c:1112
-#: ../client/pk-console.c:1124 ../client/pk-console.c:1136
+#: ../client/pk-console.c:1112 ../client/pk-console.c:1124
+#: ../client/pk-console.c:1136 ../client/pk-console.c:1148
 msgid "A search term is required"
 msgstr "ਖੋਜ ਸ਼ਬਦ ਦੀ ਲੋੜ ਹੈ"
 
 #. TRANSLATORS: the search type was provided, but invalid
-#: ../client/pk-console.c:1146
+#: ../client/pk-console.c:1158
 msgid "Invalid search type"
 msgstr "ਗਲਤ ਖੋਜ ਟਾਈਪ"
 
 #. TRANSLATORS: the user did not specify what they wanted to install
-#: ../client/pk-console.c:1152
+#: ../client/pk-console.c:1164
 msgid "A package name to install is required"
 msgstr "ਇੰਸਟਾਲ ਕਰਨ ਲਈ ਪੈਕੇਜ ਨਾਂ ਲਾਜ਼ਮੀ ਹੈ"
 
 #. TRANSLATORS: the user did not specify what they wanted to install
-#: ../client/pk-console.c:1161
+#: ../client/pk-console.c:1173
 msgid "A filename to install is required"
 msgstr "ਇੰਸਟਾਲ ਕਰਨ ਲਈ ਇੱਕ ਫਾਇਲ ਨਾਂ ਦੀ ਲੋੜ ਹੈ"
 
 #. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:1173
+#: ../client/pk-console.c:1185
 msgid "A type, key_id and package_id are required"
 msgstr "ਟਾਈਪ, key_id ਜਾਂ package_id ਦੇਣ ਦੀ ਲੋੜ ਹੈ"
 
 #. TRANSLATORS: the user did not specify what they wanted to remove
-#: ../client/pk-console.c:1184
+#: ../client/pk-console.c:1196
 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:1193
+#: ../client/pk-console.c:1205
 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:1200
+#: ../client/pk-console.c:1212
 msgid "Directory not found"
 msgstr "ਡਾਇਰੈਕਟਰੀ ਨਹੀਂ ਲੱਭੀ"
 
 #. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:1209
+#: ../client/pk-console.c:1221
 msgid "A licence identifier (eula-id) is required"
 msgstr "ਇੱਕ ਲਾਈਸੈਂਸ ਪਛਾਣਕਰਤਾ (eula-id) ਲਾਜ਼ਮੀ ਹੈ"
 
 #. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:1220
+#: ../client/pk-console.c:1232
 msgid "A transaction identifier (tid) is required"
 msgstr "ਟਰਾਂਸੈਕਸ਼ਨ ਪਛਾਣ (tid) ਲੋੜੀਦਾ ਹੈ"
 
 #. TRANSLATORS: The user did not specify a package name
-#: ../client/pk-console.c:1241
+#: ../client/pk-console.c:1253
 msgid "A package name to resolve is required"
 msgstr "ਹੱਲ ਕਰਨ ਲਈ ਪੈਕੇਜ ਨਾਂ ਲਾਜ਼ਮੀ ਹੈ"
 
 #. TRANSLATORS: The user did not specify a repository (software source) name
-#: ../client/pk-console.c:1252 ../client/pk-console.c:1263
+#: ../client/pk-console.c:1264 ../client/pk-console.c:1275
 msgid "A repository name is required"
 msgstr "ਰਿਪੋਜ਼ਟਰੀ ਨਾਂ ਲੋੜੀਦਾ ਹੈ"
 
 #. TRANSLATORS: The user didn't provide any data
-#: ../client/pk-console.c:1274
+#: ../client/pk-console.c:1286
 msgid "A repo name, parameter and value are required"
 msgstr "ਰੈਪੋ ਨਾਂ, ਪੈਰਾਮੀਟਰ ਅਤੇ ਮੁੱਲ ਲੋੜੀਦਾ ਹੈ"
 
 #. TRANSLATORS: The user didn't specify what action to use
-#: ../client/pk-console.c:1291
+#: ../client/pk-console.c:1303
 msgid "An action, e.g. 'update-system' is required"
 msgstr "ਕਾਰਵਾਈ, ਜਿਵੇਂ 'ਅੱਪਡੇਟ-ਸਿਸਟਮ' ਲੋੜੀਦਾ ਹੈ"
 
 #. TRANSLATORS: The user specified an invalid action
-#: ../client/pk-console.c:1298
+#: ../client/pk-console.c:1310
 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:1308 ../client/pk-console.c:1323
-#: ../client/pk-console.c:1332 ../client/pk-console.c:1352
-#: ../client/pk-console.c:1361 ../client/pk-generate-pack.c:287
+#: ../client/pk-console.c:1320 ../client/pk-console.c:1335
+#: ../client/pk-console.c:1344 ../client/pk-console.c:1364
+#: ../client/pk-console.c:1373 ../client/pk-generate-pack.c:287
 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:1341
+#: ../client/pk-console.c:1353
 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:1421
+#: ../client/pk-console.c:1433
 #, c-format
 msgid "Option '%s' is not supported"
 msgstr "ਚੋਣ '%s' ਸਹਾਇਕ ਨਹੀਂ ਹੈ"
 
 #. TRANSLATORS: Generic failure of what they asked to do
-#: ../client/pk-console.c:1431
+#: ../client/pk-console.c:1443
 msgid "Command failed"
 msgstr "ਕਮਾਂਡ ਫੇਲ੍ਹ ਹੈ"
 
@@ -591,12 +601,12 @@ msgstr "ਸਰਵਿਸ ਪੈਕ ਬਣਾਇਆ '%s'"
 msgid "Failed to create '%s': %s"
 msgstr "'%s' ਬਣਾਉਣ ਲਈ ਫੇਲ੍ਹ: %s"
 
-#: ../client/pk-monitor.c:206
+#: ../client/pk-monitor.c:211
 msgid "Failed to get daemon state"
 msgstr "ਡੈਮਨ ਹਾਲਤ ਪਤਾ ਕਰਨ ਲਈ ਫੇਲ੍ਹ ਹੈ।"
 
 #. TRANSLATORS: this is a program that monitors PackageKit
-#: ../client/pk-monitor.c:294
+#: ../client/pk-monitor.c:299
 msgid "PackageKit Monitor"
 msgstr "ਪੈਕੇਜਕਿੱਟ ਮਾਨੀਟਰ"
 
@@ -655,91 +665,96 @@ msgid "Installing..."
 msgstr "ਇੰਸਟਾਲ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ..."
 
 #. TRANSLATORS: downloading repo data so we can search
-#: ../contrib/command-not-found/pk-command-not-found.c:357
+#: ../contrib/command-not-found/pk-command-not-found.c:365
 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:361
+#: ../contrib/command-not-found/pk-command-not-found.c:369
 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:365
+#: ../contrib/command-not-found/pk-command-not-found.c:373
 msgid "Waiting for package manager lock."
 msgstr "ਪੈਕੇਜ ਮੈਨੇਜਰ ਲਾਕ ਦੀ ਉਡੀਕ ਕਰ ਰਿਹਾ ਹੈ।"
 
 #. TRANSLATORS: loading package cache so we can search
-#: ../contrib/command-not-found/pk-command-not-found.c:369
+#: ../contrib/command-not-found/pk-command-not-found.c:377
 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:413
+#: ../contrib/command-not-found/pk-command-not-found.c:421
 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:560
+msgid "Failed to launch:"
+msgstr "ਚਲਾਉਣ ਲਈ ਫੇਲ੍ਹ:"
+
 #. TRANSLATORS: we failed to install the package
-#: ../contrib/command-not-found/pk-command-not-found.c:554
+#: ../contrib/command-not-found/pk-command-not-found.c:588
 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:632
+#: ../contrib/command-not-found/pk-command-not-found.c:667
 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:660
+#: ../contrib/command-not-found/pk-command-not-found.c:697
 msgid "Command not found."
 msgstr "ਕਮਾਂਡ ਨਹੀਂ ਲੱਭੀ।"
 
 #. TRANSLATORS: tell the user what we think the command is
-#: ../contrib/command-not-found/pk-command-not-found.c:667
+#: ../contrib/command-not-found/pk-command-not-found.c:704
 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:676
+#: ../contrib/command-not-found/pk-command-not-found.c:714
 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:688
-#: ../contrib/command-not-found/pk-command-not-found.c:697
+#: ../contrib/command-not-found/pk-command-not-found.c:728
+#: ../contrib/command-not-found/pk-command-not-found.c:737
 msgid "Similar commands are:"
 msgstr "ਰਲਦੀਆਂ ਕਮਾਂਡਾਂ ਹਨ:"
 
 #. TRANSLATORS: ask the user to choose a file to run
-#: ../contrib/command-not-found/pk-command-not-found.c:704
+#: ../contrib/command-not-found/pk-command-not-found.c:744
 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:720
+#: ../contrib/command-not-found/pk-command-not-found.c:760
 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:725
+#: ../contrib/command-not-found/pk-command-not-found.c:765
 #, 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:743
+#: ../contrib/command-not-found/pk-command-not-found.c:789
 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:753
+#: ../contrib/command-not-found/pk-command-not-found.c:799
 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:762
+#: ../contrib/command-not-found/pk-command-not-found.c:808
 msgid "Please choose a package to install"
 msgstr "ਇੰਸਟਾਲ ਕਰਨ ਲਈ ਪੈਕੇਜ ਚੁਣੋ ਜੀ"
 
@@ -755,183 +770,183 @@ msgid "Failed to find the package %s, or already installed: %s"
 msgstr "ਪੈਕੇਜ %s ਲੱਭਣ ਵਿੱਚ ਫੇਲ, ਜਾਂ ਪਹਿਲਾਂ ਹੀ ਇੰਸਟਾਲ ਹੈ: %s"
 
 #. command line argument, simulate what would be done, but don't actually do it
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:514
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:515
 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
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:517
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:518
 msgid "Do not install dependencies of the core packages"
 msgstr "ਕੋਰ ਪੈਕੇਜਾਂ ਦੀ ਨਿਰਭਰਤਾ ਇੰਸਟਾਲ ਨਾ ਕਰੋ"
 
 #. command line argument, do we operate quietly
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:520
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:521
 msgid "Do not display information or progress"
 msgstr "ਜਾਣਕਾਰੀ ਜਾਂ ਤਰੱਕੀ ਨਾ ਵੇਖੋ"
 
 #. TRANSLATORS: tool that gets called when the command is not found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:535
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:539
 msgid "PackageKit Debuginfo Installer"
 msgstr "ਪੈਕੇਜਕਿੱਟ Debuginfo ਇੰਸਟਾਲਰ"
 
 #. TRANSLATORS: the use needs to specify a list of package names on the command line
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:550
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:554
 #, c-format
 msgid "ERROR: Specify package names to install."
 msgstr "ਗਲਤੀ: ਇੰਸਟਾਲ ਕਰਨ ਲਈ ਪੈਕੇਜ ਨਾਂ ਦਿਓ।"
 
 #. TRANSLATORS: we are getting the list of repositories
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:579
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:590
 #, c-format
 msgid "Getting sources list"
 msgstr "ਸਰੋਤ ਲਿਸਟ ਲਈ ਜਾ ਰਹੀ ਹੈ"
 
 #. TRANSLATORS: operation was not successful
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:589
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:664
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:748
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:792
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:859
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:903
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:600
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:675
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:759
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:803
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:870
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:914
 msgid "FAILED."
 msgstr "ਫੇਲ੍ਹ ਹੋਇਆ।"
 
 #. TRANSLATORS: all completed 100%
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:604
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:644
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:679
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:763
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:807
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:874
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:918
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:615
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:655
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:690
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:774
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:818
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:885
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:929
 #, c-format
 msgid "OK."
 msgstr "ਠੀਕ ਹੈ।"
 
 #. TRANSLATORS: tell the user what we found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:607
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:618
 #, c-format
 msgid "Found %i enabled and %i disabled sources."
 msgstr "%i ਯੋਗ ਅਤੇ %i ਅਯੋਗ ਸਰੋਤ ਲੱਭੇ ਹਨ।"
 
 #. TRANSLATORS: we're finding repositories that match out pattern
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:614
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:625
 #, c-format
 msgid "Finding debugging sources"
 msgstr "ਡੀਬੱਗਿੰਗ ਸਰੋਤ ਲੱਭ ਰਿਹਾ ਹੈ"
 
 #. TRANSLATORS: tell the user what we found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:647
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:658
 #, c-format
 msgid "Found %i disabled debuginfo repos."
 msgstr "%i ਅਯੋਗ debuginfo ਰਿਪੋ ਲੱਭੀਆਂ ਹਨ।"
 
 #. TRANSLATORS: we're now enabling all the debug sources we found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:654
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:665
 #, c-format
 msgid "Enabling debugging sources"
 msgstr "ਡੀਬੱਗਿੰਗ ਸਰੋਤ ਯੋਗ ਕਰ ਰਿਹਾ ਹੈ"
 
 #. TRANSLATORS: tell the user how many we enabled
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:682
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:693
 #, c-format
 msgid "Enabled %i debugging sources."
 msgstr "%i ਡੀਬੱਗਿੰਗ ਸਰੋਤ ਯੋਗ ਕੀਤਾ ਹੈ।"
 
 #. TRANSLATORS: we're now finding packages that match in all the repos
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:689
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:700
 #, c-format
 msgid "Finding debugging packages"
 msgstr "ਡੀਬੱਗਿੰਗ ਪੈਕੇਜ ਲੱਭਿਆ ਜਾ ਰਿਹਾ ਹੈ।"
 
 #. TRANSLATORS: we couldn't find the package name, non-fatal
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:701
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:712
 #, c-format
 msgid "Failed to find the package %s: %s"
 msgstr "%s ਪੈਕੇਜ ਖੋਜਣ ਲਈ ਫੇਲ੍ਹ ਹੈ: %s"
 
 #. TRANSLATORS: we couldn't find the debuginfo package name, non-fatal
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:724
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:735
 #, c-format
 msgid "Failed to find the debuginfo package %s: %s"
 msgstr "ਡੀਬੱਗ ਪੈਕੇਜ %s ਖੋਜਣ ਲਈ ਫੇਲ੍ਹ ਹੈ: %s"
 
 #. TRANSLATORS: no debuginfo packages could be found to be installed
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:752
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:763
 #, c-format
 msgid "Found no packages to install."
 msgstr "ਇੰਸਟਾਲ ਕਰਨ ਲਈ ਕੋਈ ਨਵਾਂ ਪੈਕੇਜ ਨਹੀਂ ਲੱਭਿਆ।"
 
 #. TRANSLATORS: tell the user we found some packages, and then list them
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:766
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:777
 #, c-format
 msgid "Found %i packages:"
 msgstr "%i ਪੈਕੇਜ ਲੱਭਿਆ:"
 
 #. TRANSLATORS: tell the user we are searching for deps
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:782
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:793
 #, c-format
 msgid "Finding packages that depend on these packages"
 msgstr "ਪੈਕੇਜ ਲੱਭ ਰਿਹਾ ਜੋ ਇਹਨਾਂ ਪੈਕੇਜਾਂ ਤੇ ਨਿਰਭਰ ਕਰਦੇ ਹਨ"
 
 #. TRANSLATORS: could not install, detailed error follows
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:795
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:806
 #, c-format
 msgid "Could not find dependant packages: %s"
 msgstr "ਨਿਰਭਰ ਪੈਕੇਜ ਖੋਜ ਨਹੀਂ ਸਕਿਆ: %s"
 
 #. TRANSLATORS: tell the user we found some more packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:811
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:822
 #, c-format
 msgid "Found %i extra packages."
 msgstr "%i ਵਾਧੂ ਪੈਕੇਜ ਲੱਭੇ ਹਨ।"
 
 #. TRANSLATORS: tell the user we found some more packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:815
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:826
 #, c-format
 msgid "No extra packages required."
 msgstr "ਕੋਈ ਵਾਧੂ ਪੈਕੇਜ ਨਹੀਂ ਲੋੜੀਂਦਾ ਹੈ।"
 
 #. TRANSLATORS: tell the user we found some packages (and deps), and then list them
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:824
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:835
 #, c-format
 msgid "Found %i packages to install:"
 msgstr "ਇੰਸਟਾਲ ਕਰਨ ਲਈ %i ਪੈਕੇਜ ਲੱਭਿਆ ਹੈ:"
 
 #. TRANSLATORS: simulate mode is a testing mode where we quit before the action
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:837
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:848
 #, c-format
 msgid "Not installing packages in simulate mode"
 msgstr "ਸਿਮੂਲੇਟ ਮੋਡ ਵਿੱਚ ਪੈਕੇਜ ਇੰਸਟਾਲ ਨਹੀਂ ਕੀਤੇ ਜਾ ਰਹੇ ਹਨ"
 
 #. TRANSLATORS: we are now installing the debuginfo packages we found earlier
 #. TRANSLATORS: transaction state, installing packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:849
-#: ../lib/packagekit-glib2/pk-console-shared.c:270
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:860
+#: ../lib/packagekit-glib2/pk-console-shared.c:274
 #, c-format
 msgid "Installing packages"
 msgstr "ਪੈਕੇਜ ਇੰਸਟਾਲ ਕੀਤੇ ਜਾ ਰਹੇ ਹਨ"
 
 #. TRANSLATORS: could not install, detailed error follows
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:862
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:873
 #, c-format
 msgid "Could not install packages: %s"
 msgstr "ਪੈਕੇਜ ਇੰਸਟਾਲ ਨਹੀਂ ਕਰ ਸਕਿਆ: %s"
 
 #. TRANSLATORS: we are now disabling all debuginfo repos we previously enabled
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:894
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:905
 #, c-format
 msgid "Disabling sources previously enabled"
 msgstr "ਪਹਿਲਾਂ ਯੋਗ ਕੀਤੇ ਸਰੋਤ ਅਯੋਗ ਕਰ ਰਿਹਾ"
 
 #. TRANSLATORS: no debuginfo packages could be found to be installed, detailed error follows
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:906
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:917
 #, c-format
 msgid "Could not disable the debugging sources: %s"
 msgstr "ਡੀਬੱਗਿੰਗ ਸਰੋਤ ਨੂੰ ਅਯੋਗ ਨਹੀਂ ਕਰ ਸਕਿਆ: %s"
 
 #. TRANSLATORS: we disabled all the debugging repos that we enabled before
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:921
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:932
 #, c-format
 msgid "Disabled %i debugging sources."
 msgstr "%i ਡੀਬੱਗਿੰਗ ਸਰੋਤ ਅਯੋਗ ਕੀਤੇ ਹਨ।"
@@ -1034,604 +1049,604 @@ msgstr "ਪੈਕੇਜਕਿੱਟ ਪੈਕੇਜ ਲਿਸਟ"
 msgid "PackageKit Service Pack"
 msgstr "ਪੈਕੇਜਕਿੱਟ ਸਰਵਿਸ ਪੈਕ"
 
-#: ../lib/packagekit-glib2/pk-console-shared.c:55
+#: ../lib/packagekit-glib2/pk-console-shared.c:59
 #, c-format
 msgid "Please enter a number from 1 to %i: "
 msgstr "੧ ਤੋਂ %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:177
+#: ../lib/packagekit-glib2/pk-console-shared.c:181
 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:186
+#: ../lib/packagekit-glib2/pk-console-shared.c:190
 msgid "Please choose the correct package: "
 msgstr "ਠੀਕ ਪੈਕੇਜ ਚੁਣੋ ਜੀ:"
 
 #. TRANSLATORS: This is when the transaction status is not known
-#: ../lib/packagekit-glib2/pk-console-shared.c:238
+#: ../lib/packagekit-glib2/pk-console-shared.c:242
 msgid "Unknown state"
 msgstr "ਅਣਜਾਣ ਹਾਲਤ"
 
 #. TRANSLATORS: transaction state, the daemon is in the process of starting
-#: ../lib/packagekit-glib2/pk-console-shared.c:242
+#: ../lib/packagekit-glib2/pk-console-shared.c:246
 msgid "Starting"
 msgstr "ਸ਼ੁਰੂ ਹੋ ਰਿਹਾ ਹੈ"
 
 #. TRANSLATORS: transaction state, the transaction is waiting for another to complete
-#: ../lib/packagekit-glib2/pk-console-shared.c:246
+#: ../lib/packagekit-glib2/pk-console-shared.c:250
 msgid "Waiting in queue"
 msgstr "ਕਤਾਰ ਵਿੱਚ ਉਡੀਕ ਜਾਰੀ"
 
 #. TRANSLATORS: transaction state, just started
-#: ../lib/packagekit-glib2/pk-console-shared.c:250
+#: ../lib/packagekit-glib2/pk-console-shared.c:254
 msgid "Running"
 msgstr "ਚੱਲ ਰਿਹਾ ਹੈ"
 
 #. TRANSLATORS: transaction state, is querying data
-#: ../lib/packagekit-glib2/pk-console-shared.c:254
+#: ../lib/packagekit-glib2/pk-console-shared.c:258
 msgid "Querying"
 msgstr "ਕਿਊਰੀ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ"
 
 #. TRANSLATORS: transaction state, getting data from a server
-#: ../lib/packagekit-glib2/pk-console-shared.c:258
+#: ../lib/packagekit-glib2/pk-console-shared.c:262
 msgid "Getting information"
 msgstr "ਜਾਣਕਾਰੀ ਲਈ ਜਾ ਰਹੀ ਹੈ"
 
 #. TRANSLATORS: transaction state, removing packages
-#: ../lib/packagekit-glib2/pk-console-shared.c:262
+#: ../lib/packagekit-glib2/pk-console-shared.c:266
 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:266
-#: ../lib/packagekit-glib2/pk-console-shared.c:644
+#: ../lib/packagekit-glib2/pk-console-shared.c:270
+#: ../lib/packagekit-glib2/pk-console-shared.c:648
 msgid "Downloading packages"
 msgstr "ਪੈਕੇਜ ਡਾਊਨਲੋਡ ਕੀਤੇ ਜਾ ਰਹੇ ਹਨ"
 
 #. TRANSLATORS: transaction state, refreshing internal lists
-#: ../lib/packagekit-glib2/pk-console-shared.c:274
+#: ../lib/packagekit-glib2/pk-console-shared.c:278
 msgid "Refreshing software list"
 msgstr "ਸਾਫਟਵੇਅਰ ਲਿਸਟ ਤਾਜ਼ਾ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ"
 
 #. TRANSLATORS: transaction state, installing updates
-#: ../lib/packagekit-glib2/pk-console-shared.c:278
+#: ../lib/packagekit-glib2/pk-console-shared.c:282
 msgid "Installing updates"
 msgstr "ਅੱਪਡੇਟ ਇੰਸਟਾਲ ਕੀਤੇ ਜਾ ਰਹੇ ਹਨ"
 
 #. TRANSLATORS: transaction state, removing old packages, and cleaning config files
-#: ../lib/packagekit-glib2/pk-console-shared.c:282
+#: ../lib/packagekit-glib2/pk-console-shared.c:286
 msgid "Cleaning up packages"
 msgstr "ਪੈਕੇਜ ਸਾਫ਼ ਕੀਤੇ ਜਾ ਰਹੇ ਹਨ"
 
 #. TRANSLATORS: transaction state, obsoleting old packages
-#: ../lib/packagekit-glib2/pk-console-shared.c:286
+#: ../lib/packagekit-glib2/pk-console-shared.c:290
 msgid "Obsoleting packages"
 msgstr "ਪੈਕੇਜ ਬਰਤਰਫ਼ ਕੀਤੇ ਜਾ ਰਹੇ ਹਨ"
 
 #. TRANSLATORS: transaction state, checking the transaction before we do it
-#: ../lib/packagekit-glib2/pk-console-shared.c:290
+#: ../lib/packagekit-glib2/pk-console-shared.c:294
 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:294
+#: ../lib/packagekit-glib2/pk-console-shared.c:298
 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:298
-#: ../lib/packagekit-glib2/pk-console-shared.c:604
+#: ../lib/packagekit-glib2/pk-console-shared.c:302
+#: ../lib/packagekit-glib2/pk-console-shared.c:608
 msgid "Rolling back"
 msgstr "ਰੋਲ ਬੈਕ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"
 
 #. TRANSLATORS: transaction state, when we're doing a test transaction
-#: ../lib/packagekit-glib2/pk-console-shared.c:302
+#: ../lib/packagekit-glib2/pk-console-shared.c:306
 msgid "Testing changes"
 msgstr "ਤਬਦੀਲੀਆਂ ਦੀ ਜਾਂਚ ਹੋ ਰਹੀ ਹੈ"
 
 #. TRANSLATORS: transaction state, when we're writing to the system package database
-#: ../lib/packagekit-glib2/pk-console-shared.c:306
+#: ../lib/packagekit-glib2/pk-console-shared.c:310
 msgid "Committing changes"
 msgstr "ਤਬਦੀਲੀਆਂ ਕਮਿੱਟ ਕਰ ਰਿਹਾ ਹੈ"
 
 #. TRANSLATORS: transaction state, requesting data from a server
-#: ../lib/packagekit-glib2/pk-console-shared.c:310
+#: ../lib/packagekit-glib2/pk-console-shared.c:314
 msgid "Requesting data"
 msgstr "ਡਾਟਾ ਮੰਗਿਆ ਜਾ ਰਿਹਾ ਹੈ"
 
 #. TRANSLATORS: transaction state, all done!
-#: ../lib/packagekit-glib2/pk-console-shared.c:314
+#: ../lib/packagekit-glib2/pk-console-shared.c:318
 msgid "Finished"
 msgstr "ਮੁਕੰਮਲ ਕਰ ਰਿਹਾ ਹੈ"
 
 #. TRANSLATORS: transaction state, in the process of cancelling
-#: ../lib/packagekit-glib2/pk-console-shared.c:318
+#: ../lib/packagekit-glib2/pk-console-shared.c:322
 msgid "Cancelling"
 msgstr "ਰੱਦ ਕਰ ਰਿਹਾ ਹੈ"
 
 #. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:322
+#: ../lib/packagekit-glib2/pk-console-shared.c:326
 msgid "Downloading repository information"
 msgstr "ਰਿਪੋਜ਼ਟਰੀ ਜਾਣਕਾਰੀ ਡਾਊਨਲੋਡ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ"
 
 #. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:326
+#: ../lib/packagekit-glib2/pk-console-shared.c:330
 msgid "Downloading list of packages"
 msgstr "ਪੈਕੇਜ ਲਿਸਟ ਡਾਊਨਲੋਡ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ"
 
 #. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:330
+#: ../lib/packagekit-glib2/pk-console-shared.c:334
 msgid "Downloading file lists"
 msgstr "ਫਾਇਲ ਲਿਸਟਾਂ ਡਾਊਨਲੋਡ ਕੀਤੀਆਂ ਜਾ ਰਹੀਆਂ ਹਨ"
 
 #. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:334
+#: ../lib/packagekit-glib2/pk-console-shared.c:338
 msgid "Downloading lists of changes"
 msgstr "ਬਦਲਾਅ ਲਈ ਲਿਸਟ ਡਾਊਨਲੋਡ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ"
 
 #. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:338
+#: ../lib/packagekit-glib2/pk-console-shared.c:342
 msgid "Downloading groups"
 msgstr "ਗਰੁੱਡ ਡਾਊਨਲੋਡ ਕੀਤੇ ਜਾ ਰਹੇ ਹਨ"
 
 #. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:342
+#: ../lib/packagekit-glib2/pk-console-shared.c:346
 msgid "Downloading update information"
 msgstr "ਅੱਪਡੇਟ ਜਾਣਕਾਰੀ ਡਾਊਨਲੋਡ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ"
 
 #. TRANSLATORS: transaction state, repackaging delta files
-#: ../lib/packagekit-glib2/pk-console-shared.c:346
+#: ../lib/packagekit-glib2/pk-console-shared.c:350
 msgid "Repackaging files"
 msgstr "ਫਾਇਲਾਂ ਮੁੜ-ਪੈਕ ਕੀਤੀਆਂ ਜਾ ਰਹੀਆਂ ਹਨ"
 
 #. TRANSLATORS: transaction state, loading databases
-#: ../lib/packagekit-glib2/pk-console-shared.c:350
+#: ../lib/packagekit-glib2/pk-console-shared.c:354
 msgid "Loading cache"
 msgstr "ਕੈਸ ਲੋਡ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ"
 
 #. TRANSLATORS: transaction state, scanning for running processes
-#: ../lib/packagekit-glib2/pk-console-shared.c:354
+#: ../lib/packagekit-glib2/pk-console-shared.c:358
 msgid "Scanning applications"
 msgstr "ਐਪਲੀਕੇਸ਼ਨਾਂ ਸਕੈਨ ਕੀਤੀਆਂ ਜਾ ਰਹੀਆਂ ਹਨ"
 
 #. TRANSLATORS: transaction state, generating a list of packages installed on the system
-#: ../lib/packagekit-glib2/pk-console-shared.c:358
+#: ../lib/packagekit-glib2/pk-console-shared.c:362
 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:362
+#: ../lib/packagekit-glib2/pk-console-shared.c:366
 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:366
+#: ../lib/packagekit-glib2/pk-console-shared.c:370
 msgid "Waiting for authentication"
 msgstr "ਪ੍ਰਮਾਣਿਕਤਾ ਲਈ ਉਡੀਕ ਜਾਰੀ"
 
 #. TRANSLATORS: transaction state, we are updating the list of processes
-#: ../lib/packagekit-glib2/pk-console-shared.c:370
+#: ../lib/packagekit-glib2/pk-console-shared.c:374
 msgid "Updating running applications"
 msgstr "ਚੱਲਦੀ ਐਪਲੀਕੇਸ਼ਨ ਅੱਪਡੇਟ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ"
 
 #. TRANSLATORS: transaction state, we are checking executable files currently in use
-#: ../lib/packagekit-glib2/pk-console-shared.c:374
+#: ../lib/packagekit-glib2/pk-console-shared.c:378
 msgid "Checking applications in use"
 msgstr "ਵਰਤੋਂ ਅਧੀਨ ਐਪਲੀਕੇਸ਼ਨਾਂ ਦੀ ਜਾਂਚ ਹੋ ਰਹੀ ਹੈ"
 
 #. TRANSLATORS: transaction state, we are checking for libraries currently in use
-#: ../lib/packagekit-glib2/pk-console-shared.c:378
+#: ../lib/packagekit-glib2/pk-console-shared.c:382
 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:382
+#: ../lib/packagekit-glib2/pk-console-shared.c:386
 msgid "Copying files"
 msgstr "ਫਾਇਲਾਂ ਕਾਪੀ ਕੀਤੀਆਂ ਜਾ ਰਹੀਆਂ ਹਨ"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:400
+#: ../lib/packagekit-glib2/pk-console-shared.c:404
 msgid "Trivial"
 msgstr "ਥੋੜਾ"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:404
+#: ../lib/packagekit-glib2/pk-console-shared.c:408
 msgid "Normal"
 msgstr "ਸਧਾਰਨ"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:408
+#: ../lib/packagekit-glib2/pk-console-shared.c:412
 msgid "Important"
 msgstr "ਜ਼ਰੂਰੀ"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:412
+#: ../lib/packagekit-glib2/pk-console-shared.c:416
 msgid "Security"
 msgstr "ਸੁਰੱਖਿਆ"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:416
+#: ../lib/packagekit-glib2/pk-console-shared.c:420
 msgid "Bug fix "
 msgstr "ਬੱਗ ਫਿਕਸ "
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:420
+#: ../lib/packagekit-glib2/pk-console-shared.c:424
 msgid "Enhancement"
 msgstr "ਸੋਧ"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:424
+#: ../lib/packagekit-glib2/pk-console-shared.c:428
 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:429
-#: ../lib/packagekit-glib2/pk-console-shared.c:502
+#: ../lib/packagekit-glib2/pk-console-shared.c:433
+#: ../lib/packagekit-glib2/pk-console-shared.c:506
 msgid "Installed"
 msgstr "ਇੰਸਟਾਲ ਕੀਤੇ"
 
 #. TRANSLATORS: The state of a package, i.e. not installed
-#: ../lib/packagekit-glib2/pk-console-shared.c:434
+#: ../lib/packagekit-glib2/pk-console-shared.c:438
 msgid "Available"
 msgstr "ਉਪਲੱਬਧ"
 
 #. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:452
+#: ../lib/packagekit-glib2/pk-console-shared.c:456
 msgid "Downloading"
 msgstr "ਡਾਊਨਲੋਡ ਜਾਰੀ"
 
 #. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:456
+#: ../lib/packagekit-glib2/pk-console-shared.c:460
 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:460
-#: ../lib/packagekit-glib2/pk-console-shared.c:580
+#: ../lib/packagekit-glib2/pk-console-shared.c:464
+#: ../lib/packagekit-glib2/pk-console-shared.c:584
 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:464
-#: ../lib/packagekit-glib2/pk-console-shared.c:576
+#: ../lib/packagekit-glib2/pk-console-shared.c:468
+#: ../lib/packagekit-glib2/pk-console-shared.c:580
 msgid "Removing"
 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:472
 msgid "Cleaning up"
 msgstr "ਸਾਫ਼ ਕਰਨਾ ਜਾਰੀ"
 
 #. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:472
+#: ../lib/packagekit-glib2/pk-console-shared.c:476
 msgid "Obsoleting"
 msgstr "ਬਰਤਰ਼ਫ ਜਾਰੀ"
 
 #. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:476
+#: ../lib/packagekit-glib2/pk-console-shared.c:480
 msgid "Reinstalling"
 msgstr "ਮੁੜ-ਇੰਸਟਾਲ ਕਰਨਾ ਜਾਰੀ"
 
 #. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:494
+#: ../lib/packagekit-glib2/pk-console-shared.c:498
 msgid "Downloaded"
 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:510
 msgid "Removed"
 msgstr "ਹਟਾਏ ਗਏ ਹਨ"
 
 #. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:510
+#: ../lib/packagekit-glib2/pk-console-shared.c:514
 msgid "Cleaned up"
 msgstr "ਸਾਫ਼ ਕੀਤੇ"
 
 #. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:514
+#: ../lib/packagekit-glib2/pk-console-shared.c:518
 msgid "Obsoleted"
 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:522
 msgid "Reinstalled"
 msgstr "ਮੁੜ-ਇੰਸਟਾਲ ਕੀਤੇ"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:536
+#: ../lib/packagekit-glib2/pk-console-shared.c:540
 msgid "Unknown role type"
 msgstr "ਅਣਜਾਣ ਰੋਲ ਕਿਸਮ"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:540
+#: ../lib/packagekit-glib2/pk-console-shared.c:544
 msgid "Getting dependencies"
 msgstr "ਨਿਰਭਰਤਾ ਲੈ ਰਿਹਾ ਹੈ"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:544
+#: ../lib/packagekit-glib2/pk-console-shared.c:548
 msgid "Getting update details"
 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:552
 msgid "Getting details"
 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:556
 msgid "Getting requires"
 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:560
 msgid "Getting updates"
 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:564
 msgid "Searching by 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:568
 msgid "Searching by file"
 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:572
 msgid "Searching groups"
 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:576
 msgid "Searching by name"
 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:588
 msgid "Installing files"
 msgstr "ਫਾਇਲਾਂ ਇੰਸਟਾਲ ਕੀਤੀਆਂ ਜਾ ਰਹੀਆਂ ਹਨ"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:588
+#: ../lib/packagekit-glib2/pk-console-shared.c:592
 msgid "Refreshing cache"
 msgstr "ਕੈਸ਼ ਮੁੜ-ਤਾਜ਼ਾ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:592
+#: ../lib/packagekit-glib2/pk-console-shared.c:596
 msgid "Updating packages"
 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:600
 msgid "Updating system"
 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:604
 msgid "Canceling"
 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:612
 msgid "Getting repositories"
 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:616
 msgid "Enabling repository"
 msgstr "ਰਿਪੋਜ਼ਟਰੀ ਚਾਲੂ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:616
+#: ../lib/packagekit-glib2/pk-console-shared.c:620
 msgid "Setting data"
 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:624
 msgid "Resolving"
 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:628
 msgid "Getting file list"
 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:632
 msgid "Getting provides"
 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:636
 msgid "Installing signature"
 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:640
 msgid "Getting packages"
 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:644
 msgid "Accepting EULA"
 msgstr "EULA ਮਨਜ਼ੂਰ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:648
+#: ../lib/packagekit-glib2/pk-console-shared.c:652
 msgid "Getting upgrades"
 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:656
 msgid "Getting categories"
 msgstr "ਕੈਟਾਗਰੀਆਂ ਲਈਆਂ ਜਾ ਰਹੀਆਂ ਹਨ"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:656
+#: ../lib/packagekit-glib2/pk-console-shared.c:660
 msgid "Getting transactions"
 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:664
+#: ../lib/packagekit-glib2/pk-console-shared.c:668
 msgid "Simulating install"
 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:672
 msgid "Simulating remove"
 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
 msgid "Simulating update"
 msgstr "ਅੱਪਡੇਟ ਦੀ ਨਕਲ ਜਾਰੀ"
 
 #. TRANSLATORS: ask the user if they are comfortable installing insecure packages
-#: ../lib/packagekit-glib2/pk-task-text.c:64
+#: ../lib/packagekit-glib2/pk-task-text.c:66
 msgid "Do you want to allow installing of unsigned software?"
 msgstr "ਕੀ ਤੁਸੀਂ ਨਾ-ਸਾਈਨ ਕੀਤੇ ਸਾਫਟਵੇਅਰ ਇੰਸਟਾਲ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?"
 
 #. TRANSLATORS: tell the user we've not done anything
-#: ../lib/packagekit-glib2/pk-task-text.c:69
+#: ../lib/packagekit-glib2/pk-task-text.c:71
 msgid "The unsigned software will not be installed."
 msgstr "ਨਾ-ਸਾਈਨ ਕੀਤੇ ਸਾਫਟਵੇਅਰ ਇੰਸਟਾਲ ਨਹੀਂ ਕੀਤਾ ਜਾਣਗੇ।"
 
 #. TRANSLATORS: the package repository is signed by a key that is not recognised
-#: ../lib/packagekit-glib2/pk-task-text.c:102
+#: ../lib/packagekit-glib2/pk-task-text.c:104
 msgid "Software source signature required"
 msgstr "ਸਾਫਟਵੇਅਰ ਸਰੋਤ ਦਸਤਖਤ ਲੋੜੀਂਦੇ"
 
 #. TRANSLATORS: the package repository name
-#: ../lib/packagekit-glib2/pk-task-text.c:108
+#: ../lib/packagekit-glib2/pk-task-text.c:110
 msgid "Software source name"
 msgstr "ਸਾਫਟਵੇਅਰ ਸਰੋਤ ਨਾਂ"
 
 #. TRANSLATORS: the key URL
-#: ../lib/packagekit-glib2/pk-task-text.c:111
+#: ../lib/packagekit-glib2/pk-task-text.c:113
 msgid "Key URL"
 msgstr "ਕੁੰਜੀ URL"
 
 #. TRANSLATORS: the username of the key
-#: ../lib/packagekit-glib2/pk-task-text.c:114
+#: ../lib/packagekit-glib2/pk-task-text.c:116
 msgid "Key user"
 msgstr "ਕੁੰਜੀ ਯੂਜ਼ਰ"
 
 #. TRANSLATORS: the key ID, usually a few hex digits
-#: ../lib/packagekit-glib2/pk-task-text.c:117
+#: ../lib/packagekit-glib2/pk-task-text.c:119
 msgid "Key ID"
 msgstr "ਕੁੰਜੀ ID"
 
 #. TRANSLATORS: the key fingerprint, again, yet more hex
-#: ../lib/packagekit-glib2/pk-task-text.c:120
+#: ../lib/packagekit-glib2/pk-task-text.c:122
 msgid "Key fingerprint"
 msgstr "ਕੁੰਜੀ ਫਿੰਗਰਪਰਿੰਟ"
 
 #. TRANSLATORS: the timestamp (a bit like a machine readable time)
-#: ../lib/packagekit-glib2/pk-task-text.c:123
+#: ../lib/packagekit-glib2/pk-task-text.c:125
 msgid "Key Timestamp"
 msgstr "ਕੁੰਜੀ ਟਾਈਮਸਟੈਂਪ"
 
 #. TRANSLATORS: ask the user if they want to import
-#: ../lib/packagekit-glib2/pk-task-text.c:129
+#: ../lib/packagekit-glib2/pk-task-text.c:131
 msgid "Do you accept this signature?"
 msgstr "ਕੀ ਤੁਸੀਂ ਇਹ ਦਸਤਖਤ ਮਨਜ਼ੂਰ ਕਰਦੇ ਹੋ?"
 
 #. TRANSLATORS: tell the user we've not done anything
-#: ../lib/packagekit-glib2/pk-task-text.c:134
+#: ../lib/packagekit-glib2/pk-task-text.c:136
 msgid "The signature was not accepted."
 msgstr "ਦਸਤਖਤ ਮਨਜ਼ੂਰ ਨਹੀਂ ਸਨ।"
 
 #. TRANSLATORS: this is another name for a software licence that has to be read before installing
-#: ../lib/packagekit-glib2/pk-task-text.c:169
+#: ../lib/packagekit-glib2/pk-task-text.c:171
 msgid "End user licence agreement required"
 msgstr "ਅੰਤਮ ਯੂਜ਼ਰ ਲਾਈਸੈਂਸ ਇਕਰਾਰਨਾਮਾ ਲੋੜੀਂਦਾ"
 
 #. TRANSLATORS: the EULA text itself (long and boring)
-#: ../lib/packagekit-glib2/pk-task-text.c:178
+#: ../lib/packagekit-glib2/pk-task-text.c:180
 msgid "Agreement"
 msgstr "ਇਕਰਾਰਨਾਮਾ"
 
 #. TRANSLATORS: ask the user if they've read and accepted the EULA
-#: ../lib/packagekit-glib2/pk-task-text.c:184
+#: ../lib/packagekit-glib2/pk-task-text.c:186
 msgid "Do you accept this agreement?"
 msgstr "ਕੀ ਤੁਸੀਂ ਇਹ ਇਕਰਾਰਨਾਮਾ ਮਨਜ਼ੂਰ ਕਰਦੇ ਹੋ?"
 
 #. TRANSLATORS: tell the user we've not done anything
-#: ../lib/packagekit-glib2/pk-task-text.c:189
+#: ../lib/packagekit-glib2/pk-task-text.c:191
 msgid "The agreement was not accepted."
 msgstr "ਇਕਰਾਰਨਾਮਾ ਮਨਜ਼ੂਰ ਨਹੀਂ ਕੀਤਾ ਸੀ।"
 
 #. TRANSLATORS: the user needs to change media inserted into the computer
-#: ../lib/packagekit-glib2/pk-task-text.c:219
+#: ../lib/packagekit-glib2/pk-task-text.c:221
 msgid "Media change required"
 msgstr "ਮੀਡਿਆ ਬਦਲਣ ਦੀ ਲੋੜ ਹੈ"
 
 #. TRANSLATORS: the type, e.g. DVD, CD, etc
-#: ../lib/packagekit-glib2/pk-task-text.c:222
+#: ../lib/packagekit-glib2/pk-task-text.c:224
 msgid "Media type"
 msgstr "ਮੀਡਿਆ ਕਿਸਮ"
 
 #. TRANSLATORS: the media label, usually like 'disk-1of3'
-#: ../lib/packagekit-glib2/pk-task-text.c:225
+#: ../lib/packagekit-glib2/pk-task-text.c:227
 msgid "Media label"
 msgstr "ਮੀਡਿਆ ਲੇਬਲ"
 
 #. TRANSLATORS: the media description, usually like 'Fedora 12 disk 5'
-#: ../lib/packagekit-glib2/pk-task-text.c:228
+#: ../lib/packagekit-glib2/pk-task-text.c:230
 msgid "Text"
 msgstr "ਟੈਕਸਟ"
 
 #. TRANSLATORS: ask the user to insert the media
-#: ../lib/packagekit-glib2/pk-task-text.c:232
+#: ../lib/packagekit-glib2/pk-task-text.c:234
 msgid "Please insert the correct media"
 msgstr "ਠੀਕ ਮੀਡਿਆ ਚੁਣੋ ਜੀ"
 
 #. TRANSLATORS: tell the user we've not done anything as they are lazy
-#: ../lib/packagekit-glib2/pk-task-text.c:237
+#: ../lib/packagekit-glib2/pk-task-text.c:239
 msgid "The correct media was not inserted."
 msgstr "ਠੀਕ ਮੀਡਿਆ ਨਹੀਂ ਪਾਇਆ।"
 
 #. TRANSLATORS: When processing, we might have to remove other dependencies
-#: ../lib/packagekit-glib2/pk-task-text.c:252
+#: ../lib/packagekit-glib2/pk-task-text.c:254
 msgid "The following packages have to be removed:"
 msgstr "ਅੱਗੇ ਦਿੱਤੇ ਪੈਕੇਜਾਂ ਨੂੰ ਹਟਾਇਆ ਜਾਵੇਗਾ:"
 
 #. TRANSLATORS: When processing, we might have to install other dependencies
-#: ../lib/packagekit-glib2/pk-task-text.c:257
+#: ../lib/packagekit-glib2/pk-task-text.c:259
 msgid "The following packages have to be installed:"
 msgstr "ਅੱਗੇ ਦਿੱਤੇ ਪੈਕੇਜਾਂ ਨੂੰ ਇੰਸਟਾਲ ਕੀਤਾ ਜਾਵੇਗਾ:"
 
 #. TRANSLATORS: When processing, we might have to update other dependencies
-#: ../lib/packagekit-glib2/pk-task-text.c:262
+#: ../lib/packagekit-glib2/pk-task-text.c:264
 msgid "The following packages have to be updated:"
 msgstr "ਅੱਗੇ ਦਿੱਤੇ ਪੈਕੇਜਾਂ ਨੂੰ ਅੱਪਡੇਟ ਕੀਤਾ ਜਾਵੇਗਾ:"
 
 #. TRANSLATORS: When processing, we might have to reinstall other dependencies
-#: ../lib/packagekit-glib2/pk-task-text.c:267
+#: ../lib/packagekit-glib2/pk-task-text.c:269
 msgid "The following packages have to be reinstalled:"
 msgstr "ਅੱਗੇ ਦਿੱਤੇ ਪੈਕੇਜਾਂ ਨੂੰ ਮੁੜ-ਇੰਸਟਾਲ ਜਾਵੇਗਾ:"
 
 #. TRANSLATORS: When processing, we might have to downgrade other dependencies
-#: ../lib/packagekit-glib2/pk-task-text.c:272
+#: ../lib/packagekit-glib2/pk-task-text.c:274
 msgid "The following packages have to be downgraded:"
 msgstr "ਅੱਗੇ ਦਿੱਤੇ ਪੈਕੇਜਾਂ ਨੂੰ ਡਾਊਨਗਰੇਡ ਕੀਤਾ ਜਾਵੇਗਾ:"
 
 #. TRANSLATORS: ask the user if the proposed changes are okay
-#: ../lib/packagekit-glib2/pk-task-text.c:331
+#: ../lib/packagekit-glib2/pk-task-text.c:324
 msgid "Proceed with changes?"
 msgstr "ਬਦਲਾਅ ਜਾਰੀ ਰੱਖਣੇ ਹਨ?"
 
 #. TRANSLATORS: tell the user we didn't do anything
-#: ../lib/packagekit-glib2/pk-task-text.c:336
+#: ../lib/packagekit-glib2/pk-task-text.c:329
 msgid "The transaction did not proceed."
 msgstr "ਟਰਾਂਸੈਕਸ਼ਨ ਪੂਰੀ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ।"
 
@@ -1912,8 +1927,5 @@ msgstr "ਬਹੁਤੇ ਪੈਕੇਜ"
 msgid "Only trusted"
 msgstr "ਸਿਰਫ ਭਰੋਸੇਯੋਗ"
 
-#~ msgid "Failed to launch:"
-#~ msgstr "ਚਲਾਉਣ ਲਈ ਫੇਲ੍ਹ:"
-
 #~ msgid "Transaction failed with no error"
 #~ msgstr "ਬਿਨਾਂ ਕਿਸੇ ਗਲਤੀ ਟਰਾਂਸੈਕਸ਼ਨ ਫੇਲ ਹੋਈ"
commit d6750bf02850a103b51f4bb9c15b68e63dc1a4e4
Author: Carlo Marcelo Arenas Belon <carenas at sajinet.com.pe>
Date:   Sat Nov 7 04:47:11 2009 -0800

    documentation: trivial style/typo fixes in FAQ

diff --git a/docs/html/pk-faq.html b/docs/html/pk-faq.html
index 9874d4c..168abcc 100644
--- a/docs/html/pk-faq.html
+++ b/docs/html/pk-faq.html
@@ -79,7 +79,7 @@ This is a deliberate design choice chosen for the following reasons:
 There's one use case that I'm very interested in, and that is getting new users with the correct
 environment to build and start hacking on software or using other software tools.
 For instance, on <a href="http://www.packagekit.org">www.packagekit.org</a> in the FAQ section,
-we can have a link to install build files to <a href="packagekit.catalog">start hacking on PackageKit</a>.
+we could have a link to install build files to <a href="packagekit.catalog">start hacking on PackageKit</a>.
 </p>
 <p>
 Now, this <code>.catalog</code> file is handled by <code>gpk-install-catalog</code> that parses
@@ -222,7 +222,7 @@ There's no signing of 1-click-install files, so we can't actually be sure that t
 reputable source.
 </li>
 <li>
-There's no localisation in the 1-click-files.
+There's no localization in the 1-click-files.
 For instance, if we only show a French language speaker a description of "remote exploit trojan"
 they are not going to understand the description.
 </li>
@@ -518,7 +518,7 @@ for more details and further discussion.
 <p>
 If the transaction needs to tell the user something, the <code>Message()</code>
 method can be used that will localise the message up the stack, and also give the user a way
-of ignoring duplicate messages of this type. We really don't what to be doing things like
+of ignoring duplicate messages of this type. We really don't want to be doing things like
 <a href="http://tieguy.org/blog/2008/04/11/second-worst-dialog-i-saw-during-a-recent-ubuntu-upgrade/">this</a>
 or <a href="http://weblogs.mozillazine.org/gerv/archives/2008/04/upgrading_to_hardy.html">this</a>.
 </p>
commit bc7e987cf2064d6a103c46e8bdc0d0da1868d323
Author: Carlo Marcelo Arenas Belon <carenas at sajinet.com.pe>
Date:   Sat Nov 7 04:18:34 2009 -0800

    documentation: suggest working additional resources for gdb broken link

diff --git a/docs/html/pk-bugs.html b/docs/html/pk-bugs.html
index 4217dcf..014bd81 100644
--- a/docs/html/pk-bugs.html
+++ b/docs/html/pk-bugs.html
@@ -107,7 +107,7 @@ Then type bt at the prompt and send us all the output that follows.
 This will tell us exactly what the program was doing when it crashed.
 </p>
 <p>
-This <a href="http://www.cs.usfca.edu/benson/cs326/gdb/gdb.pdf">link</a> will
+This <a href="http://sources.redhat.com/gdb/current/onlinedocs/gdb_toc.html">link</a> will
 give you more information.
 </p>
 <p>Back to the <a href="index.html">main page</a></p>
commit 0484a9cbfd8f4e1268fc9a6df0cf61868fa06877
Author: Carlo Marcelo Arenas Belon <carenas at sajinet.com.pe>
Date:   Sat Nov 7 00:09:35 2009 -0800

    documentation: refactor adding backends to packagekit on download page

diff --git a/docs/html/pk-download.html b/docs/html/pk-download.html
index 5f545fe..bd08625 100644
--- a/docs/html/pk-download.html
+++ b/docs/html/pk-download.html
@@ -192,11 +192,15 @@ security problems before it's used in the real world.
 <h2>Adding backends to PackageKit</h2>
 <p>
 PackageKit itself is an abstract daemon, the only bits that are distro
-specific are the backends.<br/>
+specific are the backends.
+</p>
+<p>
 To make PackageKit work on a new distribution, you have to write a
 "backend" which is basically a shim layer from the distro tool to
-packagekitd. A backend can have one or more threads and also spawn other processes.<br/>
-See the developer information <a href="gtk-doc/index.html">here</a> for loads more
+packagekitd. A backend can have one or more threads and also spawn other processes.
+</p>
+<p>
+See the developer information <a href="gtk-doc/index.html">here</a> for more
 information.
 </p>
 
commit d9a4dd76ae46ea3320063838ef1365b8b4dcdb23
Author: Carlo Marcelo Arenas Belon <carenas at sajinet.com.pe>
Date:   Fri Nov 6 23:51:47 2009 -0800

    documentation: refactor download instructions for precompiled packages
    
    including the following changes to homogenize the syntax used and avoid
    obsolete or confusing information:
    
    * add link to pk-users for a more complete/visual distribution list
    * reformat all lines to use same format for name and initial version
    * avoid transitorial references in ubuntu description

diff --git a/docs/html/pk-download.html b/docs/html/pk-download.html
index 3f81996..5f545fe 100644
--- a/docs/html/pk-download.html
+++ b/docs/html/pk-download.html
@@ -22,30 +22,30 @@
 <h2>Precompiled Packages</h2>
 <p>
 Your distribution may already have compiled packages that are much
-easier to install.
+easier to install.  Refer to the <a href="pk-users.html">users</a> page for
+more details or use the instructions provided below to get you going using
+your native package manager.
 </p>
 <ul>
   <li>
    Conary: Yes, just run: <code>sudo conary update PackageKit gnome-packagekit</code>
   </li>
   <li>
-   Fedora 9: Yes, just run: <code>yum install PackageKit gnome-packagekit</code> (as root)
+   Fedora: Yes, starting with 9, just run: <code>yum install PackageKit gnome-packagekit</code> (as root)
   </li>
   <li>
-  Ubuntu: Ubuntu 8.04 Hardy Heron ships an obsolete version (0.1.6) of PackageKit by default.
-  Intrepid, the upcoming Ubuntu release, features a recent version from the 0.3 series.<br/>
-  You can find the latest version of the 0.3 series for Hardy and Intrepid in this
-  <a href="https://edge.launchpad.net/~packagekit/+archive">Personal Package Archive</a>.
-  <a href="https://help.ubuntu.com/8.04/add-applications/C/extra-repositories-adding.html">Add</a>
-  the repository and <a href="https://help.ubuntu.com/8.04/add-applications/C/advanced.html">
-  install</a> the packages <code>packagekit</code> and <code>packagekit-gnome</code>.
+   Ubuntu: Yes, starting with Hardy Heron (8.04), that ships an obsolete version (0.1.6) of PackageKit by default.
+   Newer versions are used by more recent releases, but you can find the latest versions of PackageKit for all releases in this <a href="https://edge.launchpad.net/~packagekit/+archive">Personal Package Archive</a>.
+   <a href="https://help.ubuntu.com/8.04/add-applications/C/extra-repositories-adding.html">Add</a>
+   the repository and <a href="https://help.ubuntu.com/8.04/add-applications/C/advanced.html">
+   install</a> the packages <code>packagekit</code> and <code>packagekit-gnome</code>.
   </li>
   <li>
-   openSUSE 11: Yes, add <a href="http://download.opensuse.org/distribution/11.0/repo/oss/">this</a>
+   openSUSE: Yes, starting with 11.0, add <a href="http://download.opensuse.org/distribution/11.0/repo/oss/">this</a>
    repository file and run: <code>zypper install PackageKit gnome-packagekit</code> (as root)
   </li>
   <li>
-  Mandriva 2009 : Yes, just run: <code>urpmi packagekit gnome-packagekit</code> (as root)
+   Mandriva: Yes, starting with 2009, just run: <code>urpmi packagekit gnome-packagekit</code> (as root)
   </li>
   <li>
    Others: Probably not, although you can compile from source. See below for more details.
commit e9334823e772ace1f73990f58b59ef91e9b2d672
Author: Carlo Marcelo Arenas Belon <carenas at sajinet.com.pe>
Date:   Fri Nov 6 23:12:56 2009 -0800

    documentation: revert version order for unstable versions to match

diff --git a/docs/html/pk-download.html b/docs/html/pk-download.html
index a94f906..3f81996 100644
--- a/docs/html/pk-download.html
+++ b/docs/html/pk-download.html
@@ -68,11 +68,11 @@ Releases are normally once every 3-4 weeks.
 </p>
 <table>
 <tr><td><b>Version</b></td><td>&nbsp;&nbsp;</td><td><b>Date</b></td></tr>
-<tr><td>0.5.0</td><td></td><td>2009-07-06</td></tr>
-<tr><td>0.5.1</td><td></td><td>2009-08-03</td></tr>
-<tr><td>0.5.2</td><td></td><td>2009-09-07</td></tr>
-<tr><td>0.5.3</td><td></td><td>2009-10-05</td></tr>
 <tr><td>0.5.4</td><td></td><td>2009-11-02</td></tr>
+<tr><td>0.5.3</td><td></td><td>2009-10-05</td></tr>
+<tr><td>0.5.2</td><td></td><td>2009-09-07</td></tr>
+<tr><td>0.5.1</td><td></td><td>2009-08-03</td></tr>
+<tr><td>0.5.0</td><td></td><td>2009-07-06</td></tr>
 </table>
 <h3>
 ABI Stable Versions:
commit 0a8a6b9192c1100d11066f0b036356ca10b21bc1
Author: Carlo Marcelo Arenas Belon <carenas at sajinet.com.pe>
Date:   Fri Nov 6 23:02:00 2009 -0800

    documentation: correct link to presentation

diff --git a/docs/html/pk-intro.html b/docs/html/pk-intro.html
index 70458f3..4ea7bf4 100644
--- a/docs/html/pk-intro.html
+++ b/docs/html/pk-intro.html
@@ -31,7 +31,7 @@ like PolicyKit to make the process suck less.
  <td><img src="img/dialog-information.png" alt="[NOTE]"/></td>
  <td>
   <p>If you're easily bored, checkout the
-   <a href="http://people.freedesktop.org/~hughsient/public/introduction-to-packagekit.pdf">presentation</a>
+   <a href="http://www.hughsie.com/public/introduction-to-packagekit.pdf">presentation</a>
    or the
    <a href="http://video.fosdem.org/2008/maintracks/FOSDEM2008-packagekit.ogg">video</a>
    I prepared for FOSDEM 2008 and skip the rest of this page.
commit 8e6eb269bc43b1a27297361820a3ad2289434ce4
Author: Sebastian Heinlein <devel at glatzor.de>
Date:   Fri Nov 6 23:43:14 2009 +0100

    APT: Don't use internal attributes of python-apt as far as possible

diff --git a/backends/apt/aptBackend.py b/backends/apt/aptBackend.py
index 7682b3e..a4b48db 100755
--- a/backends/apt/aptBackend.py
+++ b/backends/apt/aptBackend.py
@@ -679,19 +679,20 @@ class PackageKitAptBackend(PackageKitBaseBackend):
             archive and 1.1.1 in the archive of proposed updates or the
             same version in both archives.
             """
-            inst_ver = pkg._pkg.CurrentVer
-            for ver in pkg._pkg.VersionList:
-                # Skip versions which are not later
-                if inst_ver and \
-                   apt_pkg.VersionCompare(ver.VerStr, inst_ver.VerStr) <= 0:
+            for version in pkg.versions:
+                # Only check versions between the installed and the candidate
+                if pkg.installed and \
+                   apt_pkg.VersionCompare(version.version,
+                                          pkg.installed.version) <= 0 and \
+                   apt_pkg.VersionCompare(version.version,
+                                          pkg.candidate.version) > 0:
                     continue
-                for(verFileIter, index) in ver.FileList:
-                    if verFileIter.Origin in ["Debian", "Ubuntu"] and \
-                       (verFileIter.Archive.endswith("-security") or \
-                        verFileIter.Label == "Debian-Security"):
-                        indexfile = pkg._list.FindIndex(verFileIter)
-                        if indexfile and indexfile.IsTrusted:
-                            return True
+                for origin in version.origins:
+                    if origin.origin in ["Debian", "Ubuntu"] and \
+                       (origin.archive.endswith("-security") or \
+                        origin.label == "Debian-Security") and \
+                       origin.trusted:
+                        return True
             return False
         #FIXME: Implment the basename filter
         pklog.info("Get updates")
@@ -702,10 +703,10 @@ class PackageKitAptBackend(PackageKitBaseBackend):
         # Start with a safe upgrade
         self._cache.upgrade()
         upgrades_safe = self._cache.getChanges()
-        resolver = apt_pkg.GetPkgProblemResolver(self._cache._depcache)
+        resolver = apt.cache.ProblemResolver(self._cache)
         for upgrade in upgrades_safe:
-            resolver.Clear(upgrade._pkg)
-            resolver.Protect(upgrade._pkg)
+            resolver.clear(upgrade)
+            resolver.protect(upgrade)
         # Search for upgrades which are not already part of the safe upgrade
         # but would only require the installation of additional packages
         for pkg in self._cache:
@@ -715,19 +716,19 @@ class PackageKitAptBackend(PackageKitBaseBackend):
             if not pkg in upgrades_safe:
                 # Check if the upgrade would require the removal of an already
                 # installed package. If this is the case it will be skipped
-                resolver.Clear(pkg._pkg)
-                resolver.Protect(pkg._pkg)
-                resolver.InstallProtect()
+                resolver.clear(pkg)
+                resolver.protect(pkg)
+                resolver.install_protect()
                 try:
-                    resolver.Resolve(True)
+                    resolver.resolve()
                 except:
                     self._emit_package(pkg, INFO_BLOCKED, force_candidate=True)
-                    resolver.Clear(pkg._pkg)
+                    resolver.clear(pkg)
                     self._cache.clear()
                     continue
-                if self._cache._depcache.DelCount:
+                if self._cache.delete_count:
                     self._emit_package(pkg, INFO_BLOCKED, force_candidate=True)
-                    resolver.Clear(pkg._pkg)
+                    resolver.clear(pkg)
                     self._cache.clear()
                     continue
             # The update can be safely installed
@@ -854,31 +855,31 @@ class PackageKitAptBackend(PackageKitBaseBackend):
         # Start with protecting all safe upgrades
         self._cache.upgrade()
         upgrades_safe = self._cache.getChanges()
-        resolver = apt_pkg.GetPkgProblemResolver(self._cache._depcache)
+        resolver = apt.cache.ProblemResolver(self._cache)
         for upgrade in upgrades_safe:
-            resolver.Clear(upgrade._pkg)
-            resolver.Protect(upgrade._pkg)
+            resolver.clear(upgrade)
+            resolver.protect(upgrade)
         # Search for upgrades which are not already part of the safe upgrade
         # but would only require the installation of additional packages
         for pkg in self._cache:
             if not pkg.isUpgradable or pkg in upgrades_safe:
                 continue
             pklog.debug("Checking upgrade of %s" % pkg.name)
-            resolver.Clear(pkg._pkg)
-            resolver.Protect(pkg._pkg)
-            resolver.InstallProtect()
+            resolver.clear(pkg)
+            resolver.protect(pkg)
+            resolver.install_protect()
             try:
-                resolver.Resolve(True)
+                resolver.resolve()
             except:
-                resolver.Clear(pkg._pkg)
+                resolver.clear(pkg)
                 self._cache.clear()
                 continue
-            if self._cache._depcache.DelCount:
-                resolver.Clear(pkg._pkg)
+            if self._cache.delete_count:
+                resolver.clear(pkg)
                 self._cache.clear()
                 continue
-        resolver.InstallProtect()
-        resolver.Resolve(True)
+        resolver.install_protect()
+        resolver.resolve()
         self._check_trusted(only_trusted)
         self._commit_changes()
 
@@ -895,7 +896,7 @@ class PackageKitAptBackend(PackageKitBaseBackend):
         pkgs = self._mark_for_removal(ids)
         # Error out if the installation would the installation or upgrade of
         # other packages
-        if self._cache._depcache.InstCount:
+        if self._cache.inst_count:
             installed = [pkg.name for pkg in self._cache.getChanges() if \
                          pkg.markedInstall or pkg.markedUpgrade]
             self.error(ERROR_DEP_RESOLUTION_FAILED,
@@ -931,8 +932,8 @@ class PackageKitAptBackend(PackageKitBaseBackend):
     def _mark_for_removal(self, ids):
         """Resolve the given package ids and mark the packages for removal."""
         pkgs = []
-        action_group = apt_pkg.GetPkgActionGroup(self._cache._depcache)
-        resolver = apt_pkg.GetPkgProblemResolver(self._cache._depcache)
+        action_group = self._cache.actiongroup()
+        resolver = apt.cache.ProblemResolver(self._cache)
         for id in ids:
             version = self._get_version_by_id(id)
             pkg = version.package
@@ -943,19 +944,18 @@ class PackageKitAptBackend(PackageKitBaseBackend):
                 self.error(ERROR_PACKAGE_NOT_INSTALLED,
                            "Version %s of %s isn't installed" % \
                            (version.version, pkg.name))
-            if pkg._pkg.Essential == True:
+            if pkg.essential == True:
                 self.error(ERROR_CANNOT_REMOVE_SYSTEM_PACKAGE,
                            "Package %s cannot be removed." % pkg.name)
             pkgs.append(pkg.name[:])
             pkg.markDelete(False, False)
-            resolver.Clear(pkg._pkg)
-            resolver.Protect(pkg._pkg)
-            resolver.Remove(pkg._pkg)
+            resolver.clear(pkg)
+            resolver.protect(pkg)
+            resolver.remove(pkg)
         try:
-            resolver.Resolve()
+            resolver.resolve()
         except SystemError, error:
-            broken = [pkg.name for pkg in self._cache if \
-                      self._cache._depcache.IsInstBroken(pkg._pkg)]
+            broken = [pkg.name for pkg in self._cache if pkg.is_inst_broken]
             self.error(ERROR_DEP_RESOLUTION_FAILED,
                        "The following packages would break and so block the "
                        "removal: %s" % " ".join(broken))
@@ -1132,7 +1132,7 @@ class PackageKitAptBackend(PackageKitBaseBackend):
         pkgs = self._mark_for_upgrade(ids)
         # Error out if the updates would require the removal of already
         # installed packages
-        if self._cache._depcache.DelCount:
+        if self._cache.delete_count:
             deleted = [pkg.name for pkg in self._cache.getChanges() if \
                        pkg.markedDelete]
             self.error(ERROR_DEP_RESOLUTION_FAILED,
@@ -1163,8 +1163,8 @@ class PackageKitAptBackend(PackageKitBaseBackend):
     def _mark_for_upgrade(self, ids):
         """Resolve the given package ids and mark the packages for upgrade."""
         pkgs = []
-        ac = apt_pkg.GetPkgActionGroup(self._cache._depcache)
-        resolver = apt_pkg.GetPkgProblemResolver(self._cache._depcache)
+        ac = self._cache.actiongroup()
+        resolver = apt.cache.ProblemResolver(self._cache)
         for id in ids:
             version = self._get_version_by_id(id)
             pkg = version.package
@@ -1182,13 +1182,12 @@ class PackageKitAptBackend(PackageKitBaseBackend):
             # Actually should be fixed in python-apt
             auto = not self._cache._depcache.IsAutoInstalled(pkg._pkg)
             pkg.markInstall(False, True, auto)
-            resolver.Clear(pkg._pkg)
-            resolver.Protect(pkg._pkg)
+            resolver.clear(pkg)
+            resolver.protect(pkg)
         try:
-            resolver.Resolve(True)
+            resolver.resolve()
         except SystemError, error:
-            broken = [pkg.name for pkg in self._cache if \
-                      self._cache._depcache.IsInstBroken(pkg._pkg)]
+            broken = [pkg.name for pkg in self._cache if pkg.is_inst_broken]
             self.error(ERROR_DEP_RESOLUTION_FAILED,
                        "The following packages block the installation: "
                        "%s" % " ".join(broken))
@@ -1254,7 +1253,7 @@ class PackageKitAptBackend(PackageKitBaseBackend):
         pkgs = self._mark_for_installation(ids)
         # Error out if the installation would require the removal of already
         # installed packages
-        if self._cache._depcache.DelCount:
+        if self._cache.delete_count:
             deleted = [pkg.name for pkg in self._cache.getChanges() if \
                        pkg.markedDelete]
             self.error(ERROR_DEP_RESOLUTION_FAILED,
@@ -1287,8 +1286,8 @@ class PackageKitAptBackend(PackageKitBaseBackend):
         installation.
         """
         pkgs = []
-        ac = apt_pkg.GetPkgActionGroup(self._cache._depcache)
-        resolver = apt_pkg.GetPkgProblemResolver(self._cache._depcache)
+        ac = self._cache.actiongroup()
+        resolver = apt.cache.ProblemResolver(self._cache)
         for id in ids:
             version = self._get_version_by_id(id)
             pkg = version.package
@@ -1298,13 +1297,12 @@ class PackageKitAptBackend(PackageKitBaseBackend):
                            "Package %s is already installed" % pkg.name)
             pkgs.append(pkg.name[:])
             pkg.markInstall(False, True, True)
-            resolver.Clear(pkg._pkg)
-            resolver.Protect(pkg._pkg)
+            resolver.clear(pkg)
+            resolver.protect(pkg)
         try:
-            resolver.Resolve(True)
+            resolver.resolve()
         except SystemError, error:
-            broken = [pkg.name for pkg in self._cache if \
-                      self._cache._depcache.IsInstBroken(pkg._pkg)]
+            broken = [pkg.name for pkg in self._cache if pkg.is_inst_broken]
             self.error(ERROR_DEP_RESOLUTION_FAILED,
                        "The following packages block the installation: "
                        "%s" % " ".join(broken))
@@ -1671,7 +1669,7 @@ class PackageKitAptBackend(PackageKitBaseBackend):
                                                          progress))
         except:
             self.error(ERROR_NO_CACHE, "Package cache could not be opened")
-        if self._cache._depcache.BrokenCount > 0:
+        if self._cache.broken_count > 0:
             self.error(ERROR_DEP_RESOLUTION_FAILED,
                        "There are broken dependecies on your system. "
                        "Please use an advanced package manage e.g. "
@@ -1755,7 +1753,7 @@ class PackageKitAptBackend(PackageKitBaseBackend):
         # any broken packages and if the dpkg status or apt cache files have 
         # been changed since the last refresh
         if not isinstance(self._cache, apt.cache.Cache) or \
-           (self._cache._depcache.BrokenCount > 0) or \
+           (self._cache.broken_count > 0) or \
            (os.stat(apt_pkg.Config["Dir::State::status"])[stat.ST_MTIME] > \
             self._last_cache_refresh) or \
            (os.stat(pkg_cache)[stat.ST_MTIME] > self._last_cache_refresh) or \
commit 85dc6527165a06487f44a3ed0f57b945bb18440f
Author: Sebastian Heinlein <devel at glatzor.de>
Date:   Fri Nov 6 22:34:14 2009 +0100

    APT: Take the version of package into account when removing, installing
    and updating. Add some security/sanity checks

diff --git a/backends/apt/aptBackend.py b/backends/apt/aptBackend.py
index 74bf312..7682b3e 100755
--- a/backends/apt/aptBackend.py
+++ b/backends/apt/aptBackend.py
@@ -934,10 +934,15 @@ class PackageKitAptBackend(PackageKitBaseBackend):
         action_group = apt_pkg.GetPkgActionGroup(self._cache._depcache)
         resolver = apt_pkg.GetPkgProblemResolver(self._cache._depcache)
         for id in ids:
-            pkg = self._get_package_by_id(id)
+            version = self._get_version_by_id(id)
+            pkg = version.package
             if not pkg.isInstalled:
                 self.error(ERROR_PACKAGE_NOT_INSTALLED,
                            "Package %s isn't installed" % pkg.name)
+            if pkg.installed != version:
+                self.error(ERROR_PACKAGE_NOT_INSTALLED,
+                           "Version %s of %s isn't installed" % \
+                           (version.version, pkg.name))
             if pkg._pkg.Essential == True:
                 self.error(ERROR_CANNOT_REMOVE_SYSTEM_PACKAGE,
                            "Package %s cannot be removed." % pkg.name)
@@ -1161,10 +1166,18 @@ class PackageKitAptBackend(PackageKitBaseBackend):
         ac = apt_pkg.GetPkgActionGroup(self._cache._depcache)
         resolver = apt_pkg.GetPkgProblemResolver(self._cache._depcache)
         for id in ids:
-            pkg = self._get_package_by_id(id)
+            version = self._get_version_by_id(id)
+            pkg = version.package
             if not pkg.isInstalled:
                 self.error(ERROR_PACKAGE_NOT_INSTALLED,
                            "%s isn't installed" % pkg.name)
+            # Check if the specified version is an update
+            if not apt_pkg.VersionCompare(pkg.installed.version,
+                                          version.version) == -1:
+                self.error(ERROR_UPDATE_NOT_FOUND,
+                           "The version %s isn't an update to the current "
+                           "%s" % (version.version, pkg.installed.version))
+            pkg.candidate = version
             pkgs.append(pkg.name[:])
             # Actually should be fixed in python-apt
             auto = not self._cache._depcache.IsAutoInstalled(pkg._pkg)
@@ -1277,8 +1290,10 @@ class PackageKitAptBackend(PackageKitBaseBackend):
         ac = apt_pkg.GetPkgActionGroup(self._cache._depcache)
         resolver = apt_pkg.GetPkgProblemResolver(self._cache._depcache)
         for id in ids:
-            pkg = self._get_package_by_id(id)
-            if pkg.isInstalled:
+            version = self._get_version_by_id(id)
+            pkg = version.package
+            pkg.candidate = version
+            if pkg.installed == version:
                 self.error(ERROR_PACKAGE_ALREADY_INSTALLED,
                            "Package %s is already installed" % pkg.name)
             pkgs.append(pkg.name[:])
commit 36bf94de1a91c251fbf7fb38b97205b6897b356c
Author: Sebastian Heinlein <devel at glatzor.de>
Date:   Fri Nov 6 10:26:24 2009 +0100

    APT: Show some progress for processing downloads of changelogs. Don't
    emit to many status signals.

diff --git a/backends/apt/aptBackend.py b/backends/apt/aptBackend.py
index b0db820..74bf312 100755
--- a/backends/apt/aptBackend.py
+++ b/backends/apt/aptBackend.py
@@ -778,11 +778,15 @@ class PackageKitAptBackend(PackageKitBaseBackend):
                        re.findall(MATCH_CVE, changelog, re.MULTILINE))
 
         pklog.info("Get update details of %s" % pkg_ids)
-        self.status(STATUS_INFO)
-        self.percentage(None)
+        self.status(STATUS_DOWNLOAD_CHANGELOG)
+        self.percentage(0)
         self.allow_cancel(True)
-        self._check_init(progress=False)
+        self._check_init(None)
+        total = len(pkg_ids)
+        count = 1
         for pkg_id in pkg_ids:
+            self.percentage(count * 100 / total)
+            count += 1
             pkg = self._get_package_by_id(pkg_id)
             # FIXME add some real data
             if pkg.installed.origins:
@@ -799,7 +803,6 @@ class PackageKitAptBackend(PackageKitBaseBackend):
             state = ""
             issued = ""
             updated = ""
-            self.status(STATUS_DOWNLOAD_CHANGELOG)
             changelog = pkg.getChangelog()
             # The internal download error string of python-apt ist not
             # provided as unicode object
@@ -807,7 +810,6 @@ class PackageKitAptBackend(PackageKitBaseBackend):
                 changelog = changelog.decode(DEFAULT_ENCODING)
             except:
                 pass
-            self.status(STATUS_INFO)
             bugzilla_url = ";".join(get_bug_urls(changelog))
             cve_url = ";".join(get_cve_urls(changelog))
             self.update_detail(pkg_id, updates, obsoletes, vendor_url,
commit 4a2281ffd7a7873c5131dd83b8b61a8bf9212dfe
Author: Sebastian Heinlein <devel at glatzor.de>
Date:   Fri Nov 6 10:13:06 2009 +0100

    APT: Catch an internal python-apt changelog downlad failed error message which is not provided as unicode

diff --git a/backends/apt/aptBackend.py b/backends/apt/aptBackend.py
index 99ff211..b0db820 100755
--- a/backends/apt/aptBackend.py
+++ b/backends/apt/aptBackend.py
@@ -801,6 +801,12 @@ class PackageKitAptBackend(PackageKitBaseBackend):
             updated = ""
             self.status(STATUS_DOWNLOAD_CHANGELOG)
             changelog = pkg.getChangelog()
+            # The internal download error string of python-apt ist not
+            # provided as unicode object
+            try:
+                changelog = changelog.decode(DEFAULT_ENCODING)
+            except:
+                pass
             self.status(STATUS_INFO)
             bugzilla_url = ";".join(get_bug_urls(changelog))
             cve_url = ";".join(get_cve_urls(changelog))
commit 295503c4a4c04a2741d6f4f0e708ab0e2af6828c
Merge: 804ca21... cd74677...
Author: Richard Hughes <richard at hughsie.com>
Date:   Fri Nov 6 08:05:42 2009 +0000

    Merge branch 'master' of git+ssh://git.packagekit.org/srv/git/PackageKit

commit 7a0a96fdf3a500a79d0a64d917252d40cbd17321
Author: Sebastian Heinlein <devel at glatzor.de>
Date:   Fri Nov 6 09:00:49 2009 +0100

    APT: Only emit additional changes in Simulate*

diff --git a/backends/apt/aptBackend.py b/backends/apt/aptBackend.py
index a6c6ffe..99ff211 100755
--- a/backends/apt/aptBackend.py
+++ b/backends/apt/aptBackend.py
@@ -918,7 +918,7 @@ class PackageKitAptBackend(PackageKitBaseBackend):
         self.percentage(None)
         self._check_init(progress=False)
         pkgs = self._mark_for_removal(ids)
-        self._emit_changes()
+        self._emit_changes(pkgs)
 
     def _mark_for_removal(self, ids):
         """Resolve the given package ids and mark the packages for removal."""
@@ -1145,7 +1145,7 @@ class PackageKitAptBackend(PackageKitBaseBackend):
         self.percentage(None)
         self._check_init(progress=False)
         pkgs = self._mark_for_upgrade(ids)
-        self._emit_changes()
+        self._emit_changes(pkgs)
 
     def _mark_for_upgrade(self, ids):
         """Resolve the given package ids and mark the packages for upgrade."""
@@ -1259,7 +1259,7 @@ class PackageKitAptBackend(PackageKitBaseBackend):
         self.percentage(None)
         self._check_init(progress=False)
         pkgs = self._mark_for_installation(ids)
-        self._emit_changes()
+        self._emit_changes(pkgs)
 
     def _mark_for_installation(self, ids):
         """Resolve the given package ids and mark the packages for
@@ -1354,11 +1354,13 @@ class PackageKitAptBackend(PackageKitBaseBackend):
         self.allow_cancel(True)
         self.percentage(None)
         self._check_init(progress=False)
+        pkgs = []
         for path in inst_files:
             deb = apt.debfile.DebPackage(path, self._cache)
+            pkgs.append(deb.pkgname)
             if not deb.check():
                 self.error(ERROR_LOCAL_INSTALL_FAILED, deb._failureString)
-        self._emit_changes()
+        self._emit_changes(pkgs)
 
     @lock_cache
     def refresh_cache(self, force):
@@ -1813,9 +1815,11 @@ class PackageKitAptBackend(PackageKitBaseBackend):
                self._is_package_visible(self._cache[name], filters):
                 self._emit_package(self._cache[name], info)
 
-    def _emit_changes(self):
+    def _emit_changes(self, ignore_pkgs=[]):
         """Emit all changed packages."""
         for pkg in self._cache:
+            if pkg.name in ignore_pkgs:
+                continue
             if pkg.markedDelete:
                 self._emit_package(pkg, INFO_REMOVING, False)
             elif pkg.markedInstall:
commit 9046445b3ff62c290a41ca86583de723acc3d0e0
Author: Sebastian Heinlein <devel at glatzor.de>
Date:   Fri Nov 6 08:52:38 2009 +0100

    APT: Fix small typo in method call of simulate_update

diff --git a/backends/apt/aptBackend.py b/backends/apt/aptBackend.py
index b4d1e39..a6c6ffe 100755
--- a/backends/apt/aptBackend.py
+++ b/backends/apt/aptBackend.py
@@ -1144,7 +1144,7 @@ class PackageKitAptBackend(PackageKitBaseBackend):
         self.allow_cancel(True)
         self.percentage(None)
         self._check_init(progress=False)
-        pkgs = self._mark_for_update(ids)
+        pkgs = self._mark_for_upgrade(ids)
         self._emit_changes()
 
     def _mark_for_upgrade(self, ids):
commit 804ca21010ef2a4350be0fea89e0a56a3e554cf0
Merge: 1d96ea9... 369e601...
Author: Richard Hughes <richard at hughsie.com>
Date:   Thu Nov 5 22:11:00 2009 +0000

    Merge branch 'master' of git+ssh://git.packagekit.org/srv/git/PackageKit

commit cd746772b8eca261487308044b4cb092d4ea623a
Author: Sebastian Heinlein <devel at glatzor.de>
Date:   Thu Nov 5 22:47:11 2009 +0100

    APT: Remove obsolete return statements after PackageKitBackend.error
    call. Don't use ERROR_UNKNOWN

diff --git a/backends/apt/aptBackend.py b/backends/apt/aptBackend.py
index 31e9cb3..b4d1e39 100755
--- a/backends/apt/aptBackend.py
+++ b/backends/apt/aptBackend.py
@@ -642,11 +642,11 @@ class PackageKitAptBackend(PackageKitBaseBackend):
         if META_RELEASE_SUPPORT == False:
             if self._cache.has_key("update-manager-core") and \
                self._cache["update-manager-core"].isInstalled == False:
-                self.error(ERROR_UNKNOWN,
+                self.error(ERROR_INTERNAL_ERROR,
                            "Please install the package update-manager-core to "
                            "get notified of the latest distribution releases.")
             else:
-                self.error(ERROR_UNKNOWN,
+                self.error(ERROR_INTERNAL_ERROR,
                            "Please make sure that update-manager-core is"
                            "correctly installed.")
             return
@@ -894,7 +894,6 @@ class PackageKitAptBackend(PackageKitBaseBackend):
                        "The following packages would have to upgraded or "
                        "installed and so block the removal: "
                        "%s" % " ".join(installed))
-            return
         # Check if the removal would remove further packages
         if not allow_deps and self._cache.delete_count != len(ids):
             dependencies = [pkg.name for pkg in self._cache.getChanges() \
@@ -907,8 +906,8 @@ class PackageKitAptBackend(PackageKitBaseBackend):
         self._open_cache(prange=(90,99))
         for p in pkgs:
             if self._cache.has_key(p) and self._cache[p].isInstalled:
-                self.error(ERROR_UNKNOWN, "%s is still installed" % p)
-                return
+                self.error(ERROR_PACKAGE_FAILED_TO_INSTALL,
+                           "%s is still installed" % p)
         self.percentage(100)
 
     def simulate_remove_packages(self, ids):
@@ -931,11 +930,9 @@ class PackageKitAptBackend(PackageKitBaseBackend):
             if not pkg.isInstalled:
                 self.error(ERROR_PACKAGE_NOT_INSTALLED,
                            "Package %s isn't installed" % pkg.name)
-                return
             if pkg._pkg.Essential == True:
                 self.error(ERROR_CANNOT_REMOVE_SYSTEM_PACKAGE,
                            "Package %s cannot be removed." % pkg.name)
-                return
             pkgs.append(pkg.name[:])
             pkg.markDelete(False, False)
             resolver.Clear(pkg._pkg)
@@ -949,7 +946,6 @@ class PackageKitAptBackend(PackageKitBaseBackend):
             self.error(ERROR_DEP_RESOLUTION_FAILED,
                        "The following packages would break and so block the "
                        "removal: %s" % " ".join(broken))
-            return
         action_group.release()
         return pkgs
 
@@ -967,14 +963,13 @@ class PackageKitAptBackend(PackageKitBaseBackend):
         if REPOS_SUPPORT == False:
             if self._cache.has_key("python-software-properties") and \
                self._cache["python-software-properties"].isInstalled == False:
-                self.error(ERROR_UNKNOWN,
+                self.error(ERROR_INTERNAL_ERROR,
                            "Please install the package "
                            "python-software-properties to handle repositories")
             else:
-                self.error(ERROR_UNKNOWN,
+                self.error(ERROR_INTERNAL_ERROR,
                            "Please make sure that python-software-properties is"
                            "correctly installed.")
-            return
         filter_list = filters.split(";")
         repos = PackageKitSoftwareProperties()
         # Emit distro components as virtual repositories
@@ -1044,11 +1039,11 @@ class PackageKitAptBackend(PackageKitBaseBackend):
         if REPOS_SUPPORT == False:
             if self._cache.has_key("python-software-properties") and \
                self._cache["python-software-properties"].isInstalled == False:
-                self.error(ERROR_UNKNOWN,
+                self.error(ERROR_INTERNAL_ERROR,
                            "Please install the package "
                            "python-software-properties to handle repositories")
             else:
-                self.error(ERROR_UNKNOWN,
+                self.error(ERROR_INTERNAL_ERROR,
                            "Please make sure that python-software-properties is"
                            "correctly installed.")
             return
@@ -1110,7 +1105,6 @@ class PackageKitAptBackend(PackageKitBaseBackend):
         if found == False:
             self.error(ERROR_REPO_NOT_AVAILABLE,
                        "The repository of the id %s isn't available" % repo_id)
-            return
 
     @lock_cache
     def update_packages(self, only_trusted, ids):
@@ -1131,7 +1125,6 @@ class PackageKitAptBackend(PackageKitBaseBackend):
             self.error(ERROR_DEP_RESOLUTION_FAILED,
                        "The following packages block the update: "
                        "%s" % " ".join(deleted))
-            return
         self._check_trusted(only_trusted)
         self._commit_changes()
         self._open_cache(prange=(90,100))
@@ -1140,8 +1133,8 @@ class PackageKitAptBackend(PackageKitBaseBackend):
         for p in pkgs:
             if not self._cache.has_key(p) or not self._cache[p].isInstalled \
                or self._cache[p].isUpgradable:
-                self.error(ERROR_UNKNOWN, "%s was not updated" % p)
-                return
+                self.error(ERROR_PACKAGE_FAILED_TO_INSTALL,
+                           "%s was not updated" % p)
         pklog.debug("Sending success signal")
 
     def simulate_update_packages(self, ids):
@@ -1164,7 +1157,6 @@ class PackageKitAptBackend(PackageKitBaseBackend):
             if not pkg.isInstalled:
                 self.error(ERROR_PACKAGE_NOT_INSTALLED,
                            "%s isn't installed" % pkg.name)
-                return
             pkgs.append(pkg.name[:])
             # Actually should be fixed in python-apt
             auto = not self._cache._depcache.IsAutoInstalled(pkg._pkg)
@@ -1179,7 +1171,6 @@ class PackageKitAptBackend(PackageKitBaseBackend):
             self.error(ERROR_DEP_RESOLUTION_FAILED,
                        "The following packages block the installation: "
                        "%s" % " ".join(broken))
-            return
         ac.release()
         return pkgs
 
@@ -1203,9 +1194,8 @@ class PackageKitAptBackend(PackageKitBaseBackend):
         self.percentage(0)
         # Check the destination directory
         if not os.path.isdir(dest) or not os.access(dest, os.W_OK):
-            self.error(ERROR_UNKNOWN,
+            self.error(ERROR_INTERNAL_ERROR,
                        "The directory '%s' is not writable" % dest)
-            return
         # Setup the fetcher
         self._check_init(prange=(0,10))
         versions = []
@@ -1216,11 +1206,9 @@ class PackageKitAptBackend(PackageKitBaseBackend):
             if pkg_ver is None:
                 self.error(ERROR_PACKAGE_NOT_FOUND,
                            "There is no package %s" % id)
-                return
             if not pkg_ver.downloadable:
                 self.error(ERROR_PACKAGE_DOWNLOAD_FAILED,
                            "package %s isn't downloadable" % id)
-                return
             total += pkg_ver.size
             versions.append(pkg_ver)
         # Start the download
@@ -1230,7 +1218,6 @@ class PackageKitAptBackend(PackageKitBaseBackend):
                 ver.fetch_binary(dest, progress)
             except Exception, error:
                 self.error(ERROR_PACKAGE_DOWNLOAD_FAILED, error.message)
-                return
         self.percentage(100)
 
     @lock_cache
@@ -1252,7 +1239,6 @@ class PackageKitAptBackend(PackageKitBaseBackend):
             self.error(ERROR_DEP_RESOLUTION_FAILED,
                        "The following packages block the update: "
                        "%s" % " ".join(deleted))
-            return
         self._check_trusted(only_trusted)
         self._commit_changes()
         self._open_cache(prange=(90,100))
@@ -1260,8 +1246,8 @@ class PackageKitAptBackend(PackageKitBaseBackend):
         pklog.debug("Checking success of operation")
         for p in pkgs:
             if not self._cache.has_key(p) or not self._cache[p].isInstalled:
-                self.error(ERROR_UNKNOWN, "%s was not installed" % p)
-                return
+                self.error(ERROR_PACKAGE_FAILED_TO_INSTALL,
+                           "%s was not installed" % p)
 
     def simulate_install_packages(self, ids):
         """Emit the changes required for the installation of the given
@@ -1287,7 +1273,6 @@ class PackageKitAptBackend(PackageKitBaseBackend):
             if pkg.isInstalled:
                 self.error(ERROR_PACKAGE_ALREADY_INSTALLED,
                            "Package %s is already installed" % pkg.name)
-                return
             pkgs.append(pkg.name[:])
             pkg.markInstall(False, True, True)
             resolver.Clear(pkg._pkg)
@@ -1300,7 +1285,6 @@ class PackageKitAptBackend(PackageKitBaseBackend):
             self.error(ERROR_DEP_RESOLUTION_FAILED,
                        "The following packages block the installation: "
                        "%s" % " ".join(broken))
-            return
         ac.release()
         return pkgs
 
@@ -1322,19 +1306,17 @@ class PackageKitAptBackend(PackageKitBaseBackend):
             deb = apt.debfile.DebPackage(path, self._cache)
             packages.append(deb)
             if not deb.check():
-                self.error(ERROR_UNKNOWN, deb._failureString)
-                return
+                self.error(ERROR_LOCAL_INSTALL_FAILED, deb._failureString)
             (install, remove, unauthenticated) = deb.required_changes
             pklog.debug("Changes: Install %s, Remove %s, Unauthenticated "
                         "%s" % (install, remove, unauthenticated))
             if len(remove) > 0:
-                self.error(ERROR_DEP_RESOLUTION_FAILED, 
+                self.error(ERROR_DEP_RESOLUTION_FAILED,
                            "Remove the following packages "
                            "before: %s" % remove)
-                return
             if deb.compare_to_version_in_cache() == \
                apt.debfile.VERSION_OUTDATED:
-                self.message(MESSAGE_NEWER_PACKAGE_EXISTS, 
+                self.message(MESSAGE_NEWER_PACKAGE_EXISTS,
                              "There is a later version of %s "
                              "available in the repositories." % deb.pkgname)
         if self._cache.getChanges():
@@ -1349,20 +1331,17 @@ class PackageKitAptBackend(PackageKitBaseBackend):
         except InstallTimeOutPKError, e:
             self._recover()
             #FIXME: should provide more information
-            self.error(ERROR_UNKNOWN,
+            self.error(ERROR_INTERNAL_ERROR,
                        "Transaction was cancelled since the installation "
                        "of a package hung.\n"
                        "This can be caused by maintainer scripts which "
                        "require input on the terminal:\n%s" % e.message)
-            return
         except PackageManagerFailedPKError, e:
             self._recover()
-            self.error(ERROR_UNKNOWN, "%s\n%s" % (e.message, e.output))
-            return
+            self.error(ERROR_INTERNAL_ERROR, "%s\n%s" % (e.message, e.output))
         except Exception, e:
             self._recover()
             self.error(ERROR_INTERNAL_ERROR, e.message)
-            return
         self.percentage(100)
 
     def simulate_install_files(self, inst_files):
@@ -1378,8 +1357,7 @@ class PackageKitAptBackend(PackageKitBaseBackend):
         for path in inst_files:
             deb = apt.debfile.DebPackage(path, self._cache)
             if not deb.check():
-                self.error(ERROR_UNKNOWN, deb._failureString)
-                return
+                self.error(ERROR_LOCAL_INSTALL_FAILED, deb._failureString)
         self._emit_changes()
 
     @lock_cache
@@ -1438,7 +1416,6 @@ class PackageKitAptBackend(PackageKitBaseBackend):
             else:
                 self.error(ERROR_PACKAGE_NOT_FOUND,
                            "Package name %s could not be resolved" % name)
-                return
 
     def get_depends(self, filters, ids, recursive):
         """Emit all dependencies of the given package ids.
@@ -1566,27 +1543,26 @@ class PackageKitAptBackend(PackageKitBaseBackend):
             if not os.access(path, os.R_OK):
                 if self._cache.has_key("app-install-data") and \
                    self._cache["app-install-data"].isInstalled == False:
-                    self.error(ERROR_UNKNOWN,
+                    self.error(ERROR_INTERNAL_ERROR,
                                "Please install the package "
                                "app-install data for a list of "
                                "applications that can handle files of "
                                "the given type")
                 else:
-                    self.error(ERROR_UNKNOWN,
+                    self.error(ERROR_INTERNAL_ERROR,
                                "The list of applications that can handle "
                                "files of the given type cannot be opened.\n"
                                "Try to reinstall the package "
                                "app-install-data.")
-                return None
+                return
             try:
                 db = gdbm.open(path)
             except:
-                self.error(ERROR_UNKNOWN,
+                self.error(ERROR_INTERNAL_ERROR,
                            "The list of applications that can handle "
                            "files of the given type cannot be opened.\n"
                            "Try to reinstall the package "
                            "app-install-data.")
-                return None
             else:
                 return db
 
@@ -1598,15 +1574,13 @@ class PackageKitAptBackend(PackageKitBaseBackend):
             # The search term from the codec helper looks like this one:
             match = re.match(r"gstreamer([0-9\.]+)\((.+?)\)", search)
             if not match:
-                self.error(ERROR_UNKNOWN,
+                self.error(ERROR_INTERNAL_ERROR,
                            "The search term is invalid")
-                return
             codec = "%s:%s" % (match.group(1), match.group(2))
             db = get_mapping_db("/var/lib/PackageKit/codec-map.gdbm")
             if db == None:
                 self.error(ERROR_INTERNAL_ERROR,
                            "Failed to open codec mapping database")
-                return
             if db.has_key(codec):
                 # The codec mapping db stores the packages as a string
                 # separated by spaces. Each package has its section
@@ -1637,7 +1611,6 @@ class PackageKitAptBackend(PackageKitBaseBackend):
         else:
             self.error(ERROR_NOT_SUPPORTED,
                        "This function is not implemented in this backend")
-            return
 
     def get_files(self, package_ids):
         """
@@ -1673,13 +1646,11 @@ class PackageKitAptBackend(PackageKitBaseBackend):
                                                          progress))
         except:
             self.error(ERROR_NO_CACHE, "Package cache could not be opened")
-            return
         if self._cache._depcache.BrokenCount > 0:
             self.error(ERROR_DEP_RESOLUTION_FAILED,
                        "There are broken dependecies on your system. "
                        "Please use an advanced package manage e.g. "
                        "Synaptic or aptitude to resolve this situation.")
-            return
         self._last_cache_refresh = time.time()
 
     def _recover(self, prange=(95,100)):
@@ -1731,14 +1702,14 @@ class PackageKitAptBackend(PackageKitBaseBackend):
             self._recover()
             self._open_cache(prange=(95,100))
             #FIXME: should provide more information
-            self.error(ERROR_UNKNOWN,
+            self.error(ERROR_INTERNAL_ERROR,
                        "Transaction was cancelled since the installation "
                        "of a package hung.\n"
                        "This can be caused by maintainer scripts which "
                        "require input on the terminal:\n%s" % e.message)
         except PackageManagerFailedPKError, e:
             self._recover()
-            self.error(ERROR_UNKNOWN, "%s\n%s" % (e.message, e.output))
+            self.error(ERROR_INTERNAL_ERROR, "%s\n%s" % (e.message, e.output))
         else:
             return True
         return False
commit 62bfc7148b9062da82a073e7a382ab384f0c0d71
Author: Sebastian Heinlein <devel at glatzor.de>
Date:   Thu Nov 5 22:33:06 2009 +0100

    APT: Replace the _find_package_by_id helper by _get_package_by_id which
    reuses _get_version_by_id

diff --git a/backends/apt/aptBackend.py b/backends/apt/aptBackend.py
index 73a05a0..31e9cb3 100755
--- a/backends/apt/aptBackend.py
+++ b/backends/apt/aptBackend.py
@@ -783,11 +783,7 @@ class PackageKitAptBackend(PackageKitBaseBackend):
         self.allow_cancel(True)
         self._check_init(progress=False)
         for pkg_id in pkg_ids:
-            pkg = self._find_package_by_id(pkg_id)
-            if pkg == None:
-                self.error(ERROR_PACKAGE_NOT_FOUND,
-                           "Package %s isn't available" % id)
-                return
+            pkg = self._get_package_by_id(pkg_id)
             # FIXME add some real data
             if pkg.installed.origins:
                 installed_origin = pkg.installed.origins[0].label
@@ -823,11 +819,7 @@ class PackageKitAptBackend(PackageKitBaseBackend):
         self.allow_cancel(True)
         self._check_init(progress=False)
         for pkg_id in pkg_ids:
-            pkg = self._find_package_by_id(pkg_id)
-            if pkg == None:
-                self.error(ERROR_PACKAGE_NOT_FOUND,
-                           "Package %s isn't available" % id)
-                return
+            pkg = self._get_package_by_id(pkg_id)
             #FIXME: We need more fine grained license information!
             candidate = pkg.candidateOrigin
             if candidate != None and  \
@@ -935,11 +927,7 @@ class PackageKitAptBackend(PackageKitBaseBackend):
         action_group = apt_pkg.GetPkgActionGroup(self._cache._depcache)
         resolver = apt_pkg.GetPkgProblemResolver(self._cache._depcache)
         for id in ids:
-            pkg = self._find_package_by_id(id)
-            if pkg == None:
-                self.error(ERROR_PACKAGE_NOT_FOUND,
-                           "Package %s isn't available" % id)
-                return
+            pkg = self._get_package_by_id(id)
             if not pkg.isInstalled:
                 self.error(ERROR_PACKAGE_NOT_INSTALLED,
                            "Package %s isn't installed" % pkg.name)
@@ -1172,11 +1160,7 @@ class PackageKitAptBackend(PackageKitBaseBackend):
         ac = apt_pkg.GetPkgActionGroup(self._cache._depcache)
         resolver = apt_pkg.GetPkgProblemResolver(self._cache._depcache)
         for id in ids:
-            pkg = self._find_package_by_id(id)
-            if pkg == None:
-                self.error(ERROR_PACKAGE_NOT_FOUND,
-                           "Package %s isn't available" % id)
-                return
+            pkg = self._get_package_by_id(id)
             if not pkg.isInstalled:
                 self.error(ERROR_PACKAGE_NOT_INSTALLED,
                            "%s isn't installed" % pkg.name)
@@ -1299,11 +1283,7 @@ class PackageKitAptBackend(PackageKitBaseBackend):
         ac = apt_pkg.GetPkgActionGroup(self._cache._depcache)
         resolver = apt_pkg.GetPkgProblemResolver(self._cache._depcache)
         for id in ids:
-            pkg = self._find_package_by_id(id)
-            if pkg == None:
-                self.error(ERROR_PACKAGE_NOT_FOUND,
-                           "Package %s isn't available" % id)
-                return
+            pkg = self._get_package_by_id(id)
             if pkg.isInstalled:
                 self.error(ERROR_PACKAGE_ALREADY_INSTALLED,
                            "Package %s is already installed" % pkg.name)
@@ -1666,11 +1646,7 @@ class PackageKitAptBackend(PackageKitBaseBackend):
         """
         self.status(STATUS_INFO)
         for id in package_ids:
-            pkg = self._find_package_by_id(id)
-            if pkg == None:
-                self.error(ERROR_PACKAGE_NOT_FOUND,
-                           "Package %s doesn't exist" % pkg.name)
-                return
+            pkg = self._get_package_by_id(id)
             files = string.join(self._get_installed_files(pkg), ";")
             self.files(id, files)
 
@@ -1973,18 +1949,14 @@ class PackageKitAptBackend(PackageKitBaseBackend):
                     return pkg_ver
         return None
 
-    def _find_package_by_id(self, id):
-        """
-        Return a package matching to the given package id
+    def _get_package_by_id(self, id):
+        """Return the apt.package.Package corresponding to the given
+        package id.
+
+        If the package isn't available error out.
         """
-        # FIXME: Should use package.Version
-        name_raw, version, arch, data = id.split(";", 4)
-        #FIXME: Python-apt doesn't allow unicode as key. See #542965
-        name = str(name_raw)
-        if self._cache.has_key(name):
-            return self._cache[name]
-        else:
-            return None
+        version = self._get_version_by_id(id)
+        return version.package
 
     def _get_version_by_id(self, id):
         """Return the apt.package.Version corresponding to the given
commit 1d96ea962b41f16fff0bbdf648b5f90e6e5c4bbb
Author: Richard Hughes <richard at hughsie.com>
Date:   Thu Nov 5 10:34:25 2009 +0000

    cnf: handle the error condition where the package name would be invalid. Fixes rh#533014

diff --git a/contrib/command-not-found/pk-command-not-found.c b/contrib/command-not-found/pk-command-not-found.c
index 3b91e15..4e3f4b3 100644
--- a/contrib/command-not-found/pk-command-not-found.c
+++ b/contrib/command-not-found/pk-command-not-found.c
@@ -752,6 +752,10 @@ 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]);
+		if (package_ids == NULL) {
+			g_print ("\n");
+			goto out;
+		}
 		len = g_strv_length (package_ids);
 		if (len == 1) {
 			parts = pk_package_id_split (package_ids[0]);
commit 369e6015274bcdd267fd8df89045144fee06f515
Author: Sebastian Heinlein <devel at glatzor.de>
Date:   Thu Nov 5 11:10:09 2009 +0100

    APT: Rewrite get_requires to actually parse the dependecy information
    and takes virtual packages into account. Recursive searching is not
    implemented also or dependencies are handled as hard dependencies.

diff --git a/backends/apt/aptBackend.py b/backends/apt/aptBackend.py
index 92642fd..73a05a0 100755
--- a/backends/apt/aptBackend.py
+++ b/backends/apt/aptBackend.py
@@ -1546,55 +1546,36 @@ class PackageKitAptBackend(PackageKitBaseBackend):
                         # The dependency does not exist
                         emit_blocked_dependency(base_dep, filters=filters)
 
-    def get_requires(self, filter, ids, recursive):
-        """
-        Implement the apt2-get-requires functionality
+    def get_requires(self, filters, ids, recursive):
+        """Emit all packages which depend on the given ids.
+
+        Recursive searching is not supported.
         """
-        pklog.info("Get requires (%s,%s,%s)" % (filter, ids, recursive_text))
-        #FIXME: recursive is not yet implemented
-        if recursive == True:
-            pklog.warn("Recursive dependencies are not implemented")
+        pklog.info("Get requires (%s,%s,%s)" % (filter, ids, recursive))
         self.status(STATUS_DEP_RESOLVE)
         self.percentage(None)
         self._check_init(progress=False)
         self.allow_cancel(True)
-        # Mark all packages for removal
-        resolver = apt_pkg.GetPkgProblemResolver(self._cache._depcache)
-        pkgs = []
         for id in ids:
-            pkg = self._find_package_by_id(id)
-            if pkg == None:
-                self.error(ERROR_PACKAGE_NOT_FOUND,
-                           "Package %s isn't available" % id)
-                return
-            if pkg._pkg.Essential == True:
-                self.error(ERROR_CANNOT_REMOVE_SYSTEM_PACKAGE,
-                           "Package %s cannot be removed." % pkg.name)
-                return
-            pkgs.append(pkg)
-            resolver.Clear(pkg._pkg)
-            resolver.Protect(pkg._pkg)
-            resolver.Remove(pkg._pkg)
-        resolver.InstallProtect()
-        try:
-            resolver.Resolve()
-        except Exception, e:
-            self.error(ERROR_DEP_RESOLUTION_FAILED,
-                       "Error removing %s: %s" % (pkg.name, e))
-            return
-        # Check the status of the resulting changes
-        for p in self._cache.getChanges():
-            if p.markedDelete:
-                if not p in pkgs and self._is_package_visible(p, filter):
-                    self._emit_package(p)
-            else:
-                self.error(ERROR_DEP_RESOLUTION_FAILED,
-                           "Please use an advanced package management tool "
-                           "e.g. Synaptic or aptitude, since there is a "
-                           "complex dependency situation.")
-                return
-        # Clean up
-        self._cache.clear()
+            version = self._get_version_by_id(id)
+            provided = [pro[0] for pro in version._cand.ProvidesList]
+            for pkg in self._cache:
+                if not self._is_package_visible(pkg, filters):
+                    continue
+                if pkg.isInstalled:
+                    pkg_ver = pkg.installed
+                elif pkg.candidate:
+                    pkg_ver = pkg.candidate
+                for dependency in pkg_ver.dependencies:
+                    satisfied = False
+                    for base_dep in dependency.or_dependencies:
+                        if version.package.name == base_dep.name or \
+                           base_dep.name in provided:
+                            satisfied = True
+                            break
+                    if satisfied:
+                        self._emit_package(pkg)
+                        break
 
     def what_provides(self, filters, provides_type, search):
         def get_mapping_db(path):
commit e4693080da5378b5e9c8e3a5624effa6054e5e23
Author: Sebastian Heinlein <devel at glatzor.de>
Date:   Thu Nov 5 09:05:50 2009 +0100

    APT: Rewrite of get_depends. If a dependency cannot be installed emit a
    blocked package. Furthermore allow filtering, resolve virtual packages
    and take recommends into account if APT::Install-Recommands is set.

diff --git a/backends/apt/aptBackend.py b/backends/apt/aptBackend.py
index b8853d2..92642fd 100755
--- a/backends/apt/aptBackend.py
+++ b/backends/apt/aptBackend.py
@@ -1460,70 +1460,91 @@ class PackageKitAptBackend(PackageKitBaseBackend):
                            "Package name %s could not be resolved" % name)
                 return
 
-    def get_depends(self, filter, ids, recursive):
-        """
-        Implement the apt2-get-depends functionality
+    def get_depends(self, filters, ids, recursive):
+        """Emit all dependencies of the given package ids.
 
-        Emit all packages that need to be installed or updated to install
-        the given package ids. It behaves like a preview of the changes
-        required for the installation. An error will be emitted if the 
-        dependecies cannot be satisfied.
-        In contrast to the yum backend the whole dependency resoltions is done 
-        by the package manager. Therefor the list of satisfied packages cannot
-        be computed easily. GDebi features this. Perhaps this should be moved
-        to python-apt.
+        Doesn't support recursive dependency resolution.
         """
-        pklog.info("Get depends (%s,%s,%s)" % (filter, ids, recursive_text))
-        #FIXME: recursive is not yet implemented
-        if recursive == True:
-            pklog.warn("Recursive dependencies are not implemented")
+        def emit_blocked_dependency(base_dependency, pkg=None,
+                                    filters=""):
+            """Send a blocked package signal for the given
+            apt.package.BaseDependency.
+            """
+            filters_lst = filters.split(";")
+            if FILTER_INSTALLED in filters_lst:
+                return
+            if pkg:
+                summary = pkg.summary
+                try:
+                    filters.remove(FILTER_NOT_INSTALLED)
+                except ValueError:
+                    pass
+                if not self._is_package_visible(pkg, filters):
+                    return
+            else:
+                summary = ""
+            if base_dependency.relation:
+                version = "%s%s" % (base_dependency.relation,
+                                    base_dependency.version)
+            else:
+                version = base_dependency.version
+            self.package("%s;%s;;" % (base_dependency.name, version),
+                         INFO_BLOCKED, summary)
+
+        def check_dependency(pkg, base_dep):
+            """Check if the given apt.package.Package can satisfy the
+            BaseDepenendcy and emit the corresponding package signals.
+            """
+            if not self._is_package_visible(pkg, filters):
+                return
+            if base_dep.version:
+                satisfied = False
+                # Sort the version list to check the installed
+                # and candidate before the other ones
+                ver_list = list(pkg.versions)
+                if pkg.installed:
+                    ver_list.remove(pkg.installed)
+                    ver_list.insert(0, pkg.installed)
+                if pkg.candidate:
+                    ver_list.remove(pkg.candidate)
+                    ver_list.insert(0, pkg.candidate)
+                for dep_ver in ver_list:
+                    if apt_pkg.CheckDep(dep_ver.version,
+                                        base_dep.relation,
+                                        base_dep.version):
+                        self._emit_pkg_version(dep_ver)
+                        satisfied = True
+                        break
+                if not satisfied:
+                    emit_blocked_dependency(base_dep, pkg, filters)
+            else:
+                self._emit_package(pkg)
+
+        # Setup the transaction
+        pklog.info("Get depends (%s,%s,%s)" % (filter, ids, recursive))
         self.status(STATUS_QUERY)
         self.percentage(None)
         self._check_init(progress=False)
         self.allow_cancel(True)
 
-        # Mark all packages for installation
-        pkgs = []
-        resolver = apt_pkg.GetPkgProblemResolver(self._cache._depcache)
+        dependency_types = ["PreDepends", "Depends"]
+        if apt_pkg.Config["APT::Install-Recommends"]:
+            dependency_types.append("Recommends")
         for id in ids:
-            pkg = self._find_package_by_id(id)
-            if pkg == None:
-                self.error(ERROR_PACKAGE_NOT_FOUND,
-                           "Package %s isn't available" % id)
-                return
-            pkgs.append(pkg)
-            resolver.Clear(pkg._pkg)
-            resolver.Protect(pkg._pkg)
-        resolver.InstallProtect()
-        try:
-            resolver.Resolve()
-        except Exception, e:
-            #FIXME: Introduce a new info enumerate PK_INFO_MISSING for
-            #       missing dependecies
-            broken = [pkg.name for pkg in self._cache if pkg.is_inst_broken]
-            self.error(ERROR_DEP_RESOLUTION_FAILED,
-                        "Removal would break the following packages: %s" % \
-                        " ".join(broken))
-            return
-        # Check the status of the resulting changes
-        for p in self._cache.getChanges():
-            if p in pkgs: continue
-            if p.markedDelete:
-                # Packagekit policy forbids removing packages for installation
-                self.error(ERROR_DEP_RESOLUTION_FAILED,
-                           "Remove the package %s before" % p.name)
-                return
-            elif p.markedInstall or p.markedUpgrade:
-                if self._is_package_visible(p, filter):
-                    self._emit_package(p)
-            else:
-                self.error(ERROR_DEP_RESOLUTION_FAILED,
-                           "Please use an advanced package management tool "
-                           "e.g. Synaptic or aptitude, since there is a "
-                           "complex dependency situation.")
-                return
-        # Clean up
-        self._cache.clear()
+            version = self._get_version_by_id(id)
+            for dependency in version.get_dependencies(*dependency_types):
+                # Walk through all or_dependencies
+                for base_dep in dependency.or_dependencies:
+                    if self._cache.isVirtualPackage(base_dep.name):
+                        # Check each proivider of a virtual package
+                        for provider in \
+                                self._cache.getProvidingPackages(base_dep.name):
+                            check_dependency(provider, base_dep)
+                    elif base_dep.name in self._cache:
+                        check_dependency(self._cache[base_dep.name], base_dep)
+                    else:
+                        # The dependency does not exist
+                        emit_blocked_dependency(base_dep, filters=filters)
 
     def get_requires(self, filter, ids, recursive):
         """
commit 92429c8c77e61be5273bcdcb7b74e4b5d8b9a226
Author: Sebastian Heinlein <devel at glatzor.de>
Date:   Wed Nov 4 22:06:14 2009 +0100

    APT: Add a helper to get the apt.package.Version instance corresponding
    to a package id

diff --git a/backends/apt/aptBackend.py b/backends/apt/aptBackend.py
index 2a5acfc..b8853d2 100755
--- a/backends/apt/aptBackend.py
+++ b/backends/apt/aptBackend.py
@@ -1984,6 +1984,31 @@ class PackageKitAptBackend(PackageKitBaseBackend):
         else:
             return None
 
+    def _get_version_by_id(self, id):
+        """Return the apt.package.Version corresponding to the given
+        package id.
+
+        If the version isn't available error out.
+        """
+        name, version_string, arch, data = id.split(";", 4)
+        try:
+            pkg = self._cache[name]
+        except:
+            self.error(ERROR_PACKAGE_NOT_FOUND,
+                       "There isn't any package named %s" % name)
+        #FIXME:This requires a not yet released fix in python-apt
+        try:
+            version = pkg.versions[version_string]
+        except:
+            self.error(ERROR_PACKAGE_NOT_FOUND,
+                       "There isn't any verion %s of %s" % (version_string,
+                                                            name))
+        if version.architecture != arch:
+            self.error(ERROR_PACKAGE_NOT_FOUND,
+                       "Version %s of %s isn't available for architecture "
+                       "%s" % (pkg.name, version.version, arch))
+        return version
+
     def _get_installed_files(self, pkg):
         """
         Return the list of unicode names of the files which have
commit 179db96faecbf942b59e4c26eeffad975fafe148
Author: Sebastian Heinlein <devel at glatzor.de>
Date:   Wed Nov 4 10:55:08 2009 +0100

    APT: Fix installing package files from a not ASCII path

diff --git a/backends/apt/aptBackend.py b/backends/apt/aptBackend.py
index 1bae9b5..2a5acfc 100755
--- a/backends/apt/aptBackend.py
+++ b/backends/apt/aptBackend.py
@@ -1364,7 +1364,7 @@ class PackageKitAptBackend(PackageKitBaseBackend):
         d = PackageKitDpkgInstallProgress(self)
         try:
             d.startUpdate()
-            d.install(inst_files)
+            d.install([inst.encode(DEFAULT_ENCODING) for inst in inst_files])
             d.finishUpdate()
         except InstallTimeOutPKError, e:
             self._recover()
commit 0840ef2dd32721c768643b6bbfa1b6b3980341d0
Author: Sebastian Heinlein <devel at glatzor.de>
Date:   Wed Nov 4 10:53:45 2009 +0100

    APT: Do not fail if we cannot unset the locale correctly

diff --git a/backends/apt/aptBackend.py b/backends/apt/aptBackend.py
index 6df3dba..1bae9b5 100755
--- a/backends/apt/aptBackend.py
+++ b/backends/apt/aptBackend.py
@@ -153,7 +153,10 @@ MATCH_CVE="CVE-\d{4}-\d{4}"
 HREF_CVE="http://web.nvd.nist.gov/view/vuln/detail?vulnId=%s"
 
 # Required to get translated descriptions
-locale.setlocale(locale.LC_ALL, "")
+try:
+    locale.setlocale(locale.LC_ALL, "")
+except locale.Error:
+    pklog.debug("Failed to unset locale")
 
 def lock_cache(func):
     """Lock the system package cache before excuting the decorated function and
commit e39cb1df0d1d5c0acd3b6251020104dcc5842480
Author: Sebastian Heinlein <devel at glatzor.de>
Date:   Wed Nov 4 10:49:51 2009 +0100

    Python Backend: Consider the stdin/stdout encoding converting the
    arguments to unicode

diff --git a/lib/python/packagekit/backend.py b/lib/python/packagekit/backend.py
index 9993e72..e76f6da 100644
--- a/lib/python/packagekit/backend.py
+++ b/lib/python/packagekit/backend.py
@@ -21,6 +21,7 @@
 #
 
 # imports
+import locale
 import sys
 import codecs
 import traceback
@@ -31,11 +32,9 @@ from enums import *
 PACKAGE_IDS_DELIM = '&'
 FILENAME_DELIM = '|'
 
-def _to_unicode(txt, encoding='utf-8'):
-    if isinstance(txt, basestring):
-        if not isinstance(txt, unicode):
-            txt = unicode(txt, encoding, errors='replace')
-    return txt
+STDOUT_ENCODING = sys.stdout.encoding or sys.getfilesystemencoding()
+FS_ENCODING = sys.getfilesystemencoding()
+DEFAULT_ENCODING = locale.getpreferredencoding()
 
 # Classes
 
@@ -63,14 +62,14 @@ class PackageKitBaseBackend:
         try:
             self.lang = os.environ['LANG']
         except KeyError, e:
-            print "Error: No LANG envp"
+            self._send("Error: No LANG envp")
 
         # try to get NETWORK state
         try:
             if os.environ['NETWORK'] == 'TRUE':
                 self.has_network = True
         except KeyError, e:
-            print "Error: No NETWORK envp"
+            self._send("Error: No NETWORK envp")
 
         # try to get BACKGROUND state
         try:
@@ -79,6 +78,13 @@ class PackageKitBaseBackend:
         except KeyError, e:
             print "Error: No BACKGROUND envp"
 
+    def _send(self, message):
+        '''Send the given message to stdout'''
+        if not isinstance(message, unicode):
+            message = unicode(message, DEFAULT_ENCODING, "replace")
+        sys.stdout.write(message.encode(STDOUT_ENCODING, "replace") + "\n")
+        sys.stdout.flush()
+
     def doLock(self):
         ''' Generic locking, overide and extend in child class'''
         self._locked = True
@@ -96,11 +102,10 @@ class PackageKitBaseBackend:
         @param percent: Progress percentage (int preferred)
         '''
         if percent == None:
-            print "no-percentage-updates"
+            self._send("no-percentage-updates")
         elif percent == 0 or percent > self.percentage_old:
-            print "percentage\t%i" % (percent)
+            self._send("percentage\t%i" % (percent))
             self.percentage_old = percent
-        sys.stdout.flush()
 
     def sub_percentage(self, percent=None):
         '''
@@ -108,9 +113,8 @@ class PackageKitBaseBackend:
         @param percent: subprogress percentage (int preferred)
         '''
         if percent == 0 or percent > self.sub_percentage_old:
-            print "subpercentage\t%i" % (percent)
+            self._send("subpercentage\t%i" % (percent))
             self.sub_percentage_old = percent
-        sys.stdout.flush()
 
     def error(self, err, description, exit=True):
         '''
@@ -124,11 +128,9 @@ class PackageKitBaseBackend:
             self.unLock()
 
         # this should be fast now
-        print "error\t%s\t%s" % (err, description)
-        sys.stdout.flush()
+        self._send("error\t%s\t%s" % (err, description))
         if exit:
-            print "finished"
-            sys.stdout.flush()
+            self._send("finished")
             sys.exit(1)
 
     def message(self, typ, msg):
@@ -136,8 +138,7 @@ class PackageKitBaseBackend:
         send 'message' signal
         @param typ: MESSAGE_BROKEN_MIRROR
         '''
-        print "message\t%s\t%s" % (typ, msg)
-        sys.stdout.flush()
+        self._send("message\t%s\t%s" % (typ, msg))
 
     def package(self, package_id, status, summary):
         '''
@@ -146,8 +147,7 @@ class PackageKitBaseBackend:
         @param package_id: The package ID name, e.g. openoffice-clipart;2.6.22;ppc64;fedora
         @param summary: The package Summary
         '''
-        print >> sys.stdout, "package\t%s\t%s\t%s" % (status, package_id, summary)
-        sys.stdout.flush()
+        self._send("package\t%s\t%s\t%s" % (status, package_id, summary))
 
     def media_change_required(self, mtype, id, text):
         '''
@@ -156,8 +156,7 @@ class PackageKitBaseBackend:
         @param id: the localised label of the media
         @param text: the localised text describing the media
         '''
-        print >> sys.stdout, "media-change-required\t%s\t%s\t%s" % (mtype, id, text)
-        sys.stdout.flush()
+        self._send("media-change-required\t%s\t%s\t%s" % (mtype, id, text))
 
     def distro_upgrade(self, dtype, name, summary):
         '''
@@ -166,16 +165,14 @@ class PackageKitBaseBackend:
         @param name: The distro name, e.g. "fedora-9"
         @param summary: The localised distribution name and description
         '''
-        print >> sys.stdout, "distro-upgrade\t%s\t%s\t%s" % (dtype, name, summary)
-        sys.stdout.flush()
+        self._send("distro-upgrade\t%s\t%s\t%s" % (dtype, name, summary))
 
     def status(self, state):
         '''
         send 'status' signal
         @param state: STATUS_DOWNLOAD, STATUS_INSTALL, STATUS_UPDATE, STATUS_REMOVE, STATUS_WAIT
         '''
-        print "status\t%s" % (state)
-        sys.stdout.flush()
+        self._send("status\t%s" % (state))
 
     def repo_detail(self, repoid, name, state):
         '''
@@ -183,16 +180,15 @@ class PackageKitBaseBackend:
         @param repoid: The repo id tag
         @param state: false is repo is disabled else true.
         '''
-        print >> sys.stdout, "repo-detail\t%s\t%s\t%s" % (repoid, name, _bool_to_text(state))
-        sys.stdout.flush()
+        self._send("repo-detail\t%s\t%s\t%s" % (repoid, name,
+                                                _bool_to_text(state)))
 
     def data(self, data):
         '''
         send 'data' signal:
         @param data:  The current worked on package
         '''
-        print "data\t%s" % (data)
-        sys.stdout.flush()
+        self._send("data\t%s" % (data))
 
     def details(self, package_id, package_license, group, desc, url, bytes):
         '''
@@ -204,16 +200,16 @@ class PackageKitBaseBackend:
         @param url: The upstream project homepage
         @param bytes: The size of the package, in bytes
         '''
-        print >> sys.stdout, "details\t%s\t%s\t%s\t%s\t%s\t%ld" % (package_id, package_license, group, desc, url, bytes)
-        sys.stdout.flush()
+        self._send("details\t%s\t%s\t%s\t%s\t%s\t%ld" % (package_id,
+                                                         package_license, group,
+                                                         desc, url, bytes))
 
     def files(self, package_id, file_list):
         '''
         Send 'files' signal
         @param file_list: List of the files in the package, separated by ';'
         '''
-        print >> sys.stdout, "files\t%s\t%s" % (package_id, file_list)
-        sys.stdout.flush()
+        self._send("files\t%s\t%s" % (package_id, file_list))
 
     def category(self, parent_id, cat_id, name, summary, icon):
         '''
@@ -224,15 +220,14 @@ class PackageKitBaseBackend:
         summery   : a summary of the category in current locale.
         icon      : an icon name to represent the category
         '''
-        print >> sys.stdout,"category\t%s\t%s\t%s\t%s\t%s" % (parent_id, cat_id, name, summary, icon)
-        sys.stdout.flush()
+        self._send("category\t%s\t%s\t%s\t%s\t%s" % (parent_id, cat_id, name,
+                                                     summary, icon))
 
     def finished(self):
         '''
         Send 'finished' signal
         '''
-        print >> sys.stdout, "finished"
-        sys.stdout.flush()
+        self._send("finished")
 
     def update_detail(self, package_id, updates, obsoletes, vendor_url, bugzilla_url, cve_url, restart, update_text, changelog, state, issued, updated):
         '''
@@ -250,8 +245,10 @@ class PackageKitBaseBackend:
         @param issued:
         @param updated:
         '''
-        print >> sys.stdout, "updatedetail\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s" % (package_id, updates, obsoletes, vendor_url, bugzilla_url, cve_url, restart, update_text, changelog, state, issued, updated)
-        sys.stdout.flush()
+        self._send("updatedetail\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t"
+                  "%s" % (package_id, updates, obsoletes, vendor_url,
+                          bugzilla_url, cve_url, restart, update_text,
+                          changelog, state, issued, updated))
 
     def require_restart(self, restart_type, details):
         '''
@@ -259,8 +256,7 @@ class PackageKitBaseBackend:
         @param restart_type: RESTART_SYSTEM, RESTART_APPLICATION, RESTART_SESSION
         @param details: Optional details about the restart
         '''
-        print "requirerestart\t%s\t%s" % (restart_type, details)
-        sys.stdout.flush()
+        self._send("requirerestart\t%s\t%s" % (restart_type, details))
 
     def allow_cancel(self, allow):
         '''
@@ -271,8 +267,7 @@ class PackageKitBaseBackend:
             data = 'true'
         else:
             data = 'false'
-        print "allow-cancel\t%s" % (data)
-        sys.stdout.flush()
+        self._send("allow-cancel\t%s" % (data))
 
     def repo_signature_required(self, package_id, repo_name, key_url, key_userid, key_id, key_fingerprint, key_timestamp, sig_type):
         '''
@@ -286,10 +281,9 @@ class PackageKitBaseBackend:
         @param key_timestamp:   Key timestamp
         @param sig_type:        Key type (GPG)
         '''
-        print "repo-signature-required\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s" % (
-            package_id, repo_name, key_url, key_userid, key_id, key_fingerprint, key_timestamp, sig_type
-            )
-        sys.stdout.flush()
+        self._send("repo-signature-required\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s" % \
+                   (package_id, repo_name, key_url, key_userid, key_id,
+                    key_fingerprint, key_timestamp, sig_type))
 
 #
 # Backend Action Methods
@@ -541,6 +535,7 @@ class PackageKitBaseBackend:
         self.dispatch_command(cmd, args)
 
     def dispatch_command(self, cmd, args):
+        args = [arg.decode(FS_ENCODING) for arg in args]
         if cmd == 'download-packages':
             directory = args[0]
             package_ids = args[1].split(PACKAGE_IDS_DELIM)
@@ -629,7 +624,7 @@ class PackageKitBaseBackend:
             self.finished()
         elif cmd == 'search-details':
             options = args[0]
-            values = _to_unicode(args[1])
+            values = args[1]
             self.search_details(options, values)
             self.finished()
         elif cmd == 'search-file':
@@ -644,7 +639,7 @@ class PackageKitBaseBackend:
             self.finished()
         elif cmd == 'search-name':
             options = args[0]
-            values = _to_unicode(args[1])
+            values = args[1]
             self.search_name(options, values)
             self.finished()
         elif cmd == 'signature-install':
@@ -663,7 +658,7 @@ class PackageKitBaseBackend:
         elif cmd == 'what-provides':
             filters = args[0]
             provides_type = args[1]
-            values = _to_unicode(args[2])
+            values = args[2]
             self.what_provides(filters, provides_type, values)
             self.finished()
         elif cmd == 'set-locale':
commit 3c6aae50a3805ca5196dcda45e381b170a5d6cb2
Author: Sebastian Heinlein <devel at glatzor.de>
Date:   Wed Nov 4 10:34:05 2009 +0100

    APT: Show a better error report for broken packages in get_depends

diff --git a/backends/apt/aptBackend.py b/backends/apt/aptBackend.py
index dad81a4..6df3dba 100755
--- a/backends/apt/aptBackend.py
+++ b/backends/apt/aptBackend.py
@@ -1497,8 +1497,10 @@ class PackageKitAptBackend(PackageKitBaseBackend):
         except Exception, e:
             #FIXME: Introduce a new info enumerate PK_INFO_MISSING for
             #       missing dependecies
+            broken = [pkg.name for pkg in self._cache if pkg.is_inst_broken]
             self.error(ERROR_DEP_RESOLUTION_FAILED,
-                       "Dependecies for %s cannot be satisfied: %s" % e)
+                        "Removal would break the following packages: %s" % \
+                        " ".join(broken))
             return
         # Check the status of the resulting changes
         for p in self._cache.getChanges():
commit 21a9e1c129040df04e65fb54dd820cb8f76570ea
Author: Sebastian Heinlein <devel at glatzor.de>
Date:   Wed Nov 4 10:14:25 2009 +0100

    APT: Fix emitting the correct installed/available status for packages

diff --git a/backends/apt/aptBackend.py b/backends/apt/aptBackend.py
index b4f9f5f..dad81a4 100755
--- a/backends/apt/aptBackend.py
+++ b/backends/apt/aptBackend.py
@@ -1791,10 +1791,10 @@ class PackageKitAptBackend(PackageKitBaseBackend):
         """
         Send the Package signal for a given apt package
         """
-        if pkg.installed and (not force_candidate and not pkg.candidate):
-            self._emit_pkg_version(pkg.installed, info)
-        elif pkg.candidate:
+        if (not pkg.isInstalled or force_candidate) and pkg.candidate:
             self._emit_pkg_version(pkg.candidate, info)
+        elif pkg.isInstalled:
+            self._emit_pkg_version(pkg.installed, info)
         else:
             pklog.debug("Package %s hasn't got any version." % pkg.name)
 
@@ -1808,7 +1808,7 @@ class PackageKitAptBackend(PackageKitBaseBackend):
                               version.architecture, origin)
         section = version.section.split("/")[-1]
         if not info:
-            if version.package == version.package.installed:
+            if version == version.package.installed:
                 if section == "metapackages":
                     info = INFO_COLLECTION_INSTALLED
                 else:
commit bdcd051da010d6fb35db192f5213ff3c3b90dcca
Author: Richard Hughes <richard at hughsie.com>
Date:   Mon Nov 2 17:41:38 2009 +0000

    trivial: post release version bump

diff --git a/RELEASE b/RELEASE
index 20b6870..c2ed4a1 100644
--- a/RELEASE
+++ b/RELEASE
@@ -2,7 +2,7 @@ PackageKit Release Notes
 
 1. Write NEWS entries for PackageKit in the same format as usual.
 
-git shortlog PACKAGEKIT_0_5_3.. | grep -i -v trivial | grep -v Merge > NEWS.new
+git shortlog PACKAGEKIT_0_5_4.. | grep -i -v trivial | grep -v Merge > NEWS.new
 
 2. Add download date to docs/html/pk-download.html, save file.
 
@@ -10,8 +10,8 @@ git shortlog PACKAGEKIT_0_5_3.. | grep -i -v trivial | grep -v Merge > NEWS.new
 
 4. Commit changes in PackageKit git:
 
-git commit -a -m "Release version 0.5.4"
-git tag -a -f -m "Release 0.5.43" PACKAGEKIT_0_5_4
+git commit -a -m "Release version 0.5.5"
+git tag -a -f -m "Release 0.5.5" PACKAGEKIT_0_5_5
 git push --tags
 git push
 git push git+ssh://hughsient@git.freedesktop.org/git/packagekit
@@ -35,9 +35,9 @@ git push
 10. Send an email to packagekit at lists.freedesktop.org
 
 =================================================
-Subject: PackageKit 0.5.4 released!
+Subject: PackageKit 0.5.5 released!
 
-Today I released PackageKit 0.5.4.
+Today I released PackageKit 0.5.5.
 
 PackageKit release notes: http://cgit.freedesktop.org/packagekit/tree/NEWS
 
diff --git a/configure.ac b/configure.ac
index 46b81d4..7051417 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3,7 +3,7 @@ AC_PREREQ(2.52)
 
 m4_define([pk_major_version], [0])
 m4_define([pk_minor_version], [5])
-m4_define([pk_micro_version], [4])
+m4_define([pk_micro_version], [5])
 m4_define([pk_version],
           [pk_major_version.pk_minor_version.pk_micro_version])
 
commit 6b07e91568d1f0f4b9893bf8d9b97a1469fd30f5
Author: Richard Hughes <richard at hughsie.com>
Date:   Mon Nov 2 17:19:06 2009 +0000

    Release version 0.5.4

diff --git a/NEWS b/NEWS
index 57ed0a8..e528482 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,65 @@
+Version 0.5.4
+~~~~~~~~~~~~~
+Released: 2009-11-02
+
+Translations
+ - Updated translation for Japanese (hyuuga)
+ - Updated translation for Tamil (ifelix)
+ - Updated translation for Brazilian Portuguese (igor)
+ - Updated translation for Serbian (kmilos)
+ - Updated translation for Ukrainian (mvdz)
+ - Updated translation for Italian (perplex)
+ - Updated translation for Portuguese (ruigo)
+ - Updated translation for Greek (thalia)
+
+Backends
+ - apt: Add support for allow_deps of RemovePackages (Sebastian Heinlein)
+ - apt: Add support for only_trusted (Sebastian Heinlein)
+ - apt: Add support for SimulateInstallFiles (Sebastian Heinlein)
+ - apt: Add support for Simulate(Install|Remove|Update) (Sebastian Heinlein)
+ - apt: Allow file name alternation in SearchFile (Sebastian Heinlein)
+ - apt: Don't fail if the syslog daemon is not available (Sebastian Heinlein)
+ - apt: wait until the lock is freed again rather than failing straight away (Sebastian Heinlein)
+ - apt: Make the InstallProgress more safe to not fail dpkg triggers messages (Sebastian Heinlein)
+ - apt: Only use apt-file when not searching exclusively for installed packages (Sebastian Heinlein)
+ - apt: Optionally make use of apt-file to search for files in not installed packages (Sebastian Heinlein)
+ - apt: Respect the SearchFile value specification (Sebastian Heinlein)
+ - aptcc: Added install/remove/update support in non-interactive mode (Daniel Nicoletti)
+ - aptcc: cleaned lots of unused code, merged the dist-upgrade code (Daniel Nicoletti)
+ - aptcc: Emit a useful message while conffiles are not well handled (Daniel Nicoletti)
+ - poldek: Implemented SimulateInstallPackages, SimulateRemovePackages and SimulateUpdatePackages (Marcin Banasiak)
+ - urpmi: Added get_repo_list method implementation (Aurelien Lefebvre)
+ - urpmi: Added repo_enable method implementation (Aurelien Lefebvre)
+ - yum: Add a few more entries in the yum-comps mapping (Richard Hughes)
+ - yum: Disable repos that are not contactable (Richard Hughes)
+ - yum: Only advertise GetDistroUpgrades if the preupgrade binary is present (Richard Hughes)
+ - yum: Copy the check for .src.rpm packages to the simulate phase to fix rh#530264 (Richard Hughes)
+ - zypp: Add support for get_mime_types (Scott Reeves)
+
+New Features
+ - Add a vtable entry get_roles() to allow the backend to override what is advertised by the daemon (Richard Hughes)
+ - glib2: Add an 'idle' parameter to PkClient to show when all pending transactions have finished (Richard Hughes)
+ - glib2: Add a package property to PkProgress so we can track the complete package object (Richard Hughes)
+ - packagekit-qt: Updated the API to have all the new enums and use the properties (Daniel Nicoletti)
+
+Bugfixes:
+ - Add the missing InstallSignature role from the backend auto-detection. Fixes rh#530945 (Richard Hughes)
+ - Ensure we emulate FINISHED correctly for non-simultaneous backends (Richard Hughes)
+ - Raise some of the DoS limits in the config file as it causes gnome-shell not to install properly (Richard Hughes)
+ - cnf: don't exit before we try to search if no alternatives were found (Richard Hughes)
+ - Fix up some html problems (Carlo Marcelo Arenas Belon)
+ - Don't prompt for the authentication dialog when we set the proxy to the same as it was before (Richard Hughes)
+ - Ensure we print a newline if command-not-found finds exactly 0 possible results (Richard Hughes)
+ - Ensure we save the proxy to the database even without PolicyKit (Richard Hughes)
+ - glib2: ensure we send PK_STATUS_ENUM_FINISHED even if the transaction has failed (Richard Hughes)
+ - glib2: Fix a TODO where we would show the original package on the simulate screen of glib2 applications (Richard Hughes)
+ - glib2: Only set the package-id in PkProgress if LastPackage has been ever set (Richard Hughes)
+ - glib2: Remove all the finished packages before we pass the result to a simulate handler (Richard Hughes)
+ - glib2: Rename the 'id' parameter 'package-id' so it matches the other objects (Richard Hughes)
+ - gtk-module: Check the language code exists before we search for it. Fixes half of rh#531105 (Richard Hughes)
+ - packagekit-qt: Fixed filters bug (Daniel Nicoletti)
+ - When cancelling, don't check the UID if the sender matches (Richard Hughes)
+
 Version 0.5.3
 ~~~~~~~~~~~~~
 Released: 2009-10-05
diff --git a/configure.ac b/configure.ac
index 91f3122..46b81d4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -35,7 +35,7 @@ AC_SUBST(PK_VERSION)
 # AGE		If libpackagekit can be linked into executables which can be
 # 		built with previous versions of this library. Don't use.
 LT_CURRENT=12
-LT_REVISION=2
+LT_REVISION=3
 LT_AGE=0
 AC_SUBST(LT_CURRENT)
 AC_SUBST(LT_REVISION)
diff --git a/docs/html/pk-download.html b/docs/html/pk-download.html
index 44d0754..a94f906 100644
--- a/docs/html/pk-download.html
+++ b/docs/html/pk-download.html
@@ -72,6 +72,7 @@ Releases are normally once every 3-4 weeks.
 <tr><td>0.5.1</td><td></td><td>2009-08-03</td></tr>
 <tr><td>0.5.2</td><td></td><td>2009-09-07</td></tr>
 <tr><td>0.5.3</td><td></td><td>2009-10-05</td></tr>
+<tr><td>0.5.4</td><td></td><td>2009-11-02</td></tr>
 </table>
 <h3>
 ABI Stable Versions:
commit e030581b7813e32d7f1194e60dc315d1278f7cf9
Merge: c050c64... 8fd06eb...
Author: Sebastian Heinlein <devel at glatzor.de>
Date:   Mon Nov 2 19:59:34 2009 +0100

    Merge branch 'master' of git+ssh://git.packagekit.org/srv/git/PackageKit

commit 8fd06eb77462892052d569733a5ec87276c8a2ec
Author: vpv <vpv at fedoraproject.org>
Date:   Mon Nov 2 15:08:12 2009 +0000

    Sending translation for Finnish

diff --git a/po/fi.po b/po/fi.po
index e4e440a..07cda4e 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -6,8 +6,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: packagekit\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-09-20 14:41+0000\n"
-"PO-Revision-Date: 2009-09-20 21:50+0300\n"
+"POT-Creation-Date: 2009-11-02 09:09+0000\n"
+"PO-Revision-Date: 2009-11-02 17:07+0200\n"
 "Last-Translator: Ville-Pekka Vainio <vpivaini at cs.helsinki.fi>\n"
 "Language-Team: Finnish <laatu at lokalisointi.org>\n"
 "MIME-Version: 1.0\n"
@@ -16,115 +16,115 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
 #. TRANSLATORS: this is an atomic transaction
-#: ../client/pk-console.c:142
+#: ../client/pk-console.c:143
 msgid "Transaction"
 msgstr "Transaktio"
 
 #. TRANSLATORS: this is the time the transaction was started in system timezone
-#: ../client/pk-console.c:144
+#: ../client/pk-console.c:145
 msgid "System time"
 msgstr "Järjestelmän aika"
 
 #. TRANSLATORS: this is if the transaction succeeded or not
-#: ../client/pk-console.c:146
+#: ../client/pk-console.c:147
 msgid "Succeeded"
 msgstr "Onnistui"
 
-#: ../client/pk-console.c:146
+#: ../client/pk-console.c:147
 msgid "True"
 msgstr "Tosi"
 
-#: ../client/pk-console.c:146
+#: ../client/pk-console.c:147
 msgid "False"
 msgstr "Epätosi"
 
 #. TRANSLATORS: this is the transactions role, e.g. "update-system"
 #. TRANSLATORS: the trasaction role, e.g. update-system
-#: ../client/pk-console.c:148 ../src/pk-polkit-action-lookup.c:336
+#: ../client/pk-console.c:149 ../src/pk-polkit-action-lookup.c:336
 msgid "Role"
 msgstr "Rooli"
 
 #. TRANSLATORS: this is The duration of the transaction
-#: ../client/pk-console.c:153
+#: ../client/pk-console.c:154
 msgid "Duration"
 msgstr "Kesto"
 
-#: ../client/pk-console.c:153
+#: ../client/pk-console.c:154
 msgid "(seconds)"
 msgstr "(sekuntia)"
 
 #. 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:157 ../src/pk-polkit-action-lookup.c:350
+#: ../client/pk-console.c:158 ../src/pk-polkit-action-lookup.c:350
 msgid "Command line"
 msgstr "Komentorivi"
 
 #. TRANSLATORS: this is the user ID of the user that started the action
-#: ../client/pk-console.c:159
+#: ../client/pk-console.c:160
 msgid "User ID"
 msgstr "Käyttäjän tunniste"
 
 #. TRANSLATORS: this is the username, e.g. hughsie
-#: ../client/pk-console.c:166
+#: ../client/pk-console.c:167
 msgid "Username"
 msgstr "Käyttäjätunnus"
 
 #. TRANSLATORS: this is the users real name, e.g. "Richard Hughes"
-#: ../client/pk-console.c:170
+#: ../client/pk-console.c:171
 msgid "Real name"
 msgstr "Oikea nimi"
 
-#: ../client/pk-console.c:178
+#: ../client/pk-console.c:179
 msgid "Affected packages:"
 msgstr "Käsiteltävät paketit:"
 
-#: ../client/pk-console.c:180
+#: ../client/pk-console.c:181
 msgid "Affected packages: None"
 msgstr "Käsiteltävät paketit: Ei yhtään"
 
 #. TRANSLATORS: this is the distro, e.g. Fedora 10
-#: ../client/pk-console.c:200
+#: ../client/pk-console.c:201
 msgid "Distribution"
 msgstr "Jakeluversio"
 
 #. TRANSLATORS: this is type of update, stable or testing
-#: ../client/pk-console.c:202
+#: ../client/pk-console.c:203
 msgid "Type"
 msgstr "Tyyppi"
 
 #. TRANSLATORS: this is any summary text describing the upgrade
 #. TRANSLATORS: this is the summary of the group
-#: ../client/pk-console.c:204 ../client/pk-console.c:225
+#: ../client/pk-console.c:205 ../client/pk-console.c:226
 msgid "Summary"
 msgstr "Yhteenveto"
 
 #. TRANSLATORS: this is the group category name
-#: ../client/pk-console.c:214
+#: ../client/pk-console.c:215
 msgid "Category"
 msgstr "Luokka"
 
 #. TRANSLATORS: this is group identifier
-#: ../client/pk-console.c:216
+#: ../client/pk-console.c:217
 msgid "ID"
 msgstr "Tunniste"
 
 #. TRANSLATORS: this is the parent group
-#: ../client/pk-console.c:219
+#: ../client/pk-console.c:220
 msgid "Parent"
 msgstr "Pääluokka"
 
 #. TRANSLATORS: this is the name of the parent group
-#: ../client/pk-console.c:222
+#: ../client/pk-console.c:223
 msgid "Name"
 msgstr "Nimi"
 
 #. TRANSLATORS: this is preferred icon for the group
-#: ../client/pk-console.c:228
+#: ../client/pk-console.c:229
 msgid "Icon"
 msgstr "Kuvake"
 
 #. TRANSLATORS: this is a header for the package that can be updated
-#: ../client/pk-console.c:242
+#: ../client/pk-console.c:243
 msgid "Details about the update:"
 msgstr "Tietoja päivityksestä:"
 
@@ -132,8 +132,8 @@ msgstr "Tietoja päivityksestä:"
 #. 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:248 ../lib/packagekit-glib2/pk-task-text.c:105
-#: ../lib/packagekit-glib2/pk-task-text.c:172
+#: ../client/pk-console.c:249 ../lib/packagekit-glib2/pk-task-text.c:107
+#: ../lib/packagekit-glib2/pk-task-text.c:174
 #: ../src/pk-polkit-action-lookup.c:361
 msgid "Package"
 msgid_plural "Packages"
@@ -141,114 +141,114 @@ msgstr[0] "Paketti"
 msgstr[1] "Paketit"
 
 #. TRANSLATORS: details about the update, any packages that this update updates
-#: ../client/pk-console.c:251
+#: ../client/pk-console.c:252
 msgid "Updates"
 msgstr "Päivitykset"
 
 #. TRANSLATORS: details about the update, any packages that this update obsoletes
-#: ../client/pk-console.c:255
+#: ../client/pk-console.c:256
 msgid "Obsoletes"
 msgstr "Vanhentaa"
 
 #. TRANSLATORS: details about the update, the vendor URLs
 #. TRANSLATORS: the vendor (e.g. vmware) that is providing the EULA
-#: ../client/pk-console.c:259 ../lib/packagekit-glib2/pk-task-text.c:175
+#: ../client/pk-console.c:260 ../lib/packagekit-glib2/pk-task-text.c:177
 msgid "Vendor"
 msgstr "Toimittaja"
 
 #. TRANSLATORS: details about the update, the bugzilla URLs
-#: ../client/pk-console.c:263
+#: ../client/pk-console.c:264
 msgid "Bugzilla"
 msgstr "Bugzilla"
 
 #. TRANSLATORS: details about the update, the CVE URLs
-#: ../client/pk-console.c:267
+#: ../client/pk-console.c:268
 msgid "CVE"
 msgstr "CVE"
 
 #. TRANSLATORS: details about the update, if the package requires a restart
-#: ../client/pk-console.c:271
+#: ../client/pk-console.c:272
 msgid "Restart"
 msgstr "Uudelleenkäynnistys"
 
 #. TRANSLATORS: details about the update, any description of the update
-#: ../client/pk-console.c:275
+#: ../client/pk-console.c:276
 msgid "Update text"
 msgstr "Päivityksen kuvaus"
 
 #. TRANSLATORS: details about the update, the changelog for the package
-#: ../client/pk-console.c:279
+#: ../client/pk-console.c:280
 msgid "Changes"
 msgstr "Muutokset"
 
 #. TRANSLATORS: details about the update, the ongoing state of the update
-#: ../client/pk-console.c:283
+#: ../client/pk-console.c:284
 msgid "State"
 msgstr "Tila"
 
 #. TRANSLATORS: details about the update, date the update was issued
-#: ../client/pk-console.c:288
+#: ../client/pk-console.c:289
 msgid "Issued"
 msgstr "Julkaistu"
 
 #. TRANSLATORS: details about the update, date the update was updated
 #. TRANSLATORS: The action of the package, in past tense
-#: ../client/pk-console.c:293 ../lib/packagekit-glib2/pk-console-shared.c:494
+#: ../client/pk-console.c:294 ../lib/packagekit-glib2/pk-console-shared.c:502
 msgid "Updated"
 msgstr "Päivitetty"
 
 #. TRANSLATORS: if the repo is enabled
-#: ../client/pk-console.c:311
+#: ../client/pk-console.c:312
 msgid "Enabled"
 msgstr "Käytössä"
 
 #. TRANSLATORS: if the repo is disabled
-#: ../client/pk-console.c:314
+#: ../client/pk-console.c:315
 msgid "Disabled"
 msgstr "Poissa käytöstä"
 
 #. TRANSLATORS: a package requires the system to be restarted
-#: ../client/pk-console.c:336
+#: ../client/pk-console.c:337
 msgid "System restart required by:"
 msgstr "Järjestelmän uudelleenkäynnistyksen tarvitsee:"
 
 #. TRANSLATORS: a package requires the session to be restarted
-#: ../client/pk-console.c:339
+#: ../client/pk-console.c:340
 msgid "Session restart required:"
 msgstr "Istunnon uudelleenkäynnistyksen tarvitsee"
 
 #. TRANSLATORS: a package requires the system to be restarted due to a security update
-#: ../client/pk-console.c:342
+#: ../client/pk-console.c:343
 msgid "System restart (security) required by:"
 msgstr "Järjestelmän uudelleenkäynnistyksen (turvallisuussyistä) tarvitsee:"
 
 #. TRANSLATORS: a package requires the session to be restarted due to a security update
-#: ../client/pk-console.c:345
+#: ../client/pk-console.c:346
 msgid "Session restart (security) required:"
 msgstr "Istunnon uudelleenkäynnistyksen (turvallisuussyistä) tarvitsee:"
 
 #. TRANSLATORS: a package requires the application to be restarted
-#: ../client/pk-console.c:348
+#: ../client/pk-console.c:349
 msgid "Application restart required by:"
 msgstr "Sovelluksen uudelleenkäynnistyksen tarvitsee"
 
 #. TRANSLATORS: This a list of details about the package
-#: ../client/pk-console.c:365
+#: ../client/pk-console.c:366
 msgid "Package description"
 msgstr "Paketin kuvaus"
 
 #. TRANSLATORS: This a message (like a little note that may be of interest) from the transaction
-#: ../client/pk-console.c:383
+#: ../client/pk-console.c:384
 msgid "Message:"
 msgstr "Viesti:"
 
 #. TRANSLATORS: This where the package has no files
-#: ../client/pk-console.c:397
+#: ../client/pk-console.c:398
 msgid "No files"
 msgstr "Ei tiedostoja"
 
 #. TRANSLATORS: This a list files contained in the package
-#: ../client/pk-console.c:402
+#: ../client/pk-console.c:403
 msgid "Package files"
 msgstr "Paketin tiedostot"
 
@@ -257,28 +257,25 @@ msgstr "Paketin tiedostot"
 msgid "Fatal error"
 msgstr "Vakava virhe"
 
-#. TRANSLATORS: we failed, but there was no error set
-#: ../client/pk-console.c:488
-msgid "Transaction failed with no error"
-msgstr "Transaktio epäonnistui, mutta virhetietoja ei ole asetettu"
-
 #. TRANSLATORS: the transaction failed in a way we could not expect
-#: ../client/pk-console.c:493
+#: ../client/pk-console.c:484
+#: ../contrib/command-not-found/pk-command-not-found.c:430
+#: ../contrib/command-not-found/pk-command-not-found.c:597
 msgid "The transaction failed"
 msgstr "Transaktio epäonnistui"
 
 #. TRANSLATORS: a package needs to restart their system
-#: ../client/pk-console.c:567
+#: ../client/pk-console.c:552
 msgid "Please restart the computer to complete the update."
 msgstr "Käynnistä tietokone uudelleen päivityksen viimeistelemiseksi."
 
 #. TRANSLATORS: a package needs to restart the session
-#: ../client/pk-console.c:570
+#: ../client/pk-console.c:555
 msgid "Please logout and login to complete the update."
 msgstr "Kirjaudu ulos ja takaisin sisään päivityksen viimeistelemiseksi."
 
 #. TRANSLATORS: a package needs to restart their system (due to security)
-#: ../client/pk-console.c:573
+#: ../client/pk-console.c:558
 msgid ""
 "Please restart the computer to complete the update as important security "
 "updates have been installed."
@@ -287,7 +284,7 @@ msgstr ""
 "turvallisuuspäivityksiä on asennettu."
 
 #. TRANSLATORS: a package needs to restart the session (due to security)
-#: ../client/pk-console.c:576
+#: ../client/pk-console.c:561
 msgid ""
 "Please logout and login to complete the update as important security updates "
 "have been installed."
@@ -296,19 +293,19 @@ msgstr ""
 "turvallisuuspäivityksiä on asennettu."
 
 #. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
-#: ../client/pk-console.c:597
+#: ../client/pk-console.c:584
 #, c-format
 msgid "This tool could not find any available package: %s"
 msgstr "Tämä työkalu ei löytänyt saatavilla olevaa pakettia: %s"
 
 #. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
-#: ../client/pk-console.c:625
+#: ../client/pk-console.c:612
 #, c-format
 msgid "This tool could not find the installed package: %s"
 msgstr "Tämä työkalu ei löytänyt asennettua pakettia: %s"
 
 #. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
-#: ../client/pk-console.c:653 ../client/pk-console.c:681
+#: ../client/pk-console.c:640 ../client/pk-console.c:668
 #, c-format
 msgid "This tool could not find the package: %s"
 msgstr "Tämä työkalu ei löytänyt pakettia: %s"
@@ -317,60 +314,73 @@ msgstr "Tämä työkalu ei löytänyt pakettia: %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:709 ../client/pk-console.c:737
-#: ../client/pk-console.c:765 ../client/pk-console.c:793
-#: ../client/pk-console.c:821
+#: ../client/pk-console.c:696 ../client/pk-console.c:724
+#: ../client/pk-console.c:752 ../client/pk-console.c:780
+#: ../client/pk-console.c:808
 #, c-format
 msgid "This tool could not find all the packages: %s"
 msgstr "Tämä työkalu ei löytänyt paketteja: %s"
 
 #. TRANSLATORS: This is when the daemon crashed, and we are up shit creek without a paddle
-#: ../client/pk-console.c:850
+#: ../client/pk-console.c:837
 msgid "The daemon crashed mid-transaction!"
 msgstr "Taustaprosessi kaatui kesken toimenpiteen"
 
 #. TRANSLATORS: This is the header to the --help menu
-#: ../client/pk-console.c:884
+#: ../client/pk-console.c:871
 msgid "PackageKit Console Interface"
 msgstr "PackageKitin konsolikäyttöliittymä"
 
 #. these are commands we can use with pkcon
-#: ../client/pk-console.c:886
+#: ../client/pk-console.c:873
 msgid "Subcommands:"
 msgstr "Alikomennot:"
 
 #. TRANSLATORS: we keep a database updated with the time that an action was last executed
-#: ../client/pk-console.c:965
+#: ../client/pk-console.c:952
 msgid "Failed to get the time since this action was last completed"
 msgstr "Tämän toiminnon edellisen suorittamisen aikaa ei saatu"
 
 #. TRANSLATORS: command line argument, if we should show debugging information
 #. TRANSLATORS: if we should show debugging data
-#: ../client/pk-console.c:1000 ../client/pk-generate-pack.c:222
-#: ../client/pk-monitor.c:249
-#: ../contrib/command-not-found/pk-command-not-found.c:614
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:504
+#: ../client/pk-console.c:989 ../client/pk-generate-pack.c:223
+#: ../client/pk-monitor.c:281
+#: ../contrib/command-not-found/pk-command-not-found.c:651
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:512
 #: ../contrib/device-rebind/pk-device-rebind.c:293 ../src/pk-main.c:211
 msgid "Show extra debugging information"
 msgstr "Näytä ylimääräisiä virheenjäljitystietoja"
 
 #. TRANSLATORS: command line argument, just show the version string
-#: ../client/pk-console.c:1003 ../client/pk-monitor.c:251
+#: ../client/pk-console.c:992 ../client/pk-monitor.c:283
 msgid "Show the program version and exit"
 msgstr "Näytä ohjelman versio ja lopeta"
 
 #. TRANSLATORS: command line argument, use a filter to narrow down results
-#: ../client/pk-console.c:1006
+#: ../client/pk-console.c:995
 msgid "Set the filter, e.g. installed"
 msgstr "Aseta suodin, esim. asennettu"
 
 #. TRANSLATORS: command line argument, work asynchronously
-#: ../client/pk-console.c:1009
+#: ../client/pk-console.c:998
 msgid "Exit without waiting for actions to complete"
 msgstr "Lopeta odottamatta toimintojen valmistumista"
 
+#. command line argument, do we ask questions
+#: ../client/pk-console.c:1001
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:524
+msgid "Install the packages without asking for confirmation"
+msgstr "Asenna paketit kysymättä vahvistusta"
+
+#. TRANSLATORS: command line argument, this command is not a priority
+#: ../client/pk-console.c:1004
+msgid "Run the command using idle network bandwidth and also using less power"
+msgstr ""
+"Suorita komento käyttäen ylimääräistä verkon kaistanleveyttä ja tavallista "
+"vähemmän virtaa"
+
 #. TRANSLATORS: we failed to contact the daemon
-#: ../client/pk-console.c:1034
+#: ../client/pk-console.c:1030
 msgid "Failed to contact PackageKit"
 msgstr "PackageKitiin ei saatu yhteyttä"
 
@@ -464,7 +474,7 @@ msgstr "Sopiva rooli on annettava"
 #. TRANSLATORS: This is when the user fails to supply the package name
 #: ../client/pk-console.c:1320 ../client/pk-console.c:1335
 #: ../client/pk-console.c:1344 ../client/pk-console.c:1364
-#: ../client/pk-console.c:1373 ../client/pk-generate-pack.c:285
+#: ../client/pk-console.c:1373 ../client/pk-generate-pack.c:287
 msgid "A package name is required"
 msgstr "Paketin nimi on annettava"
 
@@ -485,13 +495,13 @@ msgid "Command failed"
 msgstr "Komento epäonnistui"
 
 #. TRANSLATORS: we can exclude certain packages (glibc) when we know they'll exist on the target
-#: ../client/pk-generate-pack.c:225
+#: ../client/pk-generate-pack.c:226
 msgid "Set the file name of dependencies to be excluded"
 msgstr ""
 "Aseta pois jätettävien riippuvuuksien luettelon sisältävän tiedoston nimi"
 
 #. TRANSLATORS: the output location
-#: ../client/pk-generate-pack.c:228
+#: ../client/pk-generate-pack.c:229
 msgid ""
 "The output file or directory (the current directory is used if ommitted)"
 msgstr ""
@@ -499,43 +509,43 @@ msgstr ""
 "automaattisesti nykyinen hakemisto."
 
 #. TRANSLATORS: put a list of packages in the pack
-#: ../client/pk-generate-pack.c:231
+#: ../client/pk-generate-pack.c:232
 msgid "The package to be put into the service pack"
 msgstr "Paketti joka laitetaan huoltopakkaukseen"
 
 #. TRANSLATORS: put all pending updates in the pack
-#: ../client/pk-generate-pack.c:234
+#: ../client/pk-generate-pack.c:235
 msgid "Put all updates available in the service pack"
 msgstr "Laita kaikki saatavilla olevat päivitykset huoltopakkaukseen"
 
 #. TRANSLATORS: This is when the user fails to supply the correct arguments
-#: ../client/pk-generate-pack.c:269
+#: ../client/pk-generate-pack.c:271
 msgid "Neither --package or --updates option selected."
 msgstr "Kumpaakaan valitsimista --package tai --updates ei ole käytetty."
 
 #. TRANSLATORS: This is when the user fails to supply just one argument
-#: ../client/pk-generate-pack.c:277
+#: ../client/pk-generate-pack.c:279
 msgid "Both options selected."
 msgstr "Molempia valitsimia on käytetty."
 
 #. TRANSLATORS: This is when the user fails to supply the output
-#: ../client/pk-generate-pack.c:293
+#: ../client/pk-generate-pack.c:295
 msgid "A output directory or file name is required"
 msgstr "Kohdehakemiston tai -tiedoston nimi on annettava"
 
 #. TRANSLATORS: This is when the dameon is not-installed/broken and fails to startup
-#: ../client/pk-generate-pack.c:311
+#: ../client/pk-generate-pack.c:313
 msgid "The dameon failed to startup"
 msgstr "Taustaprosessin käynnistys epäonnistui"
 
 #. 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:322 ../client/pk-generate-pack.c:328
+#: ../client/pk-generate-pack.c:324 ../client/pk-generate-pack.c:330
 msgid "The package manager cannot perform this type of operation."
 msgstr "Paketinhallinta ei voi suorittaa tämäntyyppistä toimintoa."
 
 #. TRANSLATORS: This is when the distro didn't include libarchive support into PK
-#: ../client/pk-generate-pack.c:335
+#: ../client/pk-generate-pack.c:337
 msgid ""
 "Service packs cannot be created as PackageKit was not built with libarchive "
 "support."
@@ -544,400 +554,405 @@ msgstr ""
 "tuella."
 
 #. TRANSLATORS: the user specified an absolute path, but didn't get the extension correct
-#: ../client/pk-generate-pack.c:346
+#: ../client/pk-generate-pack.c:348
 msgid "If specifying a file, the service pack name must end with"
 msgstr "Annettaessa tiedosto nimen on päätyttävä"
 
 #. TRANSLATORS: This is when file already exists
-#: ../client/pk-generate-pack.c:362
+#: ../client/pk-generate-pack.c:364
 msgid "A pack with the same name already exists, do you want to overwrite it?"
 msgstr "Samalla nimellä on jo olemassa pakkaus, haluatko korvata sen?"
 
 #. TRANSLATORS: This is when the pack was not overwritten
-#: ../client/pk-generate-pack.c:365
+#: ../client/pk-generate-pack.c:367
 msgid "The pack was not overwritten."
 msgstr "Pakkausta ei korvattu."
 
 #. TRANSLATORS: This is when the temporary directory cannot be created, the directory name follows
-#: ../client/pk-generate-pack.c:378
+#: ../client/pk-generate-pack.c:380
 msgid "Failed to create directory:"
 msgstr "Hakemiston luominen epäonnistui:"
 
 #. TRANSLATORS: This is when the list of packages from the remote computer cannot be opened
-#: ../client/pk-generate-pack.c:390
+#: ../client/pk-generate-pack.c:392
 msgid "Failed to open package list."
 msgstr "Pakettiluettelon luominen epäonnistui."
 
 #. TRANSLATORS: The package name is being matched up to available packages
-#: ../client/pk-generate-pack.c:399
+#: ../client/pk-generate-pack.c:401
 msgid "Finding package name."
 msgstr "Etsitään paketin nimeä."
 
 #. TRANSLATORS: This is when the package cannot be found in any software source. The detailed error follows
-#: ../client/pk-generate-pack.c:403
+#: ../client/pk-generate-pack.c:405
 #, c-format
 msgid "Failed to find package '%s': %s"
 msgstr "Pakettia ”%s” ei löytynyt: %s"
 
 #. TRANSLATORS: This is telling the user we are in the process of making the pack
-#: ../client/pk-generate-pack.c:411
+#: ../client/pk-generate-pack.c:413
 msgid "Creating service pack..."
 msgstr "Luodaan huoltopakkausta..."
 
 #. TRANSLATORS: we succeeded in making the file
-#: ../client/pk-generate-pack.c:426
+#: ../client/pk-generate-pack.c:428
 #, c-format
 msgid "Service pack created '%s'"
 msgstr "Huoltopakkaus ”%s” on luotu"
 
 #. TRANSLATORS: we failed to make te file
-#: ../client/pk-generate-pack.c:431
+#: ../client/pk-generate-pack.c:433
 #, c-format
 msgid "Failed to create '%s': %s"
 msgstr "Huoltopakkauksen ”%s” luominen epäonnistui: %s"
 
-#: ../client/pk-monitor.c:179
+#: ../client/pk-monitor.c:211
 msgid "Failed to get daemon state"
 msgstr "Taustaprosessin tilaa ei saatu"
 
 #. TRANSLATORS: this is a program that monitors PackageKit
-#: ../client/pk-monitor.c:266
+#: ../client/pk-monitor.c:299
 msgid "PackageKit Monitor"
 msgstr "PackageKit-tarkkailija"
 
 #. TRANSLATORS: when we are getting data from the daemon
-#: ../contrib/browser-plugin/pk-plugin-install.c:495
+#: ../contrib/browser-plugin/pk-plugin-install.c:491
 msgid "Getting package information..."
 msgstr "Haetaan pakettitietoja..."
 
 #. TRANSLATORS: run an applicaiton
-#: ../contrib/browser-plugin/pk-plugin-install.c:501
+#: ../contrib/browser-plugin/pk-plugin-install.c:497
 #, c-format
 msgid "Run %s"
 msgstr "Suorita %s"
 
 #. TRANSLATORS: show the installed version of a package
-#: ../contrib/browser-plugin/pk-plugin-install.c:507
+#: ../contrib/browser-plugin/pk-plugin-install.c:503
 msgid "Installed version"
 msgstr "Asennettu versio"
 
 #. TRANSLATORS: run the application now
-#: ../contrib/browser-plugin/pk-plugin-install.c:515
+#: ../contrib/browser-plugin/pk-plugin-install.c:511
 #, c-format
 msgid "Run version %s now"
 msgstr "Suorita versio %s nyt"
 
 #. TRANSLATORS: run the application now
-#: ../contrib/browser-plugin/pk-plugin-install.c:521
+#: ../contrib/browser-plugin/pk-plugin-install.c:517
 msgid "Run now"
 msgstr "Suorita nyt"
 
 #. TRANSLATORS: update to a new version of the package
-#: ../contrib/browser-plugin/pk-plugin-install.c:527
+#: ../contrib/browser-plugin/pk-plugin-install.c:523
 #, c-format
 msgid "Update to version %s"
 msgstr "Päivitä versioon %s"
 
 #. TRANSLATORS: To install a package
-#: ../contrib/browser-plugin/pk-plugin-install.c:533
+#: ../contrib/browser-plugin/pk-plugin-install.c:529
 #, c-format
 msgid "Install %s now"
 msgstr "Asenna %s nyt"
 
 #. TRANSLATORS: the version of the package
-#: ../contrib/browser-plugin/pk-plugin-install.c:536
+#: ../contrib/browser-plugin/pk-plugin-install.c:532
 msgid "Version"
 msgstr "Versio"
 
 #. TRANSLATORS: noting found, so can't install
-#: ../contrib/browser-plugin/pk-plugin-install.c:541
+#: ../contrib/browser-plugin/pk-plugin-install.c:537
 msgid "No packages found for your system"
 msgstr "Järjestelmääsi sopivia paketteja ei löytynyt"
 
 #. TRANSLATORS: package is being installed
-#: ../contrib/browser-plugin/pk-plugin-install.c:546
+#: ../contrib/browser-plugin/pk-plugin-install.c:542
 msgid "Installing..."
 msgstr "Asennetaan..."
 
 #. TRANSLATORS: downloading repo data so we can search
-#: ../contrib/command-not-found/pk-command-not-found.c:358
+#: ../contrib/command-not-found/pk-command-not-found.c:365
 msgid "Downloading details about the software sources."
 msgstr "Ladataan tietoja ohjelmistolähteistä."
 
 #. TRANSLATORS: downloading file lists so we can search
-#: ../contrib/command-not-found/pk-command-not-found.c:362
+#: ../contrib/command-not-found/pk-command-not-found.c:369
 msgid "Downloading filelists (this may take some time to complete)."
 msgstr "Ladataan tiedostoluetteloja (tämä voi viedä jonkin aikaa)."
 
 #. TRANSLATORS: waiting for native lock
-#: ../contrib/command-not-found/pk-command-not-found.c:366
+#: ../contrib/command-not-found/pk-command-not-found.c:373
 msgid "Waiting for package manager lock."
 msgstr "Odotetaan paketinhallinnan lukkoa."
 
 #. TRANSLATORS: loading package cache so we can search
-#: ../contrib/command-not-found/pk-command-not-found.c:370
+#: ../contrib/command-not-found/pk-command-not-found.c:377
 msgid "Loading list of packages."
 msgstr "Ladataan pakettiluetteloja."
 
 #. TRANSLATORS: we failed to find the package, this shouldn't happen
-#: ../contrib/command-not-found/pk-command-not-found.c:444
+#: ../contrib/command-not-found/pk-command-not-found.c:421
 msgid "Failed to search for file"
 msgstr "Tiedoston etsiminen epäonnistui"
 
 #. TRANSLATORS: we failed to launch the executable, the error follows
-#: ../contrib/command-not-found/pk-command-not-found.c:570
+#: ../contrib/command-not-found/pk-command-not-found.c:560
 msgid "Failed to launch:"
 msgstr "Käynnistys epäonnistui:"
 
+#. TRANSLATORS: we failed to install the package
+#: ../contrib/command-not-found/pk-command-not-found.c:588
+msgid "Failed to install packages"
+msgstr "Pakettien asennus epäonnistui"
+
 #. TRANSLATORS: tool that gets called when the command is not found
-#: ../contrib/command-not-found/pk-command-not-found.c:630
+#: ../contrib/command-not-found/pk-command-not-found.c:667
 msgid "PackageKit Command Not Found"
 msgstr "PackageKit-komentoa ei löytynyt"
 
 #. TRANSLATORS: the prefix of all the output telling the user why it's not executing
-#: ../contrib/command-not-found/pk-command-not-found.c:658
+#: ../contrib/command-not-found/pk-command-not-found.c:697
 msgid "Command not found."
 msgstr "Komentoa ei löytynyt."
 
 #. TRANSLATORS: tell the user what we think the command is
-#: ../contrib/command-not-found/pk-command-not-found.c:665
+#: ../contrib/command-not-found/pk-command-not-found.c:704
 msgid "Similar command is:"
 msgstr "Samankaltainen komento on:"
 
 #. TRANSLATORS: Ask the user if we should run the similar command
-#: ../contrib/command-not-found/pk-command-not-found.c:674
+#: ../contrib/command-not-found/pk-command-not-found.c:714
 msgid "Run similar command:"
 msgstr "Suorita samankaltainen komento:"
 
 #. 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:686
-#: ../contrib/command-not-found/pk-command-not-found.c:695
+#: ../contrib/command-not-found/pk-command-not-found.c:728
+#: ../contrib/command-not-found/pk-command-not-found.c:737
 msgid "Similar commands are:"
 msgstr "Samankaltaisia komentoja ovat:"
 
 #. TRANSLATORS: ask the user to choose a file to run
-#: ../contrib/command-not-found/pk-command-not-found.c:702
+#: ../contrib/command-not-found/pk-command-not-found.c:744
 msgid "Please choose a command to run"
 msgstr "Valitse suoritettava komento"
 
 #. TRANSLATORS: tell the user what package provides the command
-#: ../contrib/command-not-found/pk-command-not-found.c:721
+#: ../contrib/command-not-found/pk-command-not-found.c:760
 msgid "The package providing this file is:"
 msgstr "Tämän tiedoston tarjoava paketti on:"
 
 #. TRANSLATORS: as the user if we want to install a package to provide the command
-#: ../contrib/command-not-found/pk-command-not-found.c:726
+#: ../contrib/command-not-found/pk-command-not-found.c:765
 #, c-format
 msgid "Install package '%s' to provide command '%s'?"
 msgstr "Asennetaanko paketti ”%s”, joka tarjoaa komennon ”%s”"
 
 #. TRANSLATORS: Show the user a list of packages that provide this command
-#: ../contrib/command-not-found/pk-command-not-found.c:747
+#: ../contrib/command-not-found/pk-command-not-found.c:789
 msgid "Packages providing this file are:"
 msgstr "Tämän tiedoston tarjoavat paketit ovat:"
 
 #. 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:756
+#: ../contrib/command-not-found/pk-command-not-found.c:799
 msgid "Suitable packages are:"
 msgstr "Sopivat paketit ovat:"
 
 #. get selection
 #. TRANSLATORS: ask the user to choose a file to install
-#: ../contrib/command-not-found/pk-command-not-found.c:764
+#: ../contrib/command-not-found/pk-command-not-found.c:808
 msgid "Please choose a package to install"
 msgstr "Valitse asennettava paketti"
 
 #. TRANSLATORS: we are starting to install the packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:195
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:197
 msgid "Starting install"
 msgstr "Aloitetaan asennus"
 
 #. TRANSLATORS: we couldn't find the package name, non-fatal
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:406
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:409
 #, c-format
 msgid "Failed to find the package %s, or already installed: %s"
 msgstr "Pakettia %s ei löytynyt tai se on jo asennettu: %s"
 
 #. command line argument, simulate what would be done, but don't actually do it
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:507
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:515
 msgid ""
 "Don't actually install any packages, only simulate what would be installed"
 msgstr "Älä oikeasti asenna paketteja, simuloi asennus"
 
 #. command line argument, do we skip packages that depend on the ones specified
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:510
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:518
 msgid "Do not install dependencies of the core packages"
 msgstr "Älä asenna annettujen pakettien riippuvuuksia"
 
 #. command line argument, do we operate quietly
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:513
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:521
 msgid "Do not display information or progress"
 msgstr "Älä näytä tietoja tai edistymistä"
 
 #. TRANSLATORS: tool that gets called when the command is not found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:528
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:539
 msgid "PackageKit Debuginfo Installer"
 msgstr "PackageKitin debuginfo-asennin"
 
 #. TRANSLATORS: the use needs to specify a list of package names on the command line
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:540
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:554
 #, c-format
 msgid "ERROR: Specify package names to install."
 msgstr "VIRHE: Asennettavien pakettien nimet on annettava"
 
 #. TRANSLATORS: we are getting the list of repositories
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:572
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:590
 #, c-format
 msgid "Getting sources list"
 msgstr "Haetaan lähdeluetteloa"
 
 #. TRANSLATORS: operation was not successful
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:582
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:657
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:741
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:785
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:852
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:896
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:600
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:675
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:759
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:803
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:870
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:914
 msgid "FAILED."
 msgstr "EPÄONNISTUI."
 
 #. TRANSLATORS: all completed 100%
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:597
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:637
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:672
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:756
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:800
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:867
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:911
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:615
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:655
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:690
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:774
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:818
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:885
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:929
 #, c-format
 msgid "OK."
 msgstr "OK."
 
 #. TRANSLATORS: tell the user what we found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:600
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:618
 #, c-format
 msgid "Found %i enabled and %i disabled sources."
 msgstr "Löydettiin %i käytössä olevaa ja %i käytöstä poistettua lähdettä."
 
 #. TRANSLATORS: we're finding repositories that match out pattern
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:607
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:625
 #, c-format
 msgid "Finding debugging sources"
 msgstr "Etsitään virheenjäljityslähteitä"
 
 #. TRANSLATORS: tell the user what we found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:640
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:658
 #, c-format
 msgid "Found %i disabled debuginfo repos."
 msgstr "Löydettiin %i käytöstä poistettua debuginfo-asennuslähdettä."
 
 #. TRANSLATORS: we're now enabling all the debug sources we found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:647
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:665
 #, c-format
 msgid "Enabling debugging sources"
 msgstr "Otetaan virheenjäljityslähteet käyttöön"
 
 #. TRANSLATORS: tell the user how many we enabled
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:675
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:693
 #, c-format
 msgid "Enabled %i debugging sources."
 msgstr "Otettiin %i virheenjäljityslähdettä käyttöön."
 
 #. TRANSLATORS: we're now finding packages that match in all the repos
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:682
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:700
 #, c-format
 msgid "Finding debugging packages"
 msgstr "Etsitään virheenjäljityspaketteja"
 
 #. TRANSLATORS: we couldn't find the package name, non-fatal
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:694
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:712
 #, c-format
 msgid "Failed to find the package %s: %s"
 msgstr "Pakettia ”%s” ei löytynyt: %s"
 
 #. TRANSLATORS: we couldn't find the debuginfo package name, non-fatal
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:717
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:735
 #, c-format
 msgid "Failed to find the debuginfo package %s: %s"
 msgstr "Debuginfo-pakettia ”%s” ei löytynyt: %s"
 
 #. TRANSLATORS: no debuginfo packages could be found to be installed
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:745
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:763
 #, c-format
 msgid "Found no packages to install."
 msgstr "Yhtään asennettavaa pakettia ei löytynyt."
 
 #. TRANSLATORS: tell the user we found some packages, and then list them
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:759
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:777
 #, c-format
 msgid "Found %i packages:"
 msgstr "Löytyi %i pakettia:"
 
 #. TRANSLATORS: tell the user we are searching for deps
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:775
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:793
 #, c-format
 msgid "Finding packages that depend on these packages"
 msgstr "Etsitään näistä paketeista riippuvia paketteja"
 
 #. TRANSLATORS: could not install, detailed error follows
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:788
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:806
 #, c-format
 msgid "Could not find dependant packages: %s"
 msgstr "Riippuvia paketteja ei löytynyt: %s"
 
 #. TRANSLATORS: tell the user we found some more packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:804
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:822
 #, c-format
 msgid "Found %i extra packages."
 msgstr "Löydettiin %i lisäpakettia."
 
 #. TRANSLATORS: tell the user we found some more packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:808
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:826
 #, c-format
 msgid "No extra packages required."
 msgstr "Lisäpaketteja ei tarvita."
 
 #. TRANSLATORS: tell the user we found some packages (and deps), and then list them
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:817
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:835
 #, c-format
 msgid "Found %i packages to install:"
 msgstr "Löydettiin %i asennettavaa pakettia:"
 
 #. TRANSLATORS: simulate mode is a testing mode where we quit before the action
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:830
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:848
 #, c-format
 msgid "Not installing packages in simulate mode"
 msgstr "Simulointitilassa ei asenneta paketteja"
 
 #. TRANSLATORS: we are now installing the debuginfo packages we found earlier
 #. TRANSLATORS: transaction state, installing packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:842
-#: ../lib/packagekit-glib2/pk-console-shared.c:270
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:860
+#: ../lib/packagekit-glib2/pk-console-shared.c:274
 #, c-format
 msgid "Installing packages"
 msgstr "Asennetaan paketteja"
 
 #. TRANSLATORS: could not install, detailed error follows
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:855
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:873
 #, c-format
 msgid "Could not install packages: %s"
 msgstr "Paketteja ei voitu asentaa: %s"
 
 #. TRANSLATORS: we are now disabling all debuginfo repos we previously enabled
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:887
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:905
 #, c-format
 msgid "Disabling sources previously enabled"
 msgstr "Poistetaan käytöstä aiemmin käyttöönotetut lähteet"
 
 #. TRANSLATORS: no debuginfo packages could be found to be installed, detailed error follows
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:899
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:917
 #, c-format
 msgid "Could not disable the debugging sources: %s"
 msgstr "Virheenjäljityslähteitä ei voitu poistaa käytöstä: %s"
 
 #. TRANSLATORS: we disabled all the debugging repos that we enabled before
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:914
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:932
 #, c-format
 msgid "Disabled %i debugging sources."
 msgstr "Poistettiin käytöstä %i virheenjäljityslähdettä."
@@ -1040,599 +1055,604 @@ msgstr "PackageKit-pakettiluettelo"
 msgid "PackageKit Service Pack"
 msgstr "PackageKit-huoltopakkaus"
 
-#: ../lib/packagekit-glib2/pk-console-shared.c:55
+#: ../lib/packagekit-glib2/pk-console-shared.c:59
 #, c-format
 msgid "Please enter a number from 1 to %i: "
 msgstr "Anna numero väliltä 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:177
+#: ../lib/packagekit-glib2/pk-console-shared.c:181
 msgid "More than one package matches:"
 msgstr "Useita vastaavia paketteja saatavilla:"
 
 #. TRANSLATORS: This finds out which package in the list to use
-#: ../lib/packagekit-glib2/pk-console-shared.c:186
+#: ../lib/packagekit-glib2/pk-console-shared.c:190
 msgid "Please choose the correct package: "
 msgstr "Valitse oikea paketti:"
 
 #. TRANSLATORS: This is when the transaction status is not known
-#: ../lib/packagekit-glib2/pk-console-shared.c:238
+#: ../lib/packagekit-glib2/pk-console-shared.c:242
 msgid "Unknown state"
 msgstr "Tuntematon tila"
 
 #. TRANSLATORS: transaction state, the daemon is in the process of starting
-#: ../lib/packagekit-glib2/pk-console-shared.c:242
+#: ../lib/packagekit-glib2/pk-console-shared.c:246
 msgid "Starting"
 msgstr "Käynnistetään"
 
 #. TRANSLATORS: transaction state, the transaction is waiting for another to complete
-#: ../lib/packagekit-glib2/pk-console-shared.c:246
+#: ../lib/packagekit-glib2/pk-console-shared.c:250
 msgid "Waiting in queue"
 msgstr "Jonotetaan"
 
 #. TRANSLATORS: transaction state, just started
-#: ../lib/packagekit-glib2/pk-console-shared.c:250
+#: ../lib/packagekit-glib2/pk-console-shared.c:254
 msgid "Running"
 msgstr "Suoritetaan"
 
 #. TRANSLATORS: transaction state, is querying data
-#: ../lib/packagekit-glib2/pk-console-shared.c:254
+#: ../lib/packagekit-glib2/pk-console-shared.c:258
 msgid "Querying"
 msgstr "Kysellään"
 
 #. TRANSLATORS: transaction state, getting data from a server
-#: ../lib/packagekit-glib2/pk-console-shared.c:258
+#: ../lib/packagekit-glib2/pk-console-shared.c:262
 msgid "Getting information"
 msgstr "Haetaan tietoja"
 
 #. TRANSLATORS: transaction state, removing packages
-#: ../lib/packagekit-glib2/pk-console-shared.c:262
+#: ../lib/packagekit-glib2/pk-console-shared.c:266
 msgid "Removing packages"
 msgstr "Poistetaan paketteja"
 
 #. TRANSLATORS: transaction state, downloading package files
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:266
-#: ../lib/packagekit-glib2/pk-console-shared.c:640
+#: ../lib/packagekit-glib2/pk-console-shared.c:270
+#: ../lib/packagekit-glib2/pk-console-shared.c:648
 msgid "Downloading packages"
 msgstr "Ladataan paketteja"
 
 #. TRANSLATORS: transaction state, refreshing internal lists
-#: ../lib/packagekit-glib2/pk-console-shared.c:274
+#: ../lib/packagekit-glib2/pk-console-shared.c:278
 msgid "Refreshing software list"
 msgstr "Virkistetään ohjelmaluetteloa"
 
 #. TRANSLATORS: transaction state, installing updates
-#: ../lib/packagekit-glib2/pk-console-shared.c:278
+#: ../lib/packagekit-glib2/pk-console-shared.c:282
 msgid "Installing updates"
 msgstr "Asennetaan päivityksiä"
 
 #. TRANSLATORS: transaction state, removing old packages, and cleaning config files
-#: ../lib/packagekit-glib2/pk-console-shared.c:282
+#: ../lib/packagekit-glib2/pk-console-shared.c:286
 msgid "Cleaning up packages"
 msgstr "Siivotaan paketteja"
 
 #. TRANSLATORS: transaction state, obsoleting old packages
-#: ../lib/packagekit-glib2/pk-console-shared.c:286
+#: ../lib/packagekit-glib2/pk-console-shared.c:290
 msgid "Obsoleting packages"
 msgstr "Vanhennetaan paketteja"
 
 #. TRANSLATORS: transaction state, checking the transaction before we do it
-#: ../lib/packagekit-glib2/pk-console-shared.c:290
+#: ../lib/packagekit-glib2/pk-console-shared.c:294
 msgid "Resolving dependencies"
 msgstr "Ratkaistaan riippuvuuksia"
 
 #. TRANSLATORS: transaction state, checking if we have all the security keys for the operation
-#: ../lib/packagekit-glib2/pk-console-shared.c:294
+#: ../lib/packagekit-glib2/pk-console-shared.c:298
 msgid "Checking signatures"
 msgstr "Tarkistetaan allekirjoituksia"
 
 #. 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:298
-#: ../lib/packagekit-glib2/pk-console-shared.c:600
+#: ../lib/packagekit-glib2/pk-console-shared.c:302
+#: ../lib/packagekit-glib2/pk-console-shared.c:608
 msgid "Rolling back"
 msgstr "Peruutetaan"
 
 #. TRANSLATORS: transaction state, when we're doing a test transaction
-#: ../lib/packagekit-glib2/pk-console-shared.c:302
+#: ../lib/packagekit-glib2/pk-console-shared.c:306
 msgid "Testing changes"
 msgstr "Testataan muutoksia"
 
 #. TRANSLATORS: transaction state, when we're writing to the system package database
-#: ../lib/packagekit-glib2/pk-console-shared.c:306
+#: ../lib/packagekit-glib2/pk-console-shared.c:310
 msgid "Committing changes"
 msgstr "Toteutetaan muutoksia"
 
 #. TRANSLATORS: transaction state, requesting data from a server
-#: ../lib/packagekit-glib2/pk-console-shared.c:310
+#: ../lib/packagekit-glib2/pk-console-shared.c:314
 msgid "Requesting data"
 msgstr "Pyydetään dataa"
 
 #. TRANSLATORS: transaction state, all done!
-#: ../lib/packagekit-glib2/pk-console-shared.c:314
+#: ../lib/packagekit-glib2/pk-console-shared.c:318
 msgid "Finished"
 msgstr "Valmis"
 
 #. TRANSLATORS: transaction state, in the process of cancelling
-#: ../lib/packagekit-glib2/pk-console-shared.c:318
+#: ../lib/packagekit-glib2/pk-console-shared.c:322
 msgid "Cancelling"
 msgstr "Perutaan"
 
 #. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:322
+#: ../lib/packagekit-glib2/pk-console-shared.c:326
 msgid "Downloading repository information"
 msgstr "Ladataan asennuslähdetietoja"
 
 #. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:326
+#: ../lib/packagekit-glib2/pk-console-shared.c:330
 msgid "Downloading list of packages"
 msgstr "Ladataan pakettiluetteloa"
 
 #. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:330
+#: ../lib/packagekit-glib2/pk-console-shared.c:334
 msgid "Downloading file lists"
 msgstr "Ladataan tiedostoluetteloita"
 
 #. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:334
+#: ../lib/packagekit-glib2/pk-console-shared.c:338
 msgid "Downloading lists of changes"
 msgstr "Ladataan muutosluetteloja"
 
 #. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:338
+#: ../lib/packagekit-glib2/pk-console-shared.c:342
 msgid "Downloading groups"
 msgstr "Ladataan ryhmiä"
 
 #. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:342
+#: ../lib/packagekit-glib2/pk-console-shared.c:346
 msgid "Downloading update information"
 msgstr "Ladataan päivitystietoja"
 
 #. TRANSLATORS: transaction state, repackaging delta files
-#: ../lib/packagekit-glib2/pk-console-shared.c:346
+#: ../lib/packagekit-glib2/pk-console-shared.c:350
 msgid "Repackaging files"
 msgstr "Paketoidaan tiedostoja uudelleen"
 
 #. TRANSLATORS: transaction state, loading databases
-#: ../lib/packagekit-glib2/pk-console-shared.c:350
+#: ../lib/packagekit-glib2/pk-console-shared.c:354
 msgid "Loading cache"
 msgstr "Ladataan välimuistia"
 
 #. TRANSLATORS: transaction state, scanning for running processes
-#: ../lib/packagekit-glib2/pk-console-shared.c:354
+#: ../lib/packagekit-glib2/pk-console-shared.c:358
 msgid "Scanning applications"
 msgstr "Etsitään ohjelmia"
 
 #. TRANSLATORS: transaction state, generating a list of packages installed on the system
-#: ../lib/packagekit-glib2/pk-console-shared.c:358
+#: ../lib/packagekit-glib2/pk-console-shared.c:362
 msgid "Generating package lists"
 msgstr "Luodaan pakettiluetteloita"
 
 #. TRANSLATORS: transaction state, when we're waiting for the native tools to exit
-#: ../lib/packagekit-glib2/pk-console-shared.c:362
+#: ../lib/packagekit-glib2/pk-console-shared.c:366
 msgid "Waiting for package manager lock"
 msgstr "Odotetaan paketinhallinnan lukkoa"
 
-#. TRANSLATORS: waiting for user to type in a password
-#: ../lib/packagekit-glib2/pk-console-shared.c:366
+#. TRANSLATORS: transaction state, waiting for user to type in a password
+#: ../lib/packagekit-glib2/pk-console-shared.c:370
 msgid "Waiting for authentication"
 msgstr "Odotetaan tunnistautumista"
 
-#. TRANSLATORS: we are updating the list of processes
-#: ../lib/packagekit-glib2/pk-console-shared.c:370
+#. TRANSLATORS: transaction state, we are updating the list of processes
+#: ../lib/packagekit-glib2/pk-console-shared.c:374
 msgid "Updating running applications"
 msgstr "Päivitetään suoritettavia ohjelmia"
 
-#. TRANSLATORS: we are checking executable files currently in use
-#: ../lib/packagekit-glib2/pk-console-shared.c:374
+#. TRANSLATORS: transaction state, we are checking executable files currently in use
+#: ../lib/packagekit-glib2/pk-console-shared.c:378
 msgid "Checking applications in use"
 msgstr "Etsitään käytössä olevia ohjelmia"
 
-#. TRANSLATORS: we are checking for libraries currently in use
-#: ../lib/packagekit-glib2/pk-console-shared.c:378
+#. TRANSLATORS: transaction state, we are checking for libraries currently in use
+#: ../lib/packagekit-glib2/pk-console-shared.c:382
 msgid "Checking libraries in use"
 msgstr "Etsitään käytössä olevia kirjastoja"
 
+#. TRANSLATORS: transaction state, we are copying package files before or after the transaction
+#: ../lib/packagekit-glib2/pk-console-shared.c:386
+msgid "Copying files"
+msgstr "Kopioidaan tiedostoja"
+
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:396
+#: ../lib/packagekit-glib2/pk-console-shared.c:404
 msgid "Trivial"
 msgstr "Vähäpätöinen"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:400
+#: ../lib/packagekit-glib2/pk-console-shared.c:408
 msgid "Normal"
 msgstr "Tavallinen"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:404
+#: ../lib/packagekit-glib2/pk-console-shared.c:412
 msgid "Important"
 msgstr "Tärkeä"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:408
+#: ../lib/packagekit-glib2/pk-console-shared.c:416
 msgid "Security"
 msgstr "Turvallisuus"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:412
+#: ../lib/packagekit-glib2/pk-console-shared.c:420
 msgid "Bug fix "
 msgstr "Virhekorjaus"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:416
+#: ../lib/packagekit-glib2/pk-console-shared.c:424
 msgid "Enhancement"
 msgstr "Kehittävä"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:420
+#: ../lib/packagekit-glib2/pk-console-shared.c:428
 msgid "Blocked"
 msgstr "Estetty"
 
 #. TRANSLATORS: The state of a package
 #. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:425
-#: ../lib/packagekit-glib2/pk-console-shared.c:498
+#: ../lib/packagekit-glib2/pk-console-shared.c:433
+#: ../lib/packagekit-glib2/pk-console-shared.c:506
 msgid "Installed"
 msgstr "Asennettu"
 
 #. TRANSLATORS: The state of a package, i.e. not installed
-#: ../lib/packagekit-glib2/pk-console-shared.c:430
+#: ../lib/packagekit-glib2/pk-console-shared.c:438
 msgid "Available"
 msgstr "Saatavilla"
 
 #. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:448
+#: ../lib/packagekit-glib2/pk-console-shared.c:456
 msgid "Downloading"
 msgstr "Ladataan"
 
 #. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:452
+#: ../lib/packagekit-glib2/pk-console-shared.c:460
 msgid "Updating"
 msgstr "Päivitetään"
 
 #. 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:456
-#: ../lib/packagekit-glib2/pk-console-shared.c:576
+#: ../lib/packagekit-glib2/pk-console-shared.c:464
+#: ../lib/packagekit-glib2/pk-console-shared.c:584
 msgid "Installing"
 msgstr "Asennetaan"
 
 #. 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:460
-#: ../lib/packagekit-glib2/pk-console-shared.c:572
+#: ../lib/packagekit-glib2/pk-console-shared.c:468
+#: ../lib/packagekit-glib2/pk-console-shared.c:580
 msgid "Removing"
 msgstr "Poistetaan"
 
 #. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:464
+#: ../lib/packagekit-glib2/pk-console-shared.c:472
 msgid "Cleaning up"
 msgstr "Siivotaan"
 
 #. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:468
+#: ../lib/packagekit-glib2/pk-console-shared.c:476
 msgid "Obsoleting"
 msgstr "Vanhennetaan"
 
 #. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:472
+#: ../lib/packagekit-glib2/pk-console-shared.c:480
 msgid "Reinstalling"
 msgstr "Asennetaan uudelleen"
 
 #. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:490
+#: ../lib/packagekit-glib2/pk-console-shared.c:498
 msgid "Downloaded"
 msgstr "Ladattu"
 
 #. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:502
+#: ../lib/packagekit-glib2/pk-console-shared.c:510
 msgid "Removed"
 msgstr "Poistettu"
 
 #. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:506
+#: ../lib/packagekit-glib2/pk-console-shared.c:514
 msgid "Cleaned up"
 msgstr "Siivottu"
 
 #. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:510
+#: ../lib/packagekit-glib2/pk-console-shared.c:518
 msgid "Obsoleted"
 msgstr "Vanhennettu"
 
 #. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:514
+#: ../lib/packagekit-glib2/pk-console-shared.c:522
 msgid "Reinstalled"
 msgstr "Asennettu uudelleen"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:532
+#: ../lib/packagekit-glib2/pk-console-shared.c:540
 msgid "Unknown role type"
 msgstr "Tuntematon roolityyppi"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:536
+#: ../lib/packagekit-glib2/pk-console-shared.c:544
 msgid "Getting dependencies"
 msgstr "Haetaan riippuvuuksia"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:540
+#: ../lib/packagekit-glib2/pk-console-shared.c:548
 msgid "Getting update details"
 msgstr "Haetaan päivitystietoja"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:544
+#: ../lib/packagekit-glib2/pk-console-shared.c:552
 msgid "Getting details"
 msgstr "Haetaan tietoja"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:548
+#: ../lib/packagekit-glib2/pk-console-shared.c:556
 msgid "Getting requires"
 msgstr "Haetaan vaatimuksia"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:552
+#: ../lib/packagekit-glib2/pk-console-shared.c:560
 msgid "Getting updates"
 msgstr "Haetaan päivityksiä"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:556
+#: ../lib/packagekit-glib2/pk-console-shared.c:564
 msgid "Searching by details"
 msgstr "Etsitään tietojen perusteella"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:560
+#: ../lib/packagekit-glib2/pk-console-shared.c:568
 msgid "Searching by file"
 msgstr "Etsitään tiedoston perusteella"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:564
+#: ../lib/packagekit-glib2/pk-console-shared.c:572
 msgid "Searching groups"
 msgstr "Etsitään ryhmiä"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:568
+#: ../lib/packagekit-glib2/pk-console-shared.c:576
 msgid "Searching by name"
 msgstr "Etsitään nimen perusteella"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:580
+#: ../lib/packagekit-glib2/pk-console-shared.c:588
 msgid "Installing files"
 msgstr "Asennetaan tiedostoja"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:584
+#: ../lib/packagekit-glib2/pk-console-shared.c:592
 msgid "Refreshing cache"
 msgstr "Virkistetään välimuistia"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:588
+#: ../lib/packagekit-glib2/pk-console-shared.c:596
 msgid "Updating packages"
 msgstr "Päivitetään paketteja"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:592
+#: ../lib/packagekit-glib2/pk-console-shared.c:600
 msgid "Updating system"
 msgstr "Päivitetään järjestelmää"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:596
+#: ../lib/packagekit-glib2/pk-console-shared.c:604
 msgid "Canceling"
 msgstr "Perutaan"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:604
+#: ../lib/packagekit-glib2/pk-console-shared.c:612
 msgid "Getting repositories"
 msgstr "Haetaan asennuslähteitä"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:608
+#: ../lib/packagekit-glib2/pk-console-shared.c:616
 msgid "Enabling repository"
 msgstr "Otetaan asennuslähde käyttöön"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:612
+#: ../lib/packagekit-glib2/pk-console-shared.c:620
 msgid "Setting data"
 msgstr "Asetetaan dataa"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:616
+#: ../lib/packagekit-glib2/pk-console-shared.c:624
 msgid "Resolving"
 msgstr "Ratkaistaan"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:620
+#: ../lib/packagekit-glib2/pk-console-shared.c:628
 msgid "Getting file list"
 msgstr "Haetaan tiedostoluetteloa"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:624
+#: ../lib/packagekit-glib2/pk-console-shared.c:632
 msgid "Getting provides"
 msgstr "Haetaan tarjoajia"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:628
+#: ../lib/packagekit-glib2/pk-console-shared.c:636
 msgid "Installing signature"
 msgstr "Asennetaan allekirjoitusta"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:632
+#: ../lib/packagekit-glib2/pk-console-shared.c:640
 msgid "Getting packages"
 msgstr "Haetaan paketteja"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:636
+#: ../lib/packagekit-glib2/pk-console-shared.c:644
 msgid "Accepting EULA"
 msgstr "Hyväksytään käyttöoikeussopimusta"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:644
+#: ../lib/packagekit-glib2/pk-console-shared.c:652
 msgid "Getting upgrades"
 msgstr "Haetaan päivityksiä"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:648
+#: ../lib/packagekit-glib2/pk-console-shared.c:656
 msgid "Getting categories"
 msgstr "Haetaan kategorioita"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:652
+#: ../lib/packagekit-glib2/pk-console-shared.c:660
 msgid "Getting transactions"
 msgstr "Haetaan transaktioita"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:656
-#: ../lib/packagekit-glib2/pk-console-shared.c:660
+#: ../lib/packagekit-glib2/pk-console-shared.c:664
+#: ../lib/packagekit-glib2/pk-console-shared.c:668
 msgid "Simulating install"
 msgstr "Simuloidaan asennusta"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:664
+#: ../lib/packagekit-glib2/pk-console-shared.c:672
 msgid "Simulating remove"
 msgstr "Simuloidaan poistoa"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:668
+#: ../lib/packagekit-glib2/pk-console-shared.c:676
 msgid "Simulating update"
 msgstr "Simuloidaan päivitystä"
 
 #. TRANSLATORS: ask the user if they are comfortable installing insecure packages
-#: ../lib/packagekit-glib2/pk-task-text.c:64
+#: ../lib/packagekit-glib2/pk-task-text.c:66
 msgid "Do you want to allow installing of unsigned software?"
 msgstr "Sallitaanko allekirjoittamattomien ohjelmistojen asentaminen?"
 
 #. TRANSLATORS: tell the user we've not done anything
-#: ../lib/packagekit-glib2/pk-task-text.c:69
+#: ../lib/packagekit-glib2/pk-task-text.c:71
 msgid "The unsigned software will not be installed."
 msgstr "Allekirjoittamatonta ohjelmistoa ei asenneta."
 
 #. TRANSLATORS: the package repository is signed by a key that is not recognised
-#: ../lib/packagekit-glib2/pk-task-text.c:102
+#: ../lib/packagekit-glib2/pk-task-text.c:104
 msgid "Software source signature required"
 msgstr "Ohjelmistolähteen allekirjoitus vaaditaan"
 
 #. TRANSLATORS: the package repository name
-#: ../lib/packagekit-glib2/pk-task-text.c:108
+#: ../lib/packagekit-glib2/pk-task-text.c:110
 msgid "Software source name"
 msgstr "Ohjelmistolähteen nimi"
 
 #. TRANSLATORS: the key URL
-#: ../lib/packagekit-glib2/pk-task-text.c:111
+#: ../lib/packagekit-glib2/pk-task-text.c:113
 msgid "Key URL"
 msgstr "Avaimen osoite"
 
 #. TRANSLATORS: the username of the key
-#: ../lib/packagekit-glib2/pk-task-text.c:114
+#: ../lib/packagekit-glib2/pk-task-text.c:116
 msgid "Key user"
 msgstr "Avaimen käyttäjä"
 
 #. TRANSLATORS: the key ID, usually a few hex digits
-#: ../lib/packagekit-glib2/pk-task-text.c:117
+#: ../lib/packagekit-glib2/pk-task-text.c:119
 msgid "Key ID"
 msgstr "Avaimen tunniste"
 
 #. TRANSLATORS: the key fingerprint, again, yet more hex
-#: ../lib/packagekit-glib2/pk-task-text.c:120
+#: ../lib/packagekit-glib2/pk-task-text.c:122
 msgid "Key fingerprint"
 msgstr "Avaimen sormenjälki"
 
 #. TRANSLATORS: the timestamp (a bit like a machine readable time)
-#: ../lib/packagekit-glib2/pk-task-text.c:123
+#: ../lib/packagekit-glib2/pk-task-text.c:125
 msgid "Key Timestamp"
 msgstr "Avaimen aikaleima"
 
 #. TRANSLATORS: ask the user if they want to import
-#: ../lib/packagekit-glib2/pk-task-text.c:129
+#: ../lib/packagekit-glib2/pk-task-text.c:131
 msgid "Do you accept this signature?"
 msgstr "Hyväksytkö tämän allekirjoituksen?"
 
 #. TRANSLATORS: tell the user we've not done anything
-#: ../lib/packagekit-glib2/pk-task-text.c:134
+#: ../lib/packagekit-glib2/pk-task-text.c:136
 msgid "The signature was not accepted."
 msgstr "Allekirjoitusta ei hyväksytty."
 
 #. TRANSLATORS: this is another name for a software licence that has to be read before installing
-#: ../lib/packagekit-glib2/pk-task-text.c:169
+#: ../lib/packagekit-glib2/pk-task-text.c:171
 msgid "End user licence agreement required"
 msgstr "Käyttöoikeussopimus vaaditaan"
 
 #. TRANSLATORS: the EULA text itself (long and boring)
-#: ../lib/packagekit-glib2/pk-task-text.c:178
+#: ../lib/packagekit-glib2/pk-task-text.c:180
 msgid "Agreement"
 msgstr "Sopimus"
 
 #. TRANSLATORS: ask the user if they've read and accepted the EULA
-#: ../lib/packagekit-glib2/pk-task-text.c:184
+#: ../lib/packagekit-glib2/pk-task-text.c:186
 msgid "Do you accept this agreement?"
 msgstr "Hyväksytkö tämän sopimuksen?"
 
 #. TRANSLATORS: tell the user we've not done anything
-#: ../lib/packagekit-glib2/pk-task-text.c:189
+#: ../lib/packagekit-glib2/pk-task-text.c:191
 msgid "The agreement was not accepted."
 msgstr "Sopimusta ei hyväksytty."
 
 #. TRANSLATORS: the user needs to change media inserted into the computer
-#: ../lib/packagekit-glib2/pk-task-text.c:219
+#: ../lib/packagekit-glib2/pk-task-text.c:221
 msgid "Media change required"
 msgstr "Tallennusvälinettä on vaihdettava"
 
 #. TRANSLATORS: the type, e.g. DVD, CD, etc
-#: ../lib/packagekit-glib2/pk-task-text.c:222
+#: ../lib/packagekit-glib2/pk-task-text.c:224
 msgid "Media type"
 msgstr "Tallennusvälineen tyyppi"
 
 #. TRANSLATORS: the media label, usually like 'disk-1of3'
-#: ../lib/packagekit-glib2/pk-task-text.c:225
+#: ../lib/packagekit-glib2/pk-task-text.c:227
 msgid "Media label"
 msgstr "Tallennusvälineen nimiö"
 
 #. TRANSLATORS: the media description, usually like 'Fedora 12 disk 5'
-#: ../lib/packagekit-glib2/pk-task-text.c:228
+#: ../lib/packagekit-glib2/pk-task-text.c:230
 msgid "Text"
 msgstr "Teksti"
 
 #. TRANSLATORS: ask the user to insert the media
-#: ../lib/packagekit-glib2/pk-task-text.c:232
+#: ../lib/packagekit-glib2/pk-task-text.c:234
 msgid "Please insert the correct media"
 msgstr "Syötä oikea tallennusväline"
 
 #. TRANSLATORS: tell the user we've not done anything as they are lazy
-#: ../lib/packagekit-glib2/pk-task-text.c:237
+#: ../lib/packagekit-glib2/pk-task-text.c:239
 msgid "The correct media was not inserted."
 msgstr "Oikeaa tallennusvälinettä ei syötetty."
 
 #. TRANSLATORS: When processing, we might have to remove other dependencies
-#: ../lib/packagekit-glib2/pk-task-text.c:252
+#: ../lib/packagekit-glib2/pk-task-text.c:254
 msgid "The following packages have to be removed:"
 msgstr "Seuraavat paketit on poistettava:"
 
 #. TRANSLATORS: When processing, we might have to install other dependencies
-#: ../lib/packagekit-glib2/pk-task-text.c:257
+#: ../lib/packagekit-glib2/pk-task-text.c:259
 msgid "The following packages have to be installed:"
 msgstr "Seuraavat paketit on asennettava:"
 
 #. TRANSLATORS: When processing, we might have to update other dependencies
-#: ../lib/packagekit-glib2/pk-task-text.c:262
+#: ../lib/packagekit-glib2/pk-task-text.c:264
 msgid "The following packages have to be updated:"
 msgstr "Seuraavat paketit on päivitettävä:"
 
 #. TRANSLATORS: When processing, we might have to reinstall other dependencies
-#: ../lib/packagekit-glib2/pk-task-text.c:267
+#: ../lib/packagekit-glib2/pk-task-text.c:269
 msgid "The following packages have to be reinstalled:"
 msgstr "Seuraavat paketit on asennettava uudelleen:"
 
 #. TRANSLATORS: When processing, we might have to downgrade other dependencies
-#: ../lib/packagekit-glib2/pk-task-text.c:272
+#: ../lib/packagekit-glib2/pk-task-text.c:274
 msgid "The following packages have to be downgraded:"
 msgstr "Seuraavat paketit on vaihdettava vanhempaan versioon:"
 
 #. TRANSLATORS: ask the user if the proposed changes are okay
-#: ../lib/packagekit-glib2/pk-task-text.c:331
+#: ../lib/packagekit-glib2/pk-task-text.c:324
 msgid "Proceed with changes?"
 msgstr "Tehdäänkö muutokset?"
 
 #. TRANSLATORS: tell the user we didn't do anything
-#: ../lib/packagekit-glib2/pk-task-text.c:336
+#: ../lib/packagekit-glib2/pk-task-text.c:329
 msgid "The transaction did not proceed."
 msgstr "Transaktiota ei jatkettu."
 
@@ -1926,6 +1946,9 @@ msgstr "Useita paketteja"
 msgid "Only trusted"
 msgstr "Vain luotetut"
 
+#~ msgid "Transaction failed with no error"
+#~ msgstr "Transaktio epäonnistui, mutta virhetietoja ei ole asetettu"
+
 #~ msgid "Failed to get transaction list"
 #~ msgstr "Transaktioluettelon noutaminen epäonnistui"
 
commit 8f04e2c7ffc51ce7e95461c8c6b0d815089e93c9
Author: Richard Hughes <richard at hughsie.com>
Date:   Mon Nov 2 13:09:29 2009 +0000

    trivial: fix up two small failures in the self check code

diff --git a/lib/packagekit-glib2/pk-control.c b/lib/packagekit-glib2/pk-control.c
index e351eb7..9d6b072 100644
--- a/lib/packagekit-glib2/pk-control.c
+++ b/lib/packagekit-glib2/pk-control.c
@@ -2366,7 +2366,7 @@ pk_control_test_get_properties_cb (GObject *object, GAsyncResult *res, EggTest *
 	/* check roles */
 	text = pk_role_bitfield_to_text (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;"
+			     "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;"
@@ -2565,7 +2565,7 @@ pk_control_test (gpointer user_data)
 	/* check data */
 	text = pk_role_bitfield_to_text (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;"
+			     "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;"
commit 865719503470acc59e9800b5a581d1f5c2e80a6e
Author: Richard Hughes <richard at hughsie.com>
Date:   Thu Oct 29 10:17:15 2009 +0000

    gtk-module: Check the language code exists before we search for it. Fixes half of rh#531105

diff --git a/contrib/gtk-module/pk-gtk-module.c b/contrib/gtk-module/pk-gtk-module.c
index 3d76ad8..57de8b6 100644
--- a/contrib/gtk-module/pk-gtk-module.c
+++ b/contrib/gtk-module/pk-gtk-module.c
@@ -227,6 +227,7 @@ fontset_foreach_cb (PangoFontset *fontset G_GNUC_UNUSED,
 	}
 
 	if (FcPatternGetLangSet (pattern, FC_LANG, 0, &langset) == FcResultMatch &&
+	    FcLangGetCharSet ((FcChar8 *) closure->language) != NULL &&
 	    FcLangSetHasLang (langset, (FcChar8 *) closure->language) != FcLangDifferentLang)
 		closure->found = TRUE;
 
commit 61563bcd1bb860743939bb863a7372e317156ca6
Author: Marcin Banasiak <megabajt at pld-linux.org>
Date:   Sun Nov 1 21:55:02 2009 +0100

    poldek: implemented SimulateInstallPackages, SimulateRemovePackages and SimulateUpdatePackages

diff --git a/backends/poldek/pk-backend-poldek.c b/backends/poldek/pk-backend-poldek.c
index 7309f00..05193ca 100644
--- a/backends/poldek/pk-backend-poldek.c
+++ b/backends/poldek/pk-backend-poldek.c
@@ -49,6 +49,7 @@ static void poldek_backend_percentage_data_destroy (PkBackend *backend);
 typedef enum {
 	TS_TYPE_ENUM_INSTALL,
 	TS_TYPE_ENUM_UPDATE,
+	TS_TYPE_ENUM_REMOVE,
 	TS_TYPE_ENUM_REFRESH_CACHE
 } TsType;
 
@@ -523,6 +524,78 @@ poldek_pkg_in_array (const struct pkg *pkg, const tn_array *array, tn_fn_cmp cmp
 		return TRUE;
 }
 
+static void
+get_ts_summary (TsType type, tn_array *ipkgs, tn_array *dpkgs, tn_array *rpkgs,
+		tn_array **install_pkgs, tn_array **update_pkgs, tn_array **remove_pkgs)
+{
+	guint  i;
+
+	if (type == TS_TYPE_ENUM_INSTALL || type == TS_TYPE_ENUM_UPDATE) {
+		*install_pkgs = n_array_new (2, (tn_fn_free)pkg_free, (tn_fn_cmp)pkg_cmp_name_evr);
+		*update_pkgs = n_array_new (2, (tn_fn_free)pkg_free, (tn_fn_cmp)pkg_cmp_name_evr);
+	}
+
+	*remove_pkgs = n_array_new (2, (tn_fn_free)pkg_free, (tn_fn_cmp)pkg_cmp_name_evr);
+
+	switch (type) {
+		case TS_TYPE_ENUM_INSTALL:
+		case TS_TYPE_ENUM_UPDATE:
+			if (rpkgs) {
+				for (i = 0; i < n_array_size (rpkgs); i++) {
+					struct pkg *rpkg = n_array_nth (rpkgs, i);
+
+					if (poldek_pkg_in_array (rpkg, ipkgs, (tn_fn_cmp)pkg_cmp_name) ||
+					    poldek_pkg_in_array (rpkg, dpkgs, (tn_fn_cmp)pkg_cmp_name)) {
+						n_array_push (*update_pkgs, pkg_link (rpkg));
+
+					} else {
+						n_array_push (*remove_pkgs, pkg_link (rpkg));
+					}
+				}
+			}
+
+			if (ipkgs) {
+				for (i = 0; i < n_array_size (ipkgs); i++) {
+					struct pkg *ipkg = n_array_nth (ipkgs, i);
+
+					if (poldek_pkg_in_array (ipkg, *update_pkgs, (tn_fn_cmp)pkg_cmp_name) == FALSE)
+						n_array_push (*install_pkgs, pkg_link (ipkg));
+				}
+			}
+
+			if (dpkgs) {
+				for (i = 0; i < n_array_size (dpkgs); i++) {
+					struct pkg *dpkg = n_array_nth (dpkgs, i);
+
+					if (poldek_pkg_in_array (dpkg, *update_pkgs, (tn_fn_cmp)pkg_cmp_name) == FALSE)
+						n_array_push (*install_pkgs, pkg_link (dpkg));
+				}
+			}
+			break;
+		case TS_TYPE_ENUM_REMOVE:
+			/* copy packages from rpkgs and dpkgs to remove_pkgs */
+			if (rpkgs)
+				n_array_concat_ex (*remove_pkgs, rpkgs, (tn_fn_dup)pkg_link);
+
+			if (dpkgs)
+				n_array_concat_ex (*remove_pkgs, dpkgs, (tn_fn_dup)pkg_link);
+
+			break;
+		default:
+			egg_error ("Unknown ts_type value: %d", type);
+	}
+
+	/* return sorted arrays */
+	if (*install_pkgs)
+		n_array_sort (*install_pkgs);
+
+	if (*update_pkgs)
+		n_array_sort (*update_pkgs);
+
+	if (*remove_pkgs)
+		n_array_sort (*remove_pkgs);
+}
+
 /**
  * ts_confirm:
  * Returns Yes - 1
@@ -536,8 +609,6 @@ ts_confirm (void *data, struct poldek_ts *ts)
 	size_t		i = 0;
 	gint		result = 1;
 
-	egg_debug ("START\n");
-
 	ipkgs = poldek_ts_get_summary (ts, "I");
 	dpkgs = poldek_ts_get_summary (ts, "D");
 	rpkgs = poldek_ts_get_summary (ts, "R");
@@ -1746,7 +1817,7 @@ pb_error_show (PkBackend *backend, PkErrorCodeEnum errorcode)
 	else if (g_strrstr (pberror->tslog->str, " conflicts") != NULL)
 		errorcode = PK_ERROR_ENUM_FILE_CONFLICTS;
 
-	pk_backend_error_code (backend, errorcode, pberror->tslog->str);
+	pk_backend_error_code (backend, errorcode, "%s", pberror->tslog->str);
 }
 
 /**
@@ -3083,6 +3154,131 @@ backend_what_provides (PkBackend *backend, PkBitfield filters, PkProvidesEnum pr
 	pk_backend_thread_create (backend, search_package_thread);
 }
 
+static gboolean do_simulate_packages (PkBackend *backend)
+{
+	struct poclidek_rcmd *rcmd = NULL;
+	struct poldek_ts     *ts = NULL;
+	GString      *buf = NULL;
+	gchar        *cmd = NULL;
+	gchar       **package_ids = NULL;
+	const gchar  *command = NULL;
+	guint         i;
+	guint         ts_type;
+
+	package_ids = pk_backend_get_strv (backend, "package_ids");
+	command = pk_backend_get_string (backend, "command");
+	ts_type = pk_backend_get_uint (backend, "ts_type");
+
+	pk_backend_set_status (backend, PK_STATUS_ENUM_DEP_RESOLVE);
+
+	buf = g_string_new (command);
+
+	for (i = 0; i < g_strv_length (package_ids); i++) {
+		gchar *nvra = poldek_get_nvra_from_package_id (package_ids[i]);
+
+		g_string_append_c (buf, ' ');
+		g_string_append (buf, nvra);
+
+		g_free (nvra);
+	}
+
+	cmd = g_string_free (buf, FALSE);
+
+	ts = poldek_ts_new (ctx, 0);
+	rcmd = poclidek_rcmd_new (cctx, ts);
+
+	ts->setop(ts, POLDEK_OP_PARTICLE, 0);
+
+	if (poclidek_rcmd_execline (rcmd, cmd)) {
+		tn_array *ipkgs = NULL, *dpkgs = NULL, *rpkgs = NULL;
+		tn_array *install_pkgs = NULL, *update_pkgs = NULL, *remove_pkgs = NULL;
+
+		ipkgs = poldek_ts_get_summary (ts, "I");
+		dpkgs = poldek_ts_get_summary (ts, "D");
+		rpkgs = poldek_ts_get_summary (ts, "R");
+
+		get_ts_summary (ts_type, ipkgs, dpkgs, rpkgs, &install_pkgs, &update_pkgs, &remove_pkgs);
+
+		if (install_pkgs) {
+			for (i = 0; i < n_array_size (install_pkgs); i++) {
+				struct pkg *pkg = n_array_nth (install_pkgs, i);
+
+				poldek_backend_package (backend, pkg, PK_INFO_ENUM_INSTALLING, PK_FILTER_ENUM_NONE);
+			}
+
+			n_array_free (install_pkgs);
+		}
+
+		if (update_pkgs) {
+			for (i = 0; i < n_array_size (update_pkgs); i++) {
+				struct pkg *pkg = n_array_nth (update_pkgs, i);
+
+				poldek_backend_package (backend, pkg, PK_INFO_ENUM_UPDATING, PK_FILTER_ENUM_NONE);
+			}
+
+			n_array_free (update_pkgs);
+		}
+
+		if (remove_pkgs) {
+			for (i = 0; i < n_array_size (remove_pkgs); i++) {
+				struct pkg *pkg = n_array_nth (remove_pkgs, i);
+
+				poldek_backend_package (backend, pkg, PK_INFO_ENUM_REMOVING, PK_FILTER_ENUM_NONE);
+			}
+
+			n_array_free (remove_pkgs);
+		}
+	}
+
+	g_free (cmd);
+
+	poclidek_rcmd_free (rcmd);
+	poldek_ts_free (ts);
+
+	pk_backend_finished (backend);
+
+	return TRUE;
+}
+
+/**
+ * backend_simulate_install_packages:
+ **/
+static void
+backend_simulate_install_packages (PkBackend *backend, gchar **package_ids)
+{
+	poldek_backend_set_allow_cancel (backend, TRUE, TRUE);
+	pb_error_clean ();
+	pk_backend_set_uint (backend, "ts_type", TS_TYPE_ENUM_INSTALL);
+	pk_backend_set_string (backend, "command", "cd /all-avail; install --test");
+	pk_backend_thread_create (backend, do_simulate_packages);
+}
+
+/**
+ * backend_simulate_remove_packages:
+ **/
+static void
+backend_simulate_remove_packages (PkBackend *backend, gchar **package_ids)
+{
+	poldek_backend_set_allow_cancel (backend, TRUE, TRUE);
+	pb_error_clean ();
+	pk_backend_set_uint (backend, "ts_type", TS_TYPE_ENUM_REMOVE);
+	pk_backend_set_string (backend, "command", "cd /all-avail; uninstall --test");
+	pk_backend_thread_create (backend, do_simulate_packages);
+}
+
+/**
+ * backend_simulate_update_packages:
+ **/
+static void
+backend_simulate_update_packages (PkBackend *backend, gchar **package_ids)
+{
+	poldek_backend_set_allow_cancel (backend, TRUE, TRUE);
+	pb_error_clean ();
+	pk_backend_set_uint (backend, "ts_type", TS_TYPE_ENUM_UPDATE);
+	pk_backend_set_string (backend, "command", "cd /all-avail; upgrade --test");
+	pk_backend_thread_create (backend, do_simulate_packages);
+}
+
 PK_BACKEND_OPTIONS (
 	"poldek",					/* description */
 	"Marcin Banasiak <megabajt at pld-linux.org>",	/* author */
@@ -3121,8 +3317,8 @@ PK_BACKEND_OPTIONS (
 	backend_update_system,				/* update_system */
 	backend_what_provides,				/* what_provides */
 	NULL,						/* simulate_install_files */
-	NULL,						/* simulate_install_packages */
-	NULL,						/* simulate_remove_packages */
-	NULL						/* simulate_update_packages */
+	backend_simulate_install_packages,		/* simulate_install_packages */
+	backend_simulate_remove_packages,		/* simulate_remove_packages */
+	backend_simulate_update_packages		/* simulate_update_packages */
 );
 
diff --git a/docs/html/pk-matrix.html b/docs/html/pk-matrix.html
index 06e69b3..db1df89 100644
--- a/docs/html/pk-matrix.html
+++ b/docs/html/pk-matrix.html
@@ -496,7 +496,7 @@
 <td><img src="img/status-bad.png" alt="[no]"/></td><!-- conary -->
 <td><img src="img/status-bad.png" alt="[no]"/></td><!-- opkg -->
 <td><img src="img/status-bad.png" alt="[no]"/></td><!-- pisi -->
-<td><img src="img/status-bad.png" alt="[no]"/></td><!-- poldek -->
+<td><img src="img/status-good.png" alt="[yes]"/></td><!-- poldek -->
 <td><img src="img/status-bad.png" alt="[no]"/></td><!-- portage -->
 <td><img src="img/status-bad.png" alt="[no]"/></td><!-- ports -->
 <td><img src="img/status-bad.png" alt="[no]"/></td><!-- slapt -->
@@ -514,7 +514,7 @@
 <td><img src="img/status-bad.png" alt="[no]"/></td><!-- conary -->
 <td><img src="img/status-bad.png" alt="[no]"/></td><!-- opkg -->
 <td><img src="img/status-bad.png" alt="[no]"/></td><!-- pisi -->
-<td><img src="img/status-bad.png" alt="[no]"/></td><!-- poldek -->
+<td><img src="img/status-good.png" alt="[yes]"/></td><!-- poldek -->
 <td><img src="img/status-bad.png" alt="[no]"/></td><!-- portage -->
 <td><img src="img/status-bad.png" alt="[no]"/></td><!-- ports -->
 <td><img src="img/status-bad.png" alt="[no]"/></td><!-- slapt -->
@@ -532,7 +532,7 @@
 <td><img src="img/status-bad.png" alt="[no]"/></td><!-- conary -->
 <td><img src="img/status-bad.png" alt="[no]"/></td><!-- opkg -->
 <td><img src="img/status-bad.png" alt="[no]"/></td><!-- pisi -->
-<td><img src="img/status-bad.png" alt="[no]"/></td><!-- poldek -->
+<td><img src="img/status-good.png" alt="[yes]"/></td><!-- poldek -->
 <td><img src="img/status-bad.png" alt="[no]"/></td><!-- portage -->
 <td><img src="img/status-bad.png" alt="[no]"/></td><!-- ports -->
 <td><img src="img/status-bad.png" alt="[no]"/></td><!-- slapt -->
commit 8547686af342d68fbfd0bea6ae2a413418299294
Author: ifelix <ifelix at fedoraproject.org>
Date:   Sat Oct 31 16:26:19 2009 +0000

    Sending translation for Tamil

diff --git a/po/ta.po b/po/ta.po
index c31b227..e4a7511 100644
--- a/po/ta.po
+++ b/po/ta.po
@@ -6,9 +6,9 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: packagekit.master.ta\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-09-18 06:43+0000\n"
-"PO-Revision-Date: 2009-09-18 14:10+0530\n"
+"Report-Msgid-Bugs-To: https://bugs.freedesktop.org/enter_bug.cgi?product=PackageKit&component=General\n"
+"POT-Creation-Date: 2009-10-02 15:25+0000\n"
+"PO-Revision-Date: 2009-10-31 16:16+0530\n"
 "Last-Translator: I. Felix <ifelix at redhat.com>\n"
 "Language-Team: Tamil <fedora-trans-ta at redhat.com>\n"
 "MIME-Version: 1.0\n"
@@ -29,117 +29,118 @@ msgstr ""
 "\n"
 "\n"
 "\n"
+"\n"
 
 #. TRANSLATORS: this is an atomic transaction
-#: ../client/pk-console.c:142
+#: ../client/pk-console.c:143
 msgid "Transaction"
 msgstr "பரிமாற்றம்"
 
 #. TRANSLATORS: this is the time the transaction was started in system timezone
-#: ../client/pk-console.c:144
+#: ../client/pk-console.c:145
 msgid "System time"
 msgstr "கணினி நேரம்"
 
 #. TRANSLATORS: this is if the transaction succeeded or not
-#: ../client/pk-console.c:146
+#: ../client/pk-console.c:147
 msgid "Succeeded"
 msgstr "வெற்றியடைதல்"
 
-#: ../client/pk-console.c:146
+#: ../client/pk-console.c:147
 msgid "True"
 msgstr "சரி"
 
-#: ../client/pk-console.c:146
+#: ../client/pk-console.c:147
 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:148 ../src/pk-polkit-action-lookup.c:336
+#: ../client/pk-console.c:149 ../src/pk-polkit-action-lookup.c:336
 msgid "Role"
 msgstr "பங்கு"
 
 #. TRANSLATORS: this is The duration of the transaction
-#: ../client/pk-console.c:153
+#: ../client/pk-console.c:154
 msgid "Duration"
 msgstr "இடைவெளி"
 
-#: ../client/pk-console.c:153
+#: ../client/pk-console.c:154
 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:157 ../src/pk-polkit-action-lookup.c:350
+#: ../client/pk-console.c:158 ../src/pk-polkit-action-lookup.c:350
 msgid "Command line"
 msgstr "கட்டளை வரி"
 
 #. TRANSLATORS: this is the user ID of the user that started the action
-#: ../client/pk-console.c:159
+#: ../client/pk-console.c:160
 msgid "User ID"
 msgstr "பயனர் ஐடி"
 
 #. TRANSLATORS: this is the username, e.g. hughsie
-#: ../client/pk-console.c:166
+#: ../client/pk-console.c:167
 msgid "Username"
 msgstr "பயனர் பெயர்"
 
 #. TRANSLATORS: this is the users real name, e.g. "Richard Hughes"
-#: ../client/pk-console.c:170
+#: ../client/pk-console.c:171
 msgid "Real name"
 msgstr "உண்மையான பெயர்"
 
-#: ../client/pk-console.c:178
+#: ../client/pk-console.c:179
 msgid "Affected packages:"
 msgstr "பாதிக்கப்பட்ட தொகுதிகள்:"
 
-#: ../client/pk-console.c:180
+#: ../client/pk-console.c:181
 msgid "Affected packages: None"
 msgstr "பாதிக்கப்பட்ட தொகுதிகள்: ஒன்றுமில்லாத"
 
 #. TRANSLATORS: this is the distro, e.g. Fedora 10
-#: ../client/pk-console.c:200
+#: ../client/pk-console.c:201
 msgid "Distribution"
 msgstr "விநியோகம்"
 
 #. TRANSLATORS: this is type of update, stable or testing
-#: ../client/pk-console.c:202
+#: ../client/pk-console.c:203
 msgid "Type"
 msgstr "வகை"
 
 #. TRANSLATORS: this is any summary text describing the upgrade
 #. TRANSLATORS: this is the summary of the group
-#: ../client/pk-console.c:204 ../client/pk-console.c:225
+#: ../client/pk-console.c:205 ../client/pk-console.c:226
 msgid "Summary"
 msgstr "சுருக்கம்"
 
 #. TRANSLATORS: this is the group category name
-#: ../client/pk-console.c:214
+#: ../client/pk-console.c:215
 msgid "Category"
 msgstr "வகை"
 
 #. TRANSLATORS: this is group identifier
-#: ../client/pk-console.c:216
+#: ../client/pk-console.c:217
 msgid "ID"
 msgstr "ID"
 
 #. TRANSLATORS: this is the parent group
-#: ../client/pk-console.c:219
+#: ../client/pk-console.c:220
 msgid "Parent"
 msgstr "பெற்றோர்"
 
 #. TRANSLATORS: this is the name of the parent group
-#: ../client/pk-console.c:222
+#: ../client/pk-console.c:223
 msgid "Name"
 msgstr "பெயர்"
 
 #. TRANSLATORS: this is preferred icon for the group
-#: ../client/pk-console.c:228
+#: ../client/pk-console.c:229
 msgid "Icon"
 msgstr "சின்னம்"
 
 #. TRANSLATORS: this is a header for the package that can be updated
-#: ../client/pk-console.c:242
+#: ../client/pk-console.c:243
 msgid "Details about the update:"
 msgstr "மேம்படுத்துதல் பற்றிய விவரங்கள்:"
 
@@ -147,8 +148,8 @@ 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:248 ../lib/packagekit-glib2/pk-task-text.c:105
-#: ../lib/packagekit-glib2/pk-task-text.c:172
+#: ../client/pk-console.c:249 ../lib/packagekit-glib2/pk-task-text.c:107
+#: ../lib/packagekit-glib2/pk-task-text.c:174
 #: ../src/pk-polkit-action-lookup.c:361
 msgid "Package"
 msgid_plural "Packages"
@@ -156,114 +157,114 @@ msgstr[0] "தொகுப்பு"
 msgstr[1] "தொகுப்புகள்"
 
 #. TRANSLATORS: details about the update, any packages that this update updates
-#: ../client/pk-console.c:251
+#: ../client/pk-console.c:252
 msgid "Updates"
 msgstr "மேம்படுத்தல்கள"
 
 #. TRANSLATORS: details about the update, any packages that this update obsoletes
-#: ../client/pk-console.c:255
+#: ../client/pk-console.c:256
 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:259 ../lib/packagekit-glib2/pk-task-text.c:175
+#: ../client/pk-console.c:260 ../lib/packagekit-glib2/pk-task-text.c:177
 msgid "Vendor"
 msgstr "விற்பனையாளர்"
 
 #. TRANSLATORS: details about the update, the bugzilla URLs
-#: ../client/pk-console.c:263
+#: ../client/pk-console.c:264
 msgid "Bugzilla"
 msgstr "பக்ஸிலா"
 
 #. TRANSLATORS: details about the update, the CVE URLs
-#: ../client/pk-console.c:267
+#: ../client/pk-console.c:268
 msgid "CVE"
 msgstr "CVE"
 
 #. TRANSLATORS: details about the update, if the package requires a restart
-#: ../client/pk-console.c:271
+#: ../client/pk-console.c:272
 msgid "Restart"
 msgstr "மறுதுவக்கு"
 
 #. TRANSLATORS: details about the update, any description of the update
-#: ../client/pk-console.c:275
+#: ../client/pk-console.c:276
 msgid "Update text"
 msgstr "மேம்படுத்தப்பட்ட உரை"
 
 #. TRANSLATORS: details about the update, the changelog for the package
-#: ../client/pk-console.c:279
+#: ../client/pk-console.c:280
 msgid "Changes"
 msgstr "மாற்றங்கள்"
 
 #. TRANSLATORS: details about the update, the ongoing state of the update
-#: ../client/pk-console.c:283
+#: ../client/pk-console.c:284
 msgid "State"
 msgstr "நிலை"
 
 #. TRANSLATORS: details about the update, date the update was issued
-#: ../client/pk-console.c:288
+#: ../client/pk-console.c:289
 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:293 ../lib/packagekit-glib2/pk-console-shared.c:494
+#: ../client/pk-console.c:294 ../lib/packagekit-glib2/pk-console-shared.c:502
 msgid "Updated"
 msgstr "மேம்படுத்தப்பட்டது"
 
 #. TRANSLATORS: if the repo is enabled
-#: ../client/pk-console.c:311
+#: ../client/pk-console.c:312
 msgid "Enabled"
 msgstr "செயல்படுத்தப்பட்டது"
 
 #. TRANSLATORS: if the repo is disabled
-#: ../client/pk-console.c:314
+#: ../client/pk-console.c:315
 msgid "Disabled"
 msgstr "செயல்நீக்கப்பட்டது"
 
 #. TRANSLATORS: a package requires the system to be restarted
-#: ../client/pk-console.c:336
+#: ../client/pk-console.c:337
 msgid "System restart required by:"
 msgstr "கணினிக்கு மறுதுவக்கம் தேவைப்படுகிறது:"
 
 #. TRANSLATORS: a package requires the session to be restarted
-#: ../client/pk-console.c:339
+#: ../client/pk-console.c:340
 msgid "Session restart required:"
 msgstr "அமர்வுக்கு மறுதுவக்கம் தேவைப்படுகிறது:"
 
 #. TRANSLATORS: a package requires the system to be restarted due to a security update
-#: ../client/pk-console.c:342
+#: ../client/pk-console.c:343
 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:345
+#: ../client/pk-console.c:346
 msgid "Session restart (security) required:"
 msgstr "அமர்வுக்கு மறுதுவக்கம் (பாதுகாப்பு) தேவைப்படுகிறது:"
 
 #. TRANSLATORS: a package requires the application to be restarted
-#: ../client/pk-console.c:348
+#: ../client/pk-console.c:349
 msgid "Application restart required by:"
 msgstr "பயன்பாடிற்கு மறுதுவக்கம் தேவைப்படுகிறது:"
 
 #. TRANSLATORS: This a list of details about the package
-#: ../client/pk-console.c:365
+#: ../client/pk-console.c:366
 msgid "Package description"
 msgstr "தொகுப்பு விளக்கம்"
 
 #. TRANSLATORS: This a message (like a little note that may be of interest) from the transaction
-#: ../client/pk-console.c:383
+#: ../client/pk-console.c:384
 msgid "Message:"
 msgstr "செய்தி:"
 
 #. TRANSLATORS: This where the package has no files
-#: ../client/pk-console.c:397
+#: ../client/pk-console.c:398
 msgid "No files"
 msgstr "கோப்புகள் இல்லை"
 
 #. TRANSLATORS: This a list files contained in the package
-#: ../client/pk-console.c:402
+#: ../client/pk-console.c:403
 msgid "Package files"
 msgstr "தொகுப்பு கோப்புகள்"
 
@@ -272,35 +273,32 @@ msgstr "தொகுப்பு கோப்புகள்"
 msgid "Fatal error"
 msgstr "உட்புற பிழை"
 
-#. TRANSLATORS: we failed, but there was no error set
-#: ../client/pk-console.c:488
-msgid "Transaction failed with no error"
-msgstr "பரிமாற்றம் பிழை இல்லாமல் தோல்வியுற்றது"
-
 #. TRANSLATORS: the transaction failed in a way we could not expect
-#: ../client/pk-console.c:493
+#: ../client/pk-console.c:484
+#: ../contrib/command-not-found/pk-command-not-found.c:426
+#: ../contrib/command-not-found/pk-command-not-found.c:593
 msgid "The transaction failed"
 msgstr " பரிமாற்றம் செயல்படவில்லை"
 
 #. TRANSLATORS: a package needs to restart their system
-#: ../client/pk-console.c:567
+#: ../client/pk-console.c:552
 msgid "Please restart the computer to complete the update."
 msgstr "கணினியை மீண்டும் துவக்கி மேம்படுத்துதலை முடிக்கவும்."
 
 #. TRANSLATORS: a package needs to restart the session
-#: ../client/pk-console.c:570
+#: ../client/pk-console.c:555
 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:573
+#: ../client/pk-console.c:558
 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:576
+#: ../client/pk-console.c:561
 msgid ""
 "Please logout and login to complete the update as important security updates "
 "have been installed."
@@ -309,19 +307,19 @@ msgstr ""
 "முடிக்க உள்நுழையவும்."
 
 #. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
-#: ../client/pk-console.c:597
+#: ../client/pk-console.c:584
 #, 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:625
+#: ../client/pk-console.c:612
 #, 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:653 ../client/pk-console.c:681
+#: ../client/pk-console.c:640 ../client/pk-console.c:668
 #, c-format
 msgid "This tool could not find the package: %s"
 msgstr "இந்த கருவி தொகுப்பை தேட முடியவில்லை: %s"
@@ -330,60 +328,71 @@ msgstr "இந்த கருவி தொகுப்பை தேட முà®
 #. 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:709 ../client/pk-console.c:737
-#: ../client/pk-console.c:765 ../client/pk-console.c:793
-#: ../client/pk-console.c:821
+#: ../client/pk-console.c:696 ../client/pk-console.c:724
+#: ../client/pk-console.c:752 ../client/pk-console.c:780
+#: ../client/pk-console.c:808
 #, 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:850
+#: ../client/pk-console.c:837
 msgid "The daemon crashed mid-transaction!"
 msgstr "மத்திய பரிமாற்றத்தின் போது டோமோன் நொறுக்கப்பட்டது!"
 
 #. TRANSLATORS: This is the header to the --help menu
-#: ../client/pk-console.c:884
+#: ../client/pk-console.c:871
 msgid "PackageKit Console Interface"
 msgstr "PackageKit பணியக முகப்பு"
 
 #. these are commands we can use with pkcon
-#: ../client/pk-console.c:886
+#: ../client/pk-console.c:873
 msgid "Subcommands:"
 msgstr "துணைக்கட்டளைகள்:"
 
 #. TRANSLATORS: we keep a database updated with the time that an action was last executed
-#: ../client/pk-console.c:965
+#: ../client/pk-console.c:952
 msgid "Failed to get the time since this action was last completed"
 msgstr "இந்த செயல் கடைசியாக முடிவடையும் வரை நேரத்தை பெற்றிருப்பதில் தோல்வி"
 
 #. TRANSLATORS: command line argument, if we should show debugging information
 #. TRANSLATORS: if we should show debugging data
-#: ../client/pk-console.c:1000 ../client/pk-generate-pack.c:222
-#: ../client/pk-monitor.c:249
-#: ../contrib/command-not-found/pk-command-not-found.c:614
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:504
+#: ../client/pk-console.c:989 ../client/pk-generate-pack.c:223
+#: ../client/pk-monitor.c:281
+#: ../contrib/command-not-found/pk-command-not-found.c:646
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:512
 #: ../contrib/device-rebind/pk-device-rebind.c:293 ../src/pk-main.c:211
 msgid "Show extra debugging information"
 msgstr "கூடுதல் பிழைதிருத்த தகவலைக் காட்டு"
 
 #. TRANSLATORS: command line argument, just show the version string
-#: ../client/pk-console.c:1003 ../client/pk-monitor.c:251
+#: ../client/pk-console.c:992 ../client/pk-monitor.c:283
 msgid "Show the program version and exit"
 msgstr "நிகழ்ச்சி பதிப்பு மற்றும் வெளியேறுவதைக் காட்டு"
 
 #. TRANSLATORS: command line argument, use a filter to narrow down results
-#: ../client/pk-console.c:1006
+#: ../client/pk-console.c:995
 msgid "Set the filter, e.g. installed"
 msgstr "வடோப்பினை"
 
 #. TRANSLATORS: command line argument, work asynchronously
-#: ../client/pk-console.c:1009
+#: ../client/pk-console.c:998
 msgid "Exit without waiting for actions to complete"
 msgstr "செயல் முடிவடை வரை காத்திருக்காமல் வெளியேறு"
 
+#. command line argument, do we ask questions
+#: ../client/pk-console.c:1001
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:524
+msgid "Install the packages without asking for confirmation"
+msgstr "உறுதிபடுத்துவதை கேட்காமலே தொகுப்புகளை நிறுவு"
+
+#. TRANSLATORS: command line argument, this command is not a priority
+#: ../client/pk-console.c:1004
+msgid "Run the command using idle network bandwidth and also using less power"
+msgstr "தனி பிணைய அலைவரிசை மற்றும் குறைந்த பவரைப் பயன்படுத்தி கட்டளையை இயக்கவும்"
+
 #. TRANSLATORS: we failed to contact the daemon
-#: ../client/pk-console.c:1034
+#: ../client/pk-console.c:1030
 msgid "Failed to contact PackageKit"
 msgstr "PackageKit தொடர்பு கொள்ள முடியவில்லை்வி."
 
@@ -477,7 +486,7 @@ msgstr "ஒரு சரியான திருப்பம் தேவைப
 #. TRANSLATORS: This is when the user fails to supply the package name
 #: ../client/pk-console.c:1320 ../client/pk-console.c:1335
 #: ../client/pk-console.c:1344 ../client/pk-console.c:1364
-#: ../client/pk-console.c:1373 ../client/pk-generate-pack.c:285
+#: ../client/pk-console.c:1373 ../client/pk-generate-pack.c:287
 msgid "A package name is required"
 msgstr "ஒரு தொகுப்பு பெயர் தேவைப்படுகிறது"
 
@@ -498,452 +507,458 @@ 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:225
+#: ../client/pk-generate-pack.c:226
 msgid "Set the file name of dependencies to be excluded"
 msgstr "நீக்கப்பட்ட சார்புகளுடைய கோப்பு பெயயை அமை"
 
 #. TRANSLATORS: the output location
-#: ../client/pk-generate-pack.c:228
+#: ../client/pk-generate-pack.c:229
 msgid "The output file or directory (the current directory is used if ommitted)"
 msgstr "வெளியேறும் கோப்பு அல்லது அடைவு (தற்போது பயன்படுத்தப்படுகிற அடைவு தவிர்க்கப்பட்டால்)"
 
 #. TRANSLATORS: put a list of packages in the pack
-#: ../client/pk-generate-pack.c:231
+#: ../client/pk-generate-pack.c:232
 msgid "The package to be put into the service pack"
 msgstr "தொகுப்பு சேவை தொகுப்பில் போடப்பட வேண்டும்"
 
 #. TRANSLATORS: put all pending updates in the pack
-#: ../client/pk-generate-pack.c:234
+#: ../client/pk-generate-pack.c:235
 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:269
+#: ../client/pk-generate-pack.c:271
 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:277
+#: ../client/pk-generate-pack.c:279
 msgid "Both options selected."
 msgstr "இரண்டு விருப்பங்களும் தேர்ந்தெடுக்கப்பட்டது."
 
 #. TRANSLATORS: This is when the user fails to supply the output
-#: ../client/pk-generate-pack.c:293
+#: ../client/pk-generate-pack.c:295
 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:311
+#: ../client/pk-generate-pack.c:313
 msgid "The dameon 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:322 ../client/pk-generate-pack.c:328
+#: ../client/pk-generate-pack.c:324 ../client/pk-generate-pack.c:330
 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:335
+#: ../client/pk-generate-pack.c:337
 msgid ""
 "Service packs cannot be created as PackageKit was not built with libarchive "
 "support."
 msgstr "சேவை பொதிகள் libarchive சேவையுடன் PackageKitஆக உருவாக்க முடியாது"
 
 #. TRANSLATORS: the user specified an absolute path, but didn't get the extension correct
-#: ../client/pk-generate-pack.c:346
+#: ../client/pk-generate-pack.c:348
 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:362
+#: ../client/pk-generate-pack.c:364
 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:365
+#: ../client/pk-generate-pack.c:367
 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:378
+#: ../client/pk-generate-pack.c:380
 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:390
+#: ../client/pk-generate-pack.c:392
 msgid "Failed to open package list."
 msgstr "தொகுப்பு பட்டியலை திறப்பதில் தோல்வி."
 
 #. TRANSLATORS: The package name is being matched up to available packages
-#: ../client/pk-generate-pack.c:399
+#: ../client/pk-generate-pack.c:401
 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:403
+#: ../client/pk-generate-pack.c:405
 #, 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:411
+#: ../client/pk-generate-pack.c:413
 msgid "Creating service pack..."
 msgstr "சேவை தொகுப்பை உருவாக்குகிறது..."
 
 #. TRANSLATORS: we succeeded in making the file
-#: ../client/pk-generate-pack.c:426
+#: ../client/pk-generate-pack.c:428
 #, c-format
 msgid "Service pack created '%s'"
 msgstr "சேவை தொகுப்பு '%s'ஐ உருவாக்கியது"
 
 #. TRANSLATORS: we failed to make te file
-#: ../client/pk-generate-pack.c:431
+#: ../client/pk-generate-pack.c:433
 #, c-format
 msgid "Failed to create '%s': %s"
 msgstr "'%s' உருவாக்குவதில் தோல்வி: %s"
 
-#: ../client/pk-monitor.c:179
+#: ../client/pk-monitor.c:211
 msgid "Failed to get daemon state"
 msgstr "டீமான் நிலையை பெற முடியவில்லை"
 
 #. TRANSLATORS: this is a program that monitors PackageKit
-#: ../client/pk-monitor.c:266
+#: ../client/pk-monitor.c:299
 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:491
 msgid "Getting package information..."
 msgstr "தொகுப்புகளின் தகவலை பெறுகிறது..."
 
 #. TRANSLATORS: run an applicaiton
-#: ../contrib/browser-plugin/pk-plugin-install.c:501
+#: ../contrib/browser-plugin/pk-plugin-install.c:497
 #, 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:503
 msgid "Installed version"
 msgstr "நிறுவப்பட்ட பதிப்பு"
 
 #. TRANSLATORS: run the application now
-#: ../contrib/browser-plugin/pk-plugin-install.c:515
+#: ../contrib/browser-plugin/pk-plugin-install.c:511
 #, 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:517
 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:523
 #, 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:529
 #, 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:532
 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:537
 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:542
 msgid "Installing..."
 msgstr "நிறுவுகிறது..."
 
 #. TRANSLATORS: downloading repo data so we can search
-#: ../contrib/command-not-found/pk-command-not-found.c:358
+#: ../contrib/command-not-found/pk-command-not-found.c:361
 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:362
+#: ../contrib/command-not-found/pk-command-not-found.c:365
 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:366
+#: ../contrib/command-not-found/pk-command-not-found.c:369
 msgid "Waiting for package manager lock."
 msgstr "தொகுப்பு மேலாளர் பூட்டுக்கு காத்திருக்கிறது."
 
 #. TRANSLATORS: loading package cache so we can search
-#: ../contrib/command-not-found/pk-command-not-found.c:370
+#: ../contrib/command-not-found/pk-command-not-found.c:373
 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:444
+#: ../contrib/command-not-found/pk-command-not-found.c:417
 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:570
+#: ../contrib/command-not-found/pk-command-not-found.c:556
 msgid "Failed to launch:"
 msgstr "கடண்டுபிடிப்பத்தில் தோல்வி:"
 
+#. TRANSLATORS: we failed to install the package
+#: ../contrib/command-not-found/pk-command-not-found.c:584
+#| msgid "Could not install packages: %s"
+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:630
+#: ../contrib/command-not-found/pk-command-not-found.c:662
 msgid "PackageKit Command Not Found"
 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:658
+#: ../contrib/command-not-found/pk-command-not-found.c:690
 msgid "Command not found."
 msgstr "கட்டளைக் காணப்படவில்லை."
 
 #. TRANSLATORS: tell the user what we think the command is
-#: ../contrib/command-not-found/pk-command-not-found.c:665
+#: ../contrib/command-not-found/pk-command-not-found.c:697
 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:674
+#: ../contrib/command-not-found/pk-command-not-found.c:706
 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:686
-#: ../contrib/command-not-found/pk-command-not-found.c:695
+#: ../contrib/command-not-found/pk-command-not-found.c:718
+#: ../contrib/command-not-found/pk-command-not-found.c:727
 msgid "Similar commands are:"
 msgstr "ஒரே மாதிரியான கட்டளைகள்:"
 
 #. TRANSLATORS: ask the user to choose a file to run
-#: ../contrib/command-not-found/pk-command-not-found.c:702
+#: ../contrib/command-not-found/pk-command-not-found.c:734
 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:721
+#: ../contrib/command-not-found/pk-command-not-found.c:750
 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:726
+#: ../contrib/command-not-found/pk-command-not-found.c:755
 #, c-format
 msgid "Install package '%s' to provide command '%s'?"
 msgstr "'%s' கட்டளை வழங்குவதற்கு '%s' தொகுப்பை நிறுவு?"
 
 #. TRANSLATORS: Show the user a list of packages that provide this command
-#: ../contrib/command-not-found/pk-command-not-found.c:747
+#: ../contrib/command-not-found/pk-command-not-found.c:775
 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:756
+#: ../contrib/command-not-found/pk-command-not-found.c:785
 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:764
+#: ../contrib/command-not-found/pk-command-not-found.c:794
 msgid "Please choose a package to install"
 msgstr "நிறுவுவதற்கு ஒரு கோப்பினை தேர்ந்தெடு"
 
 #. TRANSLATORS: we are starting to install the packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:195
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:197
 msgid "Starting install"
 msgstr "நிறுவலை துவக்குகிறது"
 
 #. TRANSLATORS: we couldn't find the package name, non-fatal
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:406
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:409
 #, c-format
 msgid "Failed to find the package %s, or already installed: %s"
 msgstr "தொகுப்பு %sஐ காண முடியவில்லை அல்லது ஏற்கனவே நிறுவப்பட்டது: %s"
 
 #. command line argument, simulate what would be done, but don't actually do it
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:507
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:515
 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
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:510
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:518
 msgid "Do not install dependencies of the core packages"
 msgstr "கோர் தொகுப்புகளின் சார்புகளை நிறுவவில்லை"
 
 #. command line argument, do we operate quietly
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:513
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:521
 msgid "Do not display information or progress"
 msgstr "விவரங்கள் அல்லது முன்னேற்றத்தை காட்ட வேண்டாம்"
 
 #. TRANSLATORS: tool that gets called when the command is not found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:528
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:539
 msgid "PackageKit Debuginfo Installer"
 msgstr "PackageKit Debuginfo நிறுவி"
 
 #. TRANSLATORS: the use needs to specify a list of package names on the command line
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:540
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:554
 #, c-format
 msgid "ERROR: Specify package names to install."
 msgstr "பிழை: நிறுவ தொகுப்பு பெயர்களை குறிப்பிடவும்"
 
 #. TRANSLATORS: we are getting the list of repositories
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:572
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:590
 #, c-format
 msgid "Getting sources list"
 msgstr "மூலங்களின் பட்டியல் பெறப்படுகிறது"
 
 #. TRANSLATORS: operation was not successful
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:582
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:657
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:741
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:785
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:852
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:896
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:600
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:675
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:759
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:803
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:870
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:914
 msgid "FAILED."
 msgstr "FAILED."
 
 #. TRANSLATORS: all completed 100%
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:597
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:637
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:672
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:756
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:800
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:867
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:911
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:615
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:655
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:690
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:774
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:818
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:885
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:929
 #, c-format
 msgid "OK."
 msgstr "சரி."
 
 #. TRANSLATORS: tell the user what we found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:600
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:618
 #, c-format
 msgid "Found %i enabled and %i disabled sources."
 msgstr "%i செயல்படுத்தப்பட்டது மற்றும் %i செயல்நீக்கப்பட்ட மூலங்கள் காணப்பட்டது."
 
 #. TRANSLATORS: we're finding repositories that match out pattern
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:607
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:625
 #, c-format
 msgid "Finding debugging sources"
 msgstr "பிழைத்திருத்த மூலங்களை தேடுகிறது"
 
 #. TRANSLATORS: tell the user what we found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:640
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:658
 #, c-format
 msgid "Found %i disabled debuginfo repos."
 msgstr "%i செயல்நீக்கப்பட்ட debuginfo repoகளை கண்டது."
 
 #. TRANSLATORS: we're now enabling all the debug sources we found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:647
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:665
 #, c-format
 msgid "Enabling debugging sources"
 msgstr "பிழைத்திருத்த மூலங்களை செயல்படுத்துகிறது"
 
 #. TRANSLATORS: tell the user how many we enabled
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:675
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:693
 #, c-format
 msgid "Enabled %i debugging sources."
 msgstr "செயல்நீக்கப்பட்ட %i பிழைத்திருத்த மூலங்கள்."
 
 #. TRANSLATORS: we're now finding packages that match in all the repos
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:682
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:700
 #, c-format
 msgid "Finding debugging packages"
 msgstr "பிழைத்திருத்த தொகுப்புகளை தேடுகிறது."
 
 #. TRANSLATORS: we couldn't find the package name, non-fatal
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:694
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:712
 #, c-format
 msgid "Failed to find the package %s: %s"
 msgstr "தொகுப்பு %sஐ காண முடியவில்லை: %s"
 
 #. TRANSLATORS: we couldn't find the debuginfo package name, non-fatal
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:717
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:735
 #, c-format
 msgid "Failed to find the debuginfo package %s: %s"
 msgstr "தொகுப்பு %sஐ காண முடியவில்லை: %s"
 
 #. TRANSLATORS: no debuginfo packages could be found to be installed
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:745
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:763
 #, c-format
 msgid "Found no packages to install."
 msgstr "நிறுவ தொகுப்புகள் எதுவும் காணப்படவில்லை."
 
 #. TRANSLATORS: tell the user we found some packages, and then list them
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:759
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:777
 #, c-format
 msgid "Found %i packages:"
 msgstr "%i தொகுப்புகள் காணப்பட்டது:"
 
 #. TRANSLATORS: tell the user we are searching for deps
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:775
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:793
 #, c-format
 msgid "Finding packages that depend on these packages"
 msgstr "இந்த தொகுப்புகளை சார்ந்துள்ள தொகுப்புகளை தேடுகிறது"
 
 #. TRANSLATORS: could not install, detailed error follows
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:788
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:806
 #, c-format
 msgid "Could not find dependant packages: %s"
 msgstr "சார்பு தொகுப்பை காண முடியவில்லை: %s"
 
 #. TRANSLATORS: tell the user we found some more packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:804
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:822
 #, c-format
 msgid "Found %i extra packages."
 msgstr "%i கூடுதல் தொகுப்புகள் காணப்பட்டது."
 
 #. TRANSLATORS: tell the user we found some more packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:808
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:826
 #, c-format
 msgid "No extra packages required."
 msgstr "கூடுதல் தொகுப்புகள் எதுவும் தேவைப்படவில்லை"
 
 #. TRANSLATORS: tell the user we found some packages (and deps), and then list them
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:817
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:835
 #, c-format
 msgid "Found %i packages to install:"
 msgstr "நிறுவ %i தொகுப்புகள் காணப்பட்டது:"
 
 #. TRANSLATORS: simulate mode is a testing mode where we quit before the action
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:830
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:848
 #, c-format
 msgid "Not installing packages in simulate mode"
 msgstr "கணக்கீடு முறைமையில் தொகுப்புகள் நிறுவப்படவில்லை"
 
 #. TRANSLATORS: we are now installing the debuginfo packages we found earlier
 #. TRANSLATORS: transaction state, installing packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:842
-#: ../lib/packagekit-glib2/pk-console-shared.c:270
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:860
+#: ../lib/packagekit-glib2/pk-console-shared.c:274
 #, c-format
 msgid "Installing packages"
 msgstr "நிறுவப்பட்ட தொகுப்புகள்"
 
 #. TRANSLATORS: could not install, detailed error follows
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:855
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:873
 #, c-format
 msgid "Could not install packages: %s"
 msgstr "தொகுப்புகளை நிறுவ முடியவில்லை: %s"
 
 #. TRANSLATORS: we are now disabling all debuginfo repos we previously enabled
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:887
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:905
 #, c-format
 msgid "Disabling sources previously enabled"
 msgstr "முன்பு செயல்படுத்தப்பட்ட மூலங்களை செயல்நீக்குகிறது"
 
 #. TRANSLATORS: no debuginfo packages could be found to be installed, detailed error follows
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:899
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:917
 #, c-format
 msgid "Could not disable the debugging sources: %s"
 msgstr "பிழைத்திருத்த மூலங்களை செயல்நீக்க முடியவில்லை: %s"
 
 #. TRANSLATORS: we disabled all the debugging repos that we enabled before
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:914
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:932
 #, c-format
 msgid "Disabled %i debugging sources."
 msgstr "செயல்நீக்கப்பட்ட %i பிழைத்திருத்த மூலங்கள்."
@@ -1046,599 +1061,605 @@ msgstr "PackageKit தொகுப்பு பட்டியல்"
 msgid "PackageKit Service Pack"
 msgstr "PackageKit சேவை தொகுப்பு"
 
-#: ../lib/packagekit-glib2/pk-console-shared.c:55
+#: ../lib/packagekit-glib2/pk-console-shared.c:59
 #, 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:177
+#: ../lib/packagekit-glib2/pk-console-shared.c:181
 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:186
+#: ../lib/packagekit-glib2/pk-console-shared.c:190
 msgid "Please choose the correct package: "
 msgstr "சரியான தொகுப்பினை தேர்ந்தெடுக்கவும்: "
 
 #. TRANSLATORS: This is when the transaction status is not known
-#: ../lib/packagekit-glib2/pk-console-shared.c:238
+#: ../lib/packagekit-glib2/pk-console-shared.c:242
 msgid "Unknown state"
 msgstr "தெரியாத நிலை"
 
 #. TRANSLATORS: transaction state, the daemon is in the process of starting
-#: ../lib/packagekit-glib2/pk-console-shared.c:242
+#: ../lib/packagekit-glib2/pk-console-shared.c:246
 msgid "Starting"
 msgstr "துவக்குகிறது"
 
 #. TRANSLATORS: transaction state, the transaction is waiting for another to complete
-#: ../lib/packagekit-glib2/pk-console-shared.c:246
+#: ../lib/packagekit-glib2/pk-console-shared.c:250
 msgid "Waiting in queue"
 msgstr "வரிசைக்கு காத்திருக்கிறது"
 
 #. TRANSLATORS: transaction state, just started
-#: ../lib/packagekit-glib2/pk-console-shared.c:250
+#: ../lib/packagekit-glib2/pk-console-shared.c:254
 msgid "Running"
 msgstr "இயங்குகிறது"
 
 #. TRANSLATORS: transaction state, is querying data
-#: ../lib/packagekit-glib2/pk-console-shared.c:254
+#: ../lib/packagekit-glib2/pk-console-shared.c:258
 msgid "Querying"
 msgstr "வினாயிடுகிறது"
 
 #. TRANSLATORS: transaction state, getting data from a server
-#: ../lib/packagekit-glib2/pk-console-shared.c:258
+#: ../lib/packagekit-glib2/pk-console-shared.c:262
 msgid "Getting information"
 msgstr "தகவலை பெறுகிறது"
 
 #. TRANSLATORS: transaction state, removing packages
-#: ../lib/packagekit-glib2/pk-console-shared.c:262
+#: ../lib/packagekit-glib2/pk-console-shared.c:266
 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:266
-#: ../lib/packagekit-glib2/pk-console-shared.c:640
+#: ../lib/packagekit-glib2/pk-console-shared.c:270
+#: ../lib/packagekit-glib2/pk-console-shared.c:648
 msgid "Downloading packages"
 msgstr "தொகுப்புகளை பதிவிறக்குகிறது"
 
 #. TRANSLATORS: transaction state, refreshing internal lists
-#: ../lib/packagekit-glib2/pk-console-shared.c:274
+#: ../lib/packagekit-glib2/pk-console-shared.c:278
 msgid "Refreshing software list"
 msgstr "மென்பொருள் பட்டியலை புதுப்பிக்கிறது"
 
 #. TRANSLATORS: transaction state, installing updates
-#: ../lib/packagekit-glib2/pk-console-shared.c:278
+#: ../lib/packagekit-glib2/pk-console-shared.c:282
 msgid "Installing updates"
 msgstr "மேம்படுத்தல்களை நிறுவுகிறது"
 
 #. TRANSLATORS: transaction state, removing old packages, and cleaning config files
-#: ../lib/packagekit-glib2/pk-console-shared.c:282
+#: ../lib/packagekit-glib2/pk-console-shared.c:286
 msgid "Cleaning up packages"
 msgstr "தொகுப்புகளை துடைக்கிறது"
 
 #. TRANSLATORS: transaction state, obsoleting old packages
-#: ../lib/packagekit-glib2/pk-console-shared.c:286
+#: ../lib/packagekit-glib2/pk-console-shared.c:290
 msgid "Obsoleting packages"
 msgstr "தொகுப்புகளை நீக்குகிறது"
 
 #. TRANSLATORS: transaction state, checking the transaction before we do it
-#: ../lib/packagekit-glib2/pk-console-shared.c:290
+#: ../lib/packagekit-glib2/pk-console-shared.c:294
 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:294
+#: ../lib/packagekit-glib2/pk-console-shared.c:298
 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:298
-#: ../lib/packagekit-glib2/pk-console-shared.c:600
+#: ../lib/packagekit-glib2/pk-console-shared.c:302
+#: ../lib/packagekit-glib2/pk-console-shared.c:608
 msgid "Rolling back"
 msgstr "பின்னால்"
 
 #. TRANSLATORS: transaction state, when we're doing a test transaction
-#: ../lib/packagekit-glib2/pk-console-shared.c:302
+#: ../lib/packagekit-glib2/pk-console-shared.c:306
 msgid "Testing changes"
 msgstr "மாற்றங்களை சோதிக்கிறது"
 
 #. TRANSLATORS: transaction state, when we're writing to the system package database
-#: ../lib/packagekit-glib2/pk-console-shared.c:306
+#: ../lib/packagekit-glib2/pk-console-shared.c:310
 msgid "Committing changes"
 msgstr "மாற்றங்களை சமர்ப்பிக்கிறது"
 
 #. TRANSLATORS: transaction state, requesting data from a server
-#: ../lib/packagekit-glib2/pk-console-shared.c:310
+#: ../lib/packagekit-glib2/pk-console-shared.c:314
 msgid "Requesting data"
 msgstr "தரவுக்கு விண்ணப்பிக்கிறது"
 
 #. TRANSLATORS: transaction state, all done!
-#: ../lib/packagekit-glib2/pk-console-shared.c:314
+#: ../lib/packagekit-glib2/pk-console-shared.c:318
 msgid "Finished"
 msgstr "முடிந்தது"
 
 #. TRANSLATORS: transaction state, in the process of cancelling
-#: ../lib/packagekit-glib2/pk-console-shared.c:318
+#: ../lib/packagekit-glib2/pk-console-shared.c:322
 msgid "Cancelling"
 msgstr "ரத்து செய்கிறது"
 
 #. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:322
+#: ../lib/packagekit-glib2/pk-console-shared.c:326
 msgid "Downloading repository information"
 msgstr "தொகுபதிவக தகவலை பதிவிறக்குகிறது"
 
 #. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:326
+#: ../lib/packagekit-glib2/pk-console-shared.c:330
 msgid "Downloading list of packages"
 msgstr "தொகுப்புகளின் பட்டியலை பதிவிறக்குகிறது"
 
 #. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:330
+#: ../lib/packagekit-glib2/pk-console-shared.c:334
 msgid "Downloading file lists"
 msgstr "கோப்பு பட்டியல்களை பதிவிறக்குகிறது"
 
 #. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:334
+#: ../lib/packagekit-glib2/pk-console-shared.c:338
 msgid "Downloading lists of changes"
 msgstr "தொகுப்புகளின் மாற்றங்களை பதிவிறக்குகிறது"
 
 #. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:338
+#: ../lib/packagekit-glib2/pk-console-shared.c:342
 msgid "Downloading groups"
 msgstr "குழுக்களை பதிவிறக்குகிறது"
 
 #. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:342
+#: ../lib/packagekit-glib2/pk-console-shared.c:346
 msgid "Downloading update information"
 msgstr "மேம்படுத்தல் தகவலை பதிவிறக்குகிறது"
 
 #. TRANSLATORS: transaction state, repackaging delta files
-#: ../lib/packagekit-glib2/pk-console-shared.c:346
+#: ../lib/packagekit-glib2/pk-console-shared.c:350
 msgid "Repackaging files"
 msgstr "கோப்புகளை மறுபேக் செய்கிறது"
 
 #. TRANSLATORS: transaction state, loading databases
-#: ../lib/packagekit-glib2/pk-console-shared.c:350
+#: ../lib/packagekit-glib2/pk-console-shared.c:354
 msgid "Loading cache"
 msgstr "கேஷை ஏற்றுகிறது"
 
 #. TRANSLATORS: transaction state, scanning for running processes
-#: ../lib/packagekit-glib2/pk-console-shared.c:354
+#: ../lib/packagekit-glib2/pk-console-shared.c:358
 msgid "Scanning applications"
 msgstr "பயன்பாடுகளை ஸ்கேன் செய்கிறது"
 
 #. TRANSLATORS: transaction state, generating a list of packages installed on the system
-#: ../lib/packagekit-glib2/pk-console-shared.c:358
+#: ../lib/packagekit-glib2/pk-console-shared.c:362
 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:362
+#: ../lib/packagekit-glib2/pk-console-shared.c:366
 msgid "Waiting for package manager lock"
 msgstr "தொகுப்பு மேலாளர் பூட்டுக்கு காத்திருக்கிறது"
 
-#. TRANSLATORS: waiting for user to type in a password
-#: ../lib/packagekit-glib2/pk-console-shared.c:366
+#. TRANSLATORS: transaction state, waiting for user to type in a password
+#: ../lib/packagekit-glib2/pk-console-shared.c:370
 msgid "Waiting for authentication"
 msgstr "அங்கீகாரத்திற்கு காத்திருக்கிறது"
 
-#. TRANSLATORS: we are updating the list of processes
-#: ../lib/packagekit-glib2/pk-console-shared.c:370
+#. TRANSLATORS: transaction state, we are updating the list of processes
+#: ../lib/packagekit-glib2/pk-console-shared.c:374
 msgid "Updating running applications"
 msgstr "இயங்கும் பயன்பாடுகளை மேம்படுத்துகிறது"
 
-#. TRANSLATORS: we are checking executable files currently in use
-#: ../lib/packagekit-glib2/pk-console-shared.c:374
+#. TRANSLATORS: transaction state, we are checking executable files currently in use
+#: ../lib/packagekit-glib2/pk-console-shared.c:378
 msgid "Checking applications in use"
 msgstr "பயனிலுள்ள பயன்பாடுகளை சரிபார்க்கிறது"
 
-#. TRANSLATORS: we are checking for libraries currently in use
-#: ../lib/packagekit-glib2/pk-console-shared.c:378
+#. TRANSLATORS: transaction state, we are checking for libraries currently in use
+#: ../lib/packagekit-glib2/pk-console-shared.c:382
 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:386
+#| msgid "No files"
+msgid "Copying files"
+msgstr "கோப்புகளை நகலெடுக்கிறது"
+
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:396
+#: ../lib/packagekit-glib2/pk-console-shared.c:404
 msgid "Trivial"
 msgstr "சாதாரணமானது"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:400
+#: ../lib/packagekit-glib2/pk-console-shared.c:408
 msgid "Normal"
 msgstr "இயல்பான"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:404
+#: ../lib/packagekit-glib2/pk-console-shared.c:412
 msgid "Important"
 msgstr "முக்கியமானது"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:408
+#: ../lib/packagekit-glib2/pk-console-shared.c:416
 msgid "Security"
 msgstr "பாதுகாப்பு"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:412
+#: ../lib/packagekit-glib2/pk-console-shared.c:420
 msgid "Bug fix "
 msgstr "பிழைத்திருத்தம்"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:416
+#: ../lib/packagekit-glib2/pk-console-shared.c:424
 msgid "Enhancement"
 msgstr "மேம்படுத்தல்"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:420
+#: ../lib/packagekit-glib2/pk-console-shared.c:428
 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:425
-#: ../lib/packagekit-glib2/pk-console-shared.c:498
+#: ../lib/packagekit-glib2/pk-console-shared.c:433
+#: ../lib/packagekit-glib2/pk-console-shared.c:506
 msgid "Installed"
 msgstr "நிறுவப்பட்டது"
 
 #. TRANSLATORS: The state of a package, i.e. not installed
-#: ../lib/packagekit-glib2/pk-console-shared.c:430
+#: ../lib/packagekit-glib2/pk-console-shared.c:438
 msgid "Available"
 msgstr "இருப்பவை"
 
 #. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:448
+#: ../lib/packagekit-glib2/pk-console-shared.c:456
 msgid "Downloading"
 msgstr "பதிவிறக்குகிறது"
 
 #. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:452
+#: ../lib/packagekit-glib2/pk-console-shared.c:460
 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:456
-#: ../lib/packagekit-glib2/pk-console-shared.c:576
+#: ../lib/packagekit-glib2/pk-console-shared.c:464
+#: ../lib/packagekit-glib2/pk-console-shared.c:584
 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:460
-#: ../lib/packagekit-glib2/pk-console-shared.c:572
+#: ../lib/packagekit-glib2/pk-console-shared.c:468
+#: ../lib/packagekit-glib2/pk-console-shared.c:580
 msgid "Removing"
 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:472
 msgid "Cleaning up"
 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:476
 msgid "Obsoleting"
 msgstr "நீக்குகிறது"
 
 #. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:472
+#: ../lib/packagekit-glib2/pk-console-shared.c:480
 msgid "Reinstalling"
 msgstr "மீண்டும் நிநிறுவுகிற.."
 
 #. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:490
+#: ../lib/packagekit-glib2/pk-console-shared.c:498
 msgid "Downloaded"
 msgstr "பதிவிறக்கப்பட்டது"
 
 #. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:502
+#: ../lib/packagekit-glib2/pk-console-shared.c:510
 msgid "Removed"
 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:514
 msgid "Cleaned up"
 msgstr "துடைக்கப்பட்டது"
 
 #. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:510
+#: ../lib/packagekit-glib2/pk-console-shared.c:518
 msgid "Obsoleted"
 msgstr "நீக்கப்பட்டது"
 
 #. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:514
+#: ../lib/packagekit-glib2/pk-console-shared.c:522
 msgid "Reinstalled"
 msgstr "மறு நிறுவப்பட்டது"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:532
+#: ../lib/packagekit-glib2/pk-console-shared.c:540
 msgid "Unknown role type"
 msgstr "தெரியாத பங்கு வகை"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:536
+#: ../lib/packagekit-glib2/pk-console-shared.c:544
 msgid "Getting dependencies"
 msgstr "சார்புகளை பெறுகிறது"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:540
+#: ../lib/packagekit-glib2/pk-console-shared.c:548
 msgid "Getting update details"
 msgstr "மேம்படுத்தல் விவரங்களை பெறப்படுகிறது"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:544
+#: ../lib/packagekit-glib2/pk-console-shared.c:552
 msgid "Getting details"
 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:556
 msgid "Getting requires"
 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:560
 msgid "Getting updates"
 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:564
 msgid "Searching by 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:568
 msgid "Searching by file"
 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:572
 msgid "Searching groups"
 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:576
 msgid "Searching by name"
 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:588
 msgid "Installing files"
 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:592
 msgid "Refreshing cache"
 msgstr "கேஷை புதுப்பிக்கிறது"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:588
+#: ../lib/packagekit-glib2/pk-console-shared.c:596
 msgid "Updating packages"
 msgstr "தொகுப்புகளை மேம்படுத்துகிறது"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:592
+#: ../lib/packagekit-glib2/pk-console-shared.c:600
 msgid "Updating system"
 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:604
 msgid "Canceling"
 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:612
 msgid "Getting repositories"
 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:616
 msgid "Enabling repository"
 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:620
 msgid "Setting data"
 msgstr "தரவை அமைக்கிறது"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:616
+#: ../lib/packagekit-glib2/pk-console-shared.c:624
 msgid "Resolving"
 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:628
 msgid "Getting file list"
 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:632
 msgid "Getting provides"
 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:636
 msgid "Installing signature"
 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:640
 msgid "Getting packages"
 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:644
 msgid "Accepting EULA"
 msgstr "EULAவை ஏற்கிறது"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:644
+#: ../lib/packagekit-glib2/pk-console-shared.c:652
 msgid "Getting upgrades"
 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:656
 msgid "Getting categories"
 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:660
 msgid "Getting transactions"
 msgstr "பரிமாற்றங்களை பெறுகிறது"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:656
-#: ../lib/packagekit-glib2/pk-console-shared.c:660
+#: ../lib/packagekit-glib2/pk-console-shared.c:664
+#: ../lib/packagekit-glib2/pk-console-shared.c:668
 msgid "Simulating install"
 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:672
 msgid "Simulating remove"
 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:676
 msgid "Simulating update"
 msgstr "மேம்படுத்தல் கணக்கிடுகிறது"
 
 #. TRANSLATORS: ask the user if they are comfortable installing insecure packages
-#: ../lib/packagekit-glib2/pk-task-text.c:64
+#: ../lib/packagekit-glib2/pk-task-text.c:66
 msgid "Do you want to allow installing of unsigned software?"
 msgstr "கையொப்பமிடாத மென்பொருளை நிறுவ அனுமதிக்கவா?"
 
 #. TRANSLATORS: tell the user we've not done anything
-#: ../lib/packagekit-glib2/pk-task-text.c:69
+#: ../lib/packagekit-glib2/pk-task-text.c:71
 msgid "The unsigned software will not be installed."
 msgstr "கையொப்பமிடப்படாத மென்பொருள் நிறுவப்படவில்லை."
 
 #. TRANSLATORS: the package repository is signed by a key that is not recognised
-#: ../lib/packagekit-glib2/pk-task-text.c:102
+#: ../lib/packagekit-glib2/pk-task-text.c:104
 msgid "Software source signature required"
 msgstr "மென்பொருள் மூல கையெழுத்து தேவைப்படுகிறது"
 
 #. TRANSLATORS: the package repository name
-#: ../lib/packagekit-glib2/pk-task-text.c:108
+#: ../lib/packagekit-glib2/pk-task-text.c:110
 msgid "Software source name"
 msgstr "மென்பொருள் மூல பெயர்"
 
 #. TRANSLATORS: the key URL
-#: ../lib/packagekit-glib2/pk-task-text.c:111
+#: ../lib/packagekit-glib2/pk-task-text.c:113
 msgid "Key URL"
 msgstr "விசை URL"
 
 #. TRANSLATORS: the username of the key
-#: ../lib/packagekit-glib2/pk-task-text.c:114
+#: ../lib/packagekit-glib2/pk-task-text.c:116
 msgid "Key user"
 msgstr "விசை பயனர்"
 
 #. TRANSLATORS: the key ID, usually a few hex digits
-#: ../lib/packagekit-glib2/pk-task-text.c:117
+#: ../lib/packagekit-glib2/pk-task-text.c:119
 msgid "Key ID"
 msgstr "விசை ஐடி"
 
 #. TRANSLATORS: the key fingerprint, again, yet more hex
-#: ../lib/packagekit-glib2/pk-task-text.c:120
+#: ../lib/packagekit-glib2/pk-task-text.c:122
 msgid "Key fingerprint"
 msgstr "விசை விரல் ரேகை"
 
 #. TRANSLATORS: the timestamp (a bit like a machine readable time)
-#: ../lib/packagekit-glib2/pk-task-text.c:123
+#: ../lib/packagekit-glib2/pk-task-text.c:125
 msgid "Key Timestamp"
 msgstr "விசை நேர முத்திரை"
 
 #. TRANSLATORS: ask the user if they want to import
-#: ../lib/packagekit-glib2/pk-task-text.c:129
+#: ../lib/packagekit-glib2/pk-task-text.c:131
 msgid "Do you accept this signature?"
 msgstr "நீங்கள் இந்த கையெமுத்து ஏற்றுக் கொள்கிறீர்களா ?"
 
 #. TRANSLATORS: tell the user we've not done anything
-#: ../lib/packagekit-glib2/pk-task-text.c:134
+#: ../lib/packagekit-glib2/pk-task-text.c:136
 msgid "The signature was not accepted."
 msgstr "கையேழுத்து ஏற்றுக் கொள்ளப்படவில்லை."
 
 #. TRANSLATORS: this is another name for a software licence that has to be read before installing
-#: ../lib/packagekit-glib2/pk-task-text.c:169
+#: ../lib/packagekit-glib2/pk-task-text.c:171
 msgid "End user licence agreement required"
 msgstr "இறுதியான பயனரின் உரிம ஒப்பந்தம் தேவைப்படுகிறது"
 
 #. TRANSLATORS: the EULA text itself (long and boring)
-#: ../lib/packagekit-glib2/pk-task-text.c:178
+#: ../lib/packagekit-glib2/pk-task-text.c:180
 msgid "Agreement"
 msgstr "ஒப்பந்தம்"
 
 #. TRANSLATORS: ask the user if they've read and accepted the EULA
-#: ../lib/packagekit-glib2/pk-task-text.c:184
+#: ../lib/packagekit-glib2/pk-task-text.c:186
 msgid "Do you accept this agreement?"
 msgstr "நீங்கள் இந்த ஒப்பந்தத்தை ஏற்றுக் கொள்கிறீர்களா?"
 
 #. TRANSLATORS: tell the user we've not done anything
-#: ../lib/packagekit-glib2/pk-task-text.c:189
+#: ../lib/packagekit-glib2/pk-task-text.c:191
 msgid "The agreement was not accepted."
 msgstr "இந்த ஒப்பந்தம் ஏற்றுக் கொள்ளப்படவில்லை."
 
 #. TRANSLATORS: the user needs to change media inserted into the computer
-#: ../lib/packagekit-glib2/pk-task-text.c:219
+#: ../lib/packagekit-glib2/pk-task-text.c:221
 msgid "Media change required"
 msgstr "ஊடக மாற்றம் தேவைப்படுகிறது"
 
 #. TRANSLATORS: the type, e.g. DVD, CD, etc
-#: ../lib/packagekit-glib2/pk-task-text.c:222
+#: ../lib/packagekit-glib2/pk-task-text.c:224
 msgid "Media type"
 msgstr "ஊடக வகை"
 
 #. TRANSLATORS: the media label, usually like 'disk-1of3'
-#: ../lib/packagekit-glib2/pk-task-text.c:225
+#: ../lib/packagekit-glib2/pk-task-text.c:227
 msgid "Media label"
 msgstr "ஊடக லேபிள்"
 
 #. TRANSLATORS: the media description, usually like 'Fedora 12 disk 5'
-#: ../lib/packagekit-glib2/pk-task-text.c:228
+#: ../lib/packagekit-glib2/pk-task-text.c:230
 msgid "Text"
 msgstr "உரை"
 
 #. TRANSLATORS: ask the user to insert the media
-#: ../lib/packagekit-glib2/pk-task-text.c:232
+#: ../lib/packagekit-glib2/pk-task-text.c:234
 msgid "Please insert the correct media"
 msgstr "சரியான ஊடகத்தை நுழைக்கவும்: "
 
 #. TRANSLATORS: tell the user we've not done anything as they are lazy
-#: ../lib/packagekit-glib2/pk-task-text.c:237
+#: ../lib/packagekit-glib2/pk-task-text.c:239
 msgid "The correct media was not inserted."
 msgstr "சரியான ஊடகம் நுழைக்கப்படவில்லை."
 
 #. TRANSLATORS: When processing, we might have to remove other dependencies
-#: ../lib/packagekit-glib2/pk-task-text.c:252
+#: ../lib/packagekit-glib2/pk-task-text.c:254
 msgid "The following packages have to be removed:"
 msgstr "பின்வரும் தொகுப்புகளை நீக்கப்பட வேண்டியவை:"
 
 #. TRANSLATORS: When processing, we might have to install other dependencies
-#: ../lib/packagekit-glib2/pk-task-text.c:257
+#: ../lib/packagekit-glib2/pk-task-text.c:259
 msgid "The following packages have to be installed:"
 msgstr "பின்வரும் தொகுப்புகளை நிறுவப்பட வேண்டியவை:"
 
 #. TRANSLATORS: When processing, we might have to update other dependencies
-#: ../lib/packagekit-glib2/pk-task-text.c:262
+#: ../lib/packagekit-glib2/pk-task-text.c:264
 msgid "The following packages have to be updated:"
 msgstr "பின்வரும் தொகுப்புகள் மேம்படுத்த வேண்டியவை:"
 
 #. TRANSLATORS: When processing, we might have to reinstall other dependencies
-#: ../lib/packagekit-glib2/pk-task-text.c:267
+#: ../lib/packagekit-glib2/pk-task-text.c:269
 msgid "The following packages have to be reinstalled:"
 msgstr "பின்வரும் தொகுப்புகளை மீண்டும் நிறுவப்பட வேண்டியவை:"
 
 #. TRANSLATORS: When processing, we might have to downgrade other dependencies
-#: ../lib/packagekit-glib2/pk-task-text.c:272
+#: ../lib/packagekit-glib2/pk-task-text.c:274
 msgid "The following packages have to be downgraded:"
 msgstr "பின்வரும் தொகுப்புகளை தரமிறக்க வேண்டியவை:"
 
 #. TRANSLATORS: ask the user if the proposed changes are okay
-#: ../lib/packagekit-glib2/pk-task-text.c:331
+#: ../lib/packagekit-glib2/pk-task-text.c:333
 msgid "Proceed with changes?"
 msgstr "மாற்றங்களுடன் தொடர வேண்டுமா?"
 
 #. TRANSLATORS: tell the user we didn't do anything
-#: ../lib/packagekit-glib2/pk-task-text.c:336
+#: ../lib/packagekit-glib2/pk-task-text.c:338
 msgid "The transaction did not proceed."
 msgstr "பரிமாற்றம் செயல்படவில்லை."
 
commit c927ebc94744486f98b8bd89b5c5d90b390e589e
Author: kmilos <kmilos at fedoraproject.org>
Date:   Fri Oct 30 22:11:27 2009 +0000

    Sending translation for Serbian (Latin)

diff --git a/po/sr at latin.po b/po/sr at latin.po
index 9464d0e..199f06a 100644
--- a/po/sr at latin.po
+++ b/po/sr at latin.po
@@ -11,8 +11,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PackageKit\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-09-28 21:59+0000\n"
-"PO-Revision-Date: 2009-09-29 00:06+0100\n"
+"POT-Creation-Date: 2009-10-30 10:08+0000\n"
+"PO-Revision-Date: 2009-10-30 21:28+0100\n"
 "Last-Translator: Miloš Komarčević <kmilos at gmail.com>\n"
 "Language-Team: Serbian (sr) <fedora-trans-sr at redhat.com>\n"
 "MIME-Version: 1.0\n"
@@ -138,8 +138,8 @@ msgstr "Više o nadgradnji:"
 #. 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:249 ../lib/packagekit-glib2/pk-task-text.c:105
-#: ../lib/packagekit-glib2/pk-task-text.c:172
+#: ../client/pk-console.c:249 ../lib/packagekit-glib2/pk-task-text.c:107
+#: ../lib/packagekit-glib2/pk-task-text.c:174
 #: ../src/pk-polkit-action-lookup.c:361
 msgid "Package"
 msgid_plural "Packages"
@@ -159,7 +159,7 @@ msgstr "Prevazilazi"
 
 #. TRANSLATORS: details about the update, the vendor URLs
 #. TRANSLATORS: the vendor (e.g. vmware) that is providing the EULA
-#: ../client/pk-console.c:260 ../lib/packagekit-glib2/pk-task-text.c:175
+#: ../client/pk-console.c:260 ../lib/packagekit-glib2/pk-task-text.c:177
 msgid "Vendor"
 msgstr "Izdavač"
 
@@ -200,7 +200,7 @@ msgstr "Izdato"
 
 #. TRANSLATORS: details about the update, date the update was updated
 #. TRANSLATORS: The action of the package, in past tense
-#: ../client/pk-console.c:294 ../lib/packagekit-glib2/pk-console-shared.c:498
+#: ../client/pk-console.c:294 ../lib/packagekit-glib2/pk-console-shared.c:502
 msgid "Updated"
 msgstr "Datum ažuriranja"
 
@@ -266,8 +266,8 @@ msgstr "Kobna greška"
 
 #. TRANSLATORS: the transaction failed in a way we could not expect
 #: ../client/pk-console.c:484
-#: ../contrib/command-not-found/pk-command-not-found.c:426
-#: ../contrib/command-not-found/pk-command-not-found.c:567
+#: ../contrib/command-not-found/pk-command-not-found.c:430
+#: ../contrib/command-not-found/pk-command-not-found.c:597
 msgid "The transaction failed"
 msgstr "Transakcija nije uspela"
 
@@ -351,141 +351,154 @@ msgstr "Datum poslednjeg izvršavanja ove radnje nije pronađen"
 
 #. TRANSLATORS: command line argument, if we should show debugging information
 #. TRANSLATORS: if we should show debugging data
-#: ../client/pk-console.c:987 ../client/pk-generate-pack.c:223
+#: ../client/pk-console.c:989 ../client/pk-generate-pack.c:223
 #: ../client/pk-monitor.c:281
-#: ../contrib/command-not-found/pk-command-not-found.c:620
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:511
+#: ../contrib/command-not-found/pk-command-not-found.c:651
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:512
 #: ../contrib/device-rebind/pk-device-rebind.c:293 ../src/pk-main.c:211
 msgid "Show extra debugging information"
 msgstr "Prikaži dodatne podatke za otklon grešaka"
 
 #. TRANSLATORS: command line argument, just show the version string
-#: ../client/pk-console.c:990 ../client/pk-monitor.c:283
+#: ../client/pk-console.c:992 ../client/pk-monitor.c:283
 msgid "Show the program version and exit"
 msgstr "Prikaži verziju programa i završi rad"
 
 #. TRANSLATORS: command line argument, use a filter to narrow down results
-#: ../client/pk-console.c:993
+#: ../client/pk-console.c:995
 msgid "Set the filter, e.g. installed"
 msgstr "Namesti filter, npr. instalirani"
 
 #. TRANSLATORS: command line argument, work asynchronously
-#: ../client/pk-console.c:996
+#: ../client/pk-console.c:998
 msgid "Exit without waiting for actions to complete"
 msgstr "Završi rad bez čekanja da se poslovi završe"
 
+#. command line argument, do we ask questions
+#: ../client/pk-console.c:1001
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:524
+msgid "Install the packages without asking for confirmation"
+msgstr "Instaliraj pakete bez pitanja za potvrdu"
+
+#. TRANSLATORS: command line argument, this command is not a priority
+#: ../client/pk-console.c:1004
+msgid "Run the command using idle network bandwidth and also using less power"
+msgstr ""
+"Izvrši naredbu koristeći neiskorišćeni mrežni opseg i takođe trošeći manje "
+"energije"
+
 #. TRANSLATORS: we failed to contact the daemon
-#: ../client/pk-console.c:1022
+#: ../client/pk-console.c:1030
 msgid "Failed to contact PackageKit"
 msgstr "Neuspešno kontaktiranje PaketKita."
 
 #. TRANSLATORS: The user specified an incorrect filter
-#: ../client/pk-console.c:1074
+#: ../client/pk-console.c:1086
 msgid "The filter specified was invalid"
 msgstr "Navedeni filter nije ispravan"
 
 #. TRANSLATORS: a search type can be name, details, file, etc
-#: ../client/pk-console.c:1093
+#: ../client/pk-console.c:1105
 msgid "A search type is required, e.g. name"
 msgstr "Morate navesti vrstu pretrage, npr. po imenu"
 
 #. TRANSLATORS: the user needs to provide a search term
-#: ../client/pk-console.c:1100 ../client/pk-console.c:1112
-#: ../client/pk-console.c:1124 ../client/pk-console.c:1136
+#: ../client/pk-console.c:1112 ../client/pk-console.c:1124
+#: ../client/pk-console.c:1136 ../client/pk-console.c:1148
 msgid "A search term is required"
 msgstr "Morate navesti termin za pretragu"
 
 #. TRANSLATORS: the search type was provided, but invalid
-#: ../client/pk-console.c:1146
+#: ../client/pk-console.c:1158
 msgid "Invalid search type"
 msgstr "Neispravna vrsta pretrage"
 
 #. TRANSLATORS: the user did not specify what they wanted to install
-#: ../client/pk-console.c:1152
+#: ../client/pk-console.c:1164
 msgid "A package name to install is required"
 msgstr "Neophodno je ime paketa za instalaciju"
 
 #. TRANSLATORS: the user did not specify what they wanted to install
-#: ../client/pk-console.c:1161
+#: ../client/pk-console.c:1173
 msgid "A filename to install is required"
 msgstr "Neophodno je ime datoteke za instalaciju"
 
 #. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:1173
+#: ../client/pk-console.c:1185
 msgid "A type, key_id and package_id are required"
 msgstr "Morate navesti vrstu, IB ključa i IB paketa (key_id i package_id)"
 
 #. TRANSLATORS: the user did not specify what they wanted to remove
-#: ../client/pk-console.c:1184
+#: ../client/pk-console.c:1196
 msgid "A package name to remove is required"
 msgstr "Morate navesti naziv paketa za uklanjanje"
 
 #. TRANSLATORS: the user did not specify anything about what to download or where
-#: ../client/pk-console.c:1193
+#: ../client/pk-console.c:1205
 msgid "A destination directory and the package names to download are required"
 msgstr "Neophodni su odredišni direktorijum i imena paketa za preuzimanje"
 
 #. TRANSLATORS: the directory does not exist, so we can't continue
-#: ../client/pk-console.c:1200
+#: ../client/pk-console.c:1212
 msgid "Directory not found"
 msgstr "Direktorijum nije nađen"
 
 #. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:1209
+#: ../client/pk-console.c:1221
 msgid "A licence identifier (eula-id) is required"
 msgstr "Morete navesti identifikator licence (eula-id)"
 
 #. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:1220
+#: ../client/pk-console.c:1232
 msgid "A transaction identifier (tid) is required"
 msgstr "Morate navesti identifikator transakcije (tid)"
 
 #. TRANSLATORS: The user did not specify a package name
-#: ../client/pk-console.c:1241
+#: ../client/pk-console.c:1253
 msgid "A package name to resolve is required"
 msgstr "Morate navesti ime paketa za razrešavanje"
 
 #. TRANSLATORS: The user did not specify a repository (software source) name
-#: ../client/pk-console.c:1252 ../client/pk-console.c:1263
+#: ../client/pk-console.c:1264 ../client/pk-console.c:1275
 msgid "A repository name is required"
 msgstr "Morate navesti ime riznice"
 
 #. TRANSLATORS: The user didn't provide any data
-#: ../client/pk-console.c:1274
+#: ../client/pk-console.c:1286
 msgid "A repo name, parameter and value are required"
 msgstr "Morate navesti ime, parametar i vrednost riznice"
 
 #. TRANSLATORS: The user didn't specify what action to use
-#: ../client/pk-console.c:1291
+#: ../client/pk-console.c:1303
 msgid "An action, e.g. 'update-system' is required"
 msgstr "Morate navesti radnju, npr. „update-system“ (ažuriranje sistema)"
 
 #. TRANSLATORS: The user specified an invalid action
-#: ../client/pk-console.c:1298
+#: ../client/pk-console.c:1310
 msgid "A correct role is required"
 msgstr "Morate navesti važeću radnju"
 
 #. 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:1308 ../client/pk-console.c:1323
-#: ../client/pk-console.c:1332 ../client/pk-console.c:1352
-#: ../client/pk-console.c:1361 ../client/pk-generate-pack.c:287
+#: ../client/pk-console.c:1320 ../client/pk-console.c:1335
+#: ../client/pk-console.c:1344 ../client/pk-console.c:1364
+#: ../client/pk-console.c:1373 ../client/pk-generate-pack.c:287
 msgid "A package name is required"
 msgstr "Morate navesti ime paketa"
 
 #. TRANSLATORS: each package "provides" certain things, e.g. mime(gstreamer-decoder-mp3), the user didn't specify it
-#: ../client/pk-console.c:1341
+#: ../client/pk-console.c:1353
 msgid "A package provide string is required"
 msgstr "Morate navesti „provide“ niz (šta paket pruža)"
 
 #. TRANSLATORS: The user tried to use an unsupported option on the command line
-#: ../client/pk-console.c:1421
+#: ../client/pk-console.c:1433
 #, c-format
 msgid "Option '%s' is not supported"
 msgstr "Opcija „%s“ nije podržana"
 
 #. TRANSLATORS: Generic failure of what they asked to do
-#: ../client/pk-console.c:1431
+#: ../client/pk-console.c:1443
 msgid "Command failed"
 msgstr "Naredba nije uspela"
 
@@ -664,91 +677,96 @@ msgid "Installing..."
 msgstr "Instaliram..."
 
 #. TRANSLATORS: downloading repo data so we can search
-#: ../contrib/command-not-found/pk-command-not-found.c:361
+#: ../contrib/command-not-found/pk-command-not-found.c:365
 msgid "Downloading details about the software sources."
 msgstr "Preuzimam detalje o izvorima softvera."
 
 #. TRANSLATORS: downloading file lists so we can search
-#: ../contrib/command-not-found/pk-command-not-found.c:365
+#: ../contrib/command-not-found/pk-command-not-found.c:369
 msgid "Downloading filelists (this may take some time to complete)."
 msgstr "Preuzimam spiskove datoteka (ovo može da potraje dok se ne završi)."
 
 #. TRANSLATORS: waiting for native lock
-#: ../contrib/command-not-found/pk-command-not-found.c:369
+#: ../contrib/command-not-found/pk-command-not-found.c:373
 msgid "Waiting for package manager lock."
 msgstr "Čekanje na zaključavanje upravnika paketa."
 
 #. TRANSLATORS: loading package cache so we can search
-#: ../contrib/command-not-found/pk-command-not-found.c:373
+#: ../contrib/command-not-found/pk-command-not-found.c:377
 msgid "Loading list of packages."
 msgstr "Učitavam spisak paketa."
 
 #. TRANSLATORS: we failed to find the package, this shouldn't happen
-#: ../contrib/command-not-found/pk-command-not-found.c:417
+#: ../contrib/command-not-found/pk-command-not-found.c:421
 msgid "Failed to search for file"
 msgstr "Datoteka nije pronađena"
 
+#. TRANSLATORS: we failed to launch the executable, the error follows
+#: ../contrib/command-not-found/pk-command-not-found.c:560
+msgid "Failed to launch:"
+msgstr "Neuspešno pokretanje:"
+
 #. TRANSLATORS: we failed to install the package
-#: ../contrib/command-not-found/pk-command-not-found.c:558
+#: ../contrib/command-not-found/pk-command-not-found.c:588
 msgid "Failed to install packages"
 msgstr "Neuspešna instalacija paketa"
 
 #. TRANSLATORS: tool that gets called when the command is not found
-#: ../contrib/command-not-found/pk-command-not-found.c:636
+#: ../contrib/command-not-found/pk-command-not-found.c:667
 msgid "PackageKit Command Not Found"
 msgstr "PaketKit naredba nije nađena"
 
 #. TRANSLATORS: the prefix of all the output telling the user why it's not executing
-#: ../contrib/command-not-found/pk-command-not-found.c:664
+#: ../contrib/command-not-found/pk-command-not-found.c:697
 msgid "Command not found."
 msgstr "Naredba nije nađena."
 
 #. TRANSLATORS: tell the user what we think the command is
-#: ../contrib/command-not-found/pk-command-not-found.c:671
+#: ../contrib/command-not-found/pk-command-not-found.c:704
 msgid "Similar command is:"
 msgstr "Slična naredba je:"
 
 #. TRANSLATORS: Ask the user if we should run the similar command
-#: ../contrib/command-not-found/pk-command-not-found.c:680
+#: ../contrib/command-not-found/pk-command-not-found.c:714
 msgid "Run similar command:"
 msgstr "Pokreni sličnu naredbu:"
 
 #. 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:692
-#: ../contrib/command-not-found/pk-command-not-found.c:701
+#: ../contrib/command-not-found/pk-command-not-found.c:728
+#: ../contrib/command-not-found/pk-command-not-found.c:737
 msgid "Similar commands are:"
 msgstr "Slične naredbe su:"
 
 #. TRANSLATORS: ask the user to choose a file to run
-#: ../contrib/command-not-found/pk-command-not-found.c:708
+#: ../contrib/command-not-found/pk-command-not-found.c:744
 msgid "Please choose a command to run"
 msgstr "Izaberite naredbu za pokretanje"
 
 #. TRANSLATORS: tell the user what package provides the command
-#: ../contrib/command-not-found/pk-command-not-found.c:724
+#: ../contrib/command-not-found/pk-command-not-found.c:760
 msgid "The package providing this file is:"
 msgstr "Paket koji pruža ovu datoteku je:"
 
 #. TRANSLATORS: as the user if we want to install a package to provide the command
-#: ../contrib/command-not-found/pk-command-not-found.c:729
+#: ../contrib/command-not-found/pk-command-not-found.c:765
 #, c-format
 msgid "Install package '%s' to provide command '%s'?"
 msgstr "Da instaliram paket „%s“ koji pruža naredbu „%s“?"
 
 #. TRANSLATORS: Show the user a list of packages that provide this command
-#: ../contrib/command-not-found/pk-command-not-found.c:747
+#: ../contrib/command-not-found/pk-command-not-found.c:789
 msgid "Packages providing this file are:"
 msgstr "Paketi koji pružaju ovu datoteku su:"
 
 #. 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:757
+#: ../contrib/command-not-found/pk-command-not-found.c:799
 msgid "Suitable packages are:"
 msgstr "Prikladni paketi su:"
 
 #. get selection
 #. TRANSLATORS: ask the user to choose a file to install
-#: ../contrib/command-not-found/pk-command-not-found.c:766
+#: ../contrib/command-not-found/pk-command-not-found.c:808
 msgid "Please choose a package to install"
 msgstr "Izaberite paket za instalaciju"
 
@@ -764,186 +782,185 @@ msgid "Failed to find the package %s, or already installed: %s"
 msgstr "Neuspelo pronalaženje paketa %s, ili je već instaliran: %s"
 
 #. command line argument, simulate what would be done, but don't actually do it
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:514
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:515
 msgid ""
 "Don't actually install any packages, only simulate what would be installed"
 msgstr ""
-"Nemoj stvarno da instaliraš pakete, samo simuliraj šta bi bilo instalirano"
+"Nemoj u stvari da instaliraš pakete, samo simuliraj šta bi bilo instalirano"
 
 #. command line argument, do we skip packages that depend on the ones specified
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:517
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:518
 msgid "Do not install dependencies of the core packages"
 msgstr "Nemoj da instaliraš zavisnosti za osnovne pakete"
 
 #. command line argument, do we operate quietly
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:520
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:521
 msgid "Do not display information or progress"
 msgstr "Ne prikazuj informacije ili napredak"
 
 #. TRANSLATORS: tool that gets called when the command is not found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:535
-#, fuzzy
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:539
 msgid "PackageKit Debuginfo Installer"
 msgstr "PaketKit debuginfo instalater"
 
 #. TRANSLATORS: the use needs to specify a list of package names on the command line
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:550
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:554
 #, c-format
 msgid "ERROR: Specify package names to install."
 msgstr "GREÅ KA: Navedite imena paketa za instalaciju."
 
 #. TRANSLATORS: we are getting the list of repositories
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:579
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:590
 #, c-format
 msgid "Getting sources list"
 msgstr "Dobavljam spisak izvora"
 
 #. TRANSLATORS: operation was not successful
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:589
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:664
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:748
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:792
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:859
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:903
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:600
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:675
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:759
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:803
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:870
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:914
 msgid "FAILED."
 msgstr "NEUSPELA."
 
 #. TRANSLATORS: all completed 100%
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:604
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:644
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:679
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:763
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:807
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:874
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:918
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:615
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:655
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:690
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:774
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:818
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:885
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:929
 #, c-format
 msgid "OK."
 msgstr "U REDU."
 
 #. TRANSLATORS: tell the user what we found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:607
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:618
 #, c-format
 msgid "Found %i enabled and %i disabled sources."
 msgstr "Pronađeno je %i uključenih i %i isključenih izvora."
 
 #. TRANSLATORS: we're finding repositories that match out pattern
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:614
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:625
 #, c-format
 msgid "Finding debugging sources"
 msgstr "Pronalaženje izvora za otklon grešaka"
 
 #. TRANSLATORS: tell the user what we found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:647
-#, fuzzy, c-format
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:658
+#, c-format
 msgid "Found %i disabled debuginfo repos."
 msgstr "Pronađeno je %i isključenih debuginfo riznica."
 
 #. TRANSLATORS: we're now enabling all the debug sources we found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:654
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:665
 #, c-format
 msgid "Enabling debugging sources"
 msgstr "Uključujem izvore za otklon grešaka"
 
 #. TRANSLATORS: tell the user how many we enabled
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:682
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:693
 #, c-format
 msgid "Enabled %i debugging sources."
 msgstr "Uključeno je %i izvora za otklon grešaka."
 
 #. TRANSLATORS: we're now finding packages that match in all the repos
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:689
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:700
 #, c-format
 msgid "Finding debugging packages"
 msgstr "Pronalaženje paketa za otklon grešaka"
 
 #. TRANSLATORS: we couldn't find the package name, non-fatal
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:701
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:712
 #, c-format
 msgid "Failed to find the package %s: %s"
 msgstr "Neuspelo pronalaženje paketa %s: %s"
 
 #. TRANSLATORS: we couldn't find the debuginfo package name, non-fatal
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:724
-#, fuzzy, c-format
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:735
+#, c-format
 msgid "Failed to find the debuginfo package %s: %s"
 msgstr "Neuspelo pronalaženje debuginfo paketa %s: %s"
 
 #. TRANSLATORS: no debuginfo packages could be found to be installed
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:752
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:763
 #, c-format
 msgid "Found no packages to install."
 msgstr "Nisu pronađeni paketi za instalaciju."
 
 #. TRANSLATORS: tell the user we found some packages, and then list them
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:766
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:777
 #, c-format
 msgid "Found %i packages:"
 msgstr "Pronađeno je %i paketa:"
 
 #. TRANSLATORS: tell the user we are searching for deps
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:782
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:793
 #, c-format
 msgid "Finding packages that depend on these packages"
 msgstr "Pronalaženje paketa koji zavise od ovih paketa"
 
 #. TRANSLATORS: could not install, detailed error follows
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:795
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:806
 #, c-format
 msgid "Could not find dependant packages: %s"
 msgstr "Ne mogu da pronađem zavisan paket: %s"
 
 #. TRANSLATORS: tell the user we found some more packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:811
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:822
 #, c-format
 msgid "Found %i extra packages."
 msgstr "Pronađeno je %i dodatnih paketa."
 
 #. TRANSLATORS: tell the user we found some more packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:815
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:826
 #, c-format
 msgid "No extra packages required."
 msgstr "Nisu neophodni dodatni paketi."
 
 #. TRANSLATORS: tell the user we found some packages (and deps), and then list them
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:824
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:835
 #, c-format
 msgid "Found %i packages to install:"
 msgstr "Pronađeno je %i paketa za instalaciju:"
 
 #. TRANSLATORS: simulate mode is a testing mode where we quit before the action
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:837
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:848
 #, c-format
 msgid "Not installing packages in simulate mode"
 msgstr "Ne instaliram pakete u režimu simulacije"
 
 #. TRANSLATORS: we are now installing the debuginfo packages we found earlier
 #. TRANSLATORS: transaction state, installing packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:849
-#: ../lib/packagekit-glib2/pk-console-shared.c:270
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:860
+#: ../lib/packagekit-glib2/pk-console-shared.c:274
 #, c-format
 msgid "Installing packages"
 msgstr "Instaliram pakete"
 
 #. TRANSLATORS: could not install, detailed error follows
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:862
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:873
 #, c-format
 msgid "Could not install packages: %s"
 msgstr "Ne mogu da instaliram pakete: %s"
 
 #. TRANSLATORS: we are now disabling all debuginfo repos we previously enabled
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:894
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:905
 #, c-format
 msgid "Disabling sources previously enabled"
 msgstr "Isključujem prethodno uključene izvore"
 
 #. TRANSLATORS: no debuginfo packages could be found to be installed, detailed error follows
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:906
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:917
 #, c-format
 msgid "Could not disable the debugging sources: %s"
 msgstr "Ne mogu da isključim izvore za otklon grešaka: %s"
 
 #. TRANSLATORS: we disabled all the debugging repos that we enabled before
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:921
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:932
 #, c-format
 msgid "Disabled %i debugging sources."
 msgstr "Isključeno je %i izvora za otklon grešaka."
@@ -1046,604 +1063,604 @@ msgstr "PaketKit spisak paketa"
 msgid "PackageKit Service Pack"
 msgstr "Servis PaketKita"
 
-#: ../lib/packagekit-glib2/pk-console-shared.c:55
+#: ../lib/packagekit-glib2/pk-console-shared.c:59
 #, c-format
 msgid "Please enter a number from 1 to %i: "
 msgstr "Unesite broj između 1 i %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:177
+#: ../lib/packagekit-glib2/pk-console-shared.c:181
 msgid "More than one package matches:"
 msgstr "Postoji više paketa koji odgovaraju upitu:"
 
 #. TRANSLATORS: This finds out which package in the list to use
-#: ../lib/packagekit-glib2/pk-console-shared.c:186
+#: ../lib/packagekit-glib2/pk-console-shared.c:190
 msgid "Please choose the correct package: "
 msgstr "Izaberite željeni paket: "
 
 #. TRANSLATORS: This is when the transaction status is not known
-#: ../lib/packagekit-glib2/pk-console-shared.c:238
+#: ../lib/packagekit-glib2/pk-console-shared.c:242
 msgid "Unknown state"
 msgstr "Nepoznato stanje"
 
 #. TRANSLATORS: transaction state, the daemon is in the process of starting
-#: ../lib/packagekit-glib2/pk-console-shared.c:242
+#: ../lib/packagekit-glib2/pk-console-shared.c:246
 msgid "Starting"
 msgstr "Pokretanje"
 
 #. TRANSLATORS: transaction state, the transaction is waiting for another to complete
-#: ../lib/packagekit-glib2/pk-console-shared.c:246
+#: ../lib/packagekit-glib2/pk-console-shared.c:250
 msgid "Waiting in queue"
 msgstr "ÄŒekanje u redu"
 
 #. TRANSLATORS: transaction state, just started
-#: ../lib/packagekit-glib2/pk-console-shared.c:250
+#: ../lib/packagekit-glib2/pk-console-shared.c:254
 msgid "Running"
 msgstr "Izvršavanje"
 
 #. TRANSLATORS: transaction state, is querying data
-#: ../lib/packagekit-glib2/pk-console-shared.c:254
+#: ../lib/packagekit-glib2/pk-console-shared.c:258
 msgid "Querying"
 msgstr "Ispitivanje"
 
 #. TRANSLATORS: transaction state, getting data from a server
-#: ../lib/packagekit-glib2/pk-console-shared.c:258
+#: ../lib/packagekit-glib2/pk-console-shared.c:262
 msgid "Getting information"
 msgstr "Dobavljanje podataka"
 
 #. TRANSLATORS: transaction state, removing packages
-#: ../lib/packagekit-glib2/pk-console-shared.c:262
+#: ../lib/packagekit-glib2/pk-console-shared.c:266
 msgid "Removing packages"
 msgstr "Uklanjanje paketa"
 
 #. TRANSLATORS: transaction state, downloading package files
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:266
-#: ../lib/packagekit-glib2/pk-console-shared.c:644
+#: ../lib/packagekit-glib2/pk-console-shared.c:270
+#: ../lib/packagekit-glib2/pk-console-shared.c:648
 msgid "Downloading packages"
 msgstr "Preuzimanje paketa"
 
 #. TRANSLATORS: transaction state, refreshing internal lists
-#: ../lib/packagekit-glib2/pk-console-shared.c:274
+#: ../lib/packagekit-glib2/pk-console-shared.c:278
 msgid "Refreshing software list"
 msgstr "Osvežavanje spiska softvera"
 
 #. TRANSLATORS: transaction state, installing updates
-#: ../lib/packagekit-glib2/pk-console-shared.c:278
+#: ../lib/packagekit-glib2/pk-console-shared.c:282
 msgid "Installing updates"
 msgstr "Instaliranje ažuriranja"
 
 #. TRANSLATORS: transaction state, removing old packages, and cleaning config files
-#: ../lib/packagekit-glib2/pk-console-shared.c:282
+#: ../lib/packagekit-glib2/pk-console-shared.c:286
 msgid "Cleaning up packages"
 msgstr "Čišćenje paketa"
 
 #. TRANSLATORS: transaction state, obsoleting old packages
-#: ../lib/packagekit-glib2/pk-console-shared.c:286
+#: ../lib/packagekit-glib2/pk-console-shared.c:290
 msgid "Obsoleting packages"
 msgstr "Prevazilazim pakete"
 
 #. TRANSLATORS: transaction state, checking the transaction before we do it
-#: ../lib/packagekit-glib2/pk-console-shared.c:290
+#: ../lib/packagekit-glib2/pk-console-shared.c:294
 msgid "Resolving dependencies"
 msgstr "Razrešavanje zavisnosti"
 
 #. TRANSLATORS: transaction state, checking if we have all the security keys for the operation
-#: ../lib/packagekit-glib2/pk-console-shared.c:294
+#: ../lib/packagekit-glib2/pk-console-shared.c:298
 msgid "Checking signatures"
 msgstr "Provera potpisa"
 
 #. 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:298
-#: ../lib/packagekit-glib2/pk-console-shared.c:604
+#: ../lib/packagekit-glib2/pk-console-shared.c:302
+#: ../lib/packagekit-glib2/pk-console-shared.c:608
 msgid "Rolling back"
 msgstr "Vraćanje unazad"
 
 #. TRANSLATORS: transaction state, when we're doing a test transaction
-#: ../lib/packagekit-glib2/pk-console-shared.c:302
+#: ../lib/packagekit-glib2/pk-console-shared.c:306
 msgid "Testing changes"
 msgstr "Isprobavanje promena"
 
 #. TRANSLATORS: transaction state, when we're writing to the system package database
-#: ../lib/packagekit-glib2/pk-console-shared.c:306
+#: ../lib/packagekit-glib2/pk-console-shared.c:310
 msgid "Committing changes"
 msgstr "Å aljem promene"
 
 #. TRANSLATORS: transaction state, requesting data from a server
-#: ../lib/packagekit-glib2/pk-console-shared.c:310
+#: ../lib/packagekit-glib2/pk-console-shared.c:314
 msgid "Requesting data"
 msgstr "Zahtevam podatke"
 
 #. TRANSLATORS: transaction state, all done!
-#: ../lib/packagekit-glib2/pk-console-shared.c:314
+#: ../lib/packagekit-glib2/pk-console-shared.c:318
 msgid "Finished"
 msgstr "Završeno"
 
 #. TRANSLATORS: transaction state, in the process of cancelling
-#: ../lib/packagekit-glib2/pk-console-shared.c:318
+#: ../lib/packagekit-glib2/pk-console-shared.c:322
 msgid "Cancelling"
 msgstr "Otkazivanje"
 
 #. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:322
+#: ../lib/packagekit-glib2/pk-console-shared.c:326
 msgid "Downloading repository information"
 msgstr "Preuzimam podatke o riznici"
 
 #. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:326
+#: ../lib/packagekit-glib2/pk-console-shared.c:330
 msgid "Downloading list of packages"
 msgstr "Preuzimanje spiska paketa"
 
 #. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:330
+#: ../lib/packagekit-glib2/pk-console-shared.c:334
 msgid "Downloading file lists"
 msgstr "Preuzimanje spiskova datoteka"
 
 #. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:334
+#: ../lib/packagekit-glib2/pk-console-shared.c:338
 msgid "Downloading lists of changes"
 msgstr "Preuzimanje spiskova promena"
 
 #. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:338
+#: ../lib/packagekit-glib2/pk-console-shared.c:342
 msgid "Downloading groups"
 msgstr "Preuzimanje grupa"
 
 #. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:342
+#: ../lib/packagekit-glib2/pk-console-shared.c:346
 msgid "Downloading update information"
 msgstr "Preuzimanje podataka o ažuriranju"
 
 #. TRANSLATORS: transaction state, repackaging delta files
-#: ../lib/packagekit-glib2/pk-console-shared.c:346
+#: ../lib/packagekit-glib2/pk-console-shared.c:350
 msgid "Repackaging files"
 msgstr "Prepakivanje datoteka"
 
 #. TRANSLATORS: transaction state, loading databases
-#: ../lib/packagekit-glib2/pk-console-shared.c:350
+#: ../lib/packagekit-glib2/pk-console-shared.c:354
 msgid "Loading cache"
 msgstr "Učitavanje keša"
 
 #. TRANSLATORS: transaction state, scanning for running processes
-#: ../lib/packagekit-glib2/pk-console-shared.c:354
+#: ../lib/packagekit-glib2/pk-console-shared.c:358
 msgid "Scanning applications"
 msgstr "Pretražujem programe"
 
 #. TRANSLATORS: transaction state, generating a list of packages installed on the system
-#: ../lib/packagekit-glib2/pk-console-shared.c:358
+#: ../lib/packagekit-glib2/pk-console-shared.c:362
 msgid "Generating package lists"
 msgstr "Pravljenje spiskova paketa"
 
 #. TRANSLATORS: transaction state, when we're waiting for the native tools to exit
-#: ../lib/packagekit-glib2/pk-console-shared.c:362
+#: ../lib/packagekit-glib2/pk-console-shared.c:366
 msgid "Waiting for package manager lock"
 msgstr "Čekanje na zaključavanje upravnika paketa"
 
 #. TRANSLATORS: transaction state, waiting for user to type in a password
-#: ../lib/packagekit-glib2/pk-console-shared.c:366
+#: ../lib/packagekit-glib2/pk-console-shared.c:370
 msgid "Waiting for authentication"
 msgstr "ÄŒekanje na autentifikaciju"
 
 #. TRANSLATORS: transaction state, we are updating the list of processes
-#: ../lib/packagekit-glib2/pk-console-shared.c:370
+#: ../lib/packagekit-glib2/pk-console-shared.c:374
 msgid "Updating running applications"
 msgstr "Ažuriram pokrenute programe"
 
 #. TRANSLATORS: transaction state, we are checking executable files currently in use
-#: ../lib/packagekit-glib2/pk-console-shared.c:374
+#: ../lib/packagekit-glib2/pk-console-shared.c:378
 msgid "Checking applications in use"
 msgstr "Proveravam programe u upotrebi"
 
 #. TRANSLATORS: transaction state, we are checking for libraries currently in use
-#: ../lib/packagekit-glib2/pk-console-shared.c:378
+#: ../lib/packagekit-glib2/pk-console-shared.c:382
 msgid "Checking libraries in use"
 msgstr "Proveravam biblioteke u upotrebi"
 
 #. TRANSLATORS: transaction state, we are copying package files before or after the transaction
-#: ../lib/packagekit-glib2/pk-console-shared.c:382
+#: ../lib/packagekit-glib2/pk-console-shared.c:386
 msgid "Copying files"
 msgstr "Umnožavanje datoteka"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:400
+#: ../lib/packagekit-glib2/pk-console-shared.c:404
 msgid "Trivial"
 msgstr "Trivijalno"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:404
+#: ../lib/packagekit-glib2/pk-console-shared.c:408
 msgid "Normal"
 msgstr "Obično"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:408
+#: ../lib/packagekit-glib2/pk-console-shared.c:412
 msgid "Important"
 msgstr "Važno"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:412
+#: ../lib/packagekit-glib2/pk-console-shared.c:416
 msgid "Security"
 msgstr "Bezbednosno"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:416
+#: ../lib/packagekit-glib2/pk-console-shared.c:420
 msgid "Bug fix "
 msgstr "Ispravka greške"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:420
+#: ../lib/packagekit-glib2/pk-console-shared.c:424
 msgid "Enhancement"
 msgstr "Poboljšanje"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:424
+#: ../lib/packagekit-glib2/pk-console-shared.c:428
 msgid "Blocked"
 msgstr "Blokirano"
 
 #. TRANSLATORS: The state of a package
 #. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:429
-#: ../lib/packagekit-glib2/pk-console-shared.c:502
+#: ../lib/packagekit-glib2/pk-console-shared.c:433
+#: ../lib/packagekit-glib2/pk-console-shared.c:506
 msgid "Installed"
 msgstr "Instaliran"
 
 #. TRANSLATORS: The state of a package, i.e. not installed
-#: ../lib/packagekit-glib2/pk-console-shared.c:434
+#: ../lib/packagekit-glib2/pk-console-shared.c:438
 msgid "Available"
 msgstr "Dostupan"
 
 #. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:452
+#: ../lib/packagekit-glib2/pk-console-shared.c:456
 msgid "Downloading"
 msgstr "Preuzimanje"
 
 #. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:456
+#: ../lib/packagekit-glib2/pk-console-shared.c:460
 msgid "Updating"
 msgstr "Ažuriranje"
 
 #. 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:460
-#: ../lib/packagekit-glib2/pk-console-shared.c:580
+#: ../lib/packagekit-glib2/pk-console-shared.c:464
+#: ../lib/packagekit-glib2/pk-console-shared.c:584
 msgid "Installing"
 msgstr "Instalacija"
 
 #. 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:464
-#: ../lib/packagekit-glib2/pk-console-shared.c:576
+#: ../lib/packagekit-glib2/pk-console-shared.c:468
+#: ../lib/packagekit-glib2/pk-console-shared.c:580
 msgid "Removing"
 msgstr "Uklanjanje"
 
 #. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:468
+#: ../lib/packagekit-glib2/pk-console-shared.c:472
 msgid "Cleaning up"
 msgstr "Čišćenje"
 
 #. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:472
+#: ../lib/packagekit-glib2/pk-console-shared.c:476
 msgid "Obsoleting"
 msgstr "Prevazilaženje"
 
 #. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:476
+#: ../lib/packagekit-glib2/pk-console-shared.c:480
 msgid "Reinstalling"
 msgstr "Ponovna instalacija"
 
 #. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:494
+#: ../lib/packagekit-glib2/pk-console-shared.c:498
 msgid "Downloaded"
 msgstr "Preuzet"
 
 #. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:506
+#: ../lib/packagekit-glib2/pk-console-shared.c:510
 msgid "Removed"
 msgstr "Uklonjen"
 
 #. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:510
+#: ../lib/packagekit-glib2/pk-console-shared.c:514
 msgid "Cleaned up"
 msgstr "Očišćen"
 
 #. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:514
+#: ../lib/packagekit-glib2/pk-console-shared.c:518
 msgid "Obsoleted"
 msgstr "Prevaziđen"
 
 #. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:518
+#: ../lib/packagekit-glib2/pk-console-shared.c:522
 msgid "Reinstalled"
 msgstr "Ponovo instaliran"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:536
+#: ../lib/packagekit-glib2/pk-console-shared.c:540
 msgid "Unknown role type"
 msgstr "Nepoznata vrsta radnje"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:540
+#: ../lib/packagekit-glib2/pk-console-shared.c:544
 msgid "Getting dependencies"
 msgstr "Dobavljanje zavisnosti"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:544
+#: ../lib/packagekit-glib2/pk-console-shared.c:548
 msgid "Getting update details"
 msgstr "Dobavljanje detalja o ažuriranju"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:548
+#: ../lib/packagekit-glib2/pk-console-shared.c:552
 msgid "Getting details"
 msgstr "Dobavljanje detalja"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:552
+#: ../lib/packagekit-glib2/pk-console-shared.c:556
 msgid "Getting requires"
 msgstr "Dobavljam zahtevanja"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:556
+#: ../lib/packagekit-glib2/pk-console-shared.c:560
 msgid "Getting updates"
 msgstr "Dobavljam ažuriranja"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:560
+#: ../lib/packagekit-glib2/pk-console-shared.c:564
 msgid "Searching by details"
 msgstr "Pretražujem po detaljima"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:564
+#: ../lib/packagekit-glib2/pk-console-shared.c:568
 msgid "Searching by file"
 msgstr "Pretražujem po datotekama"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:568
+#: ../lib/packagekit-glib2/pk-console-shared.c:572
 msgid "Searching groups"
 msgstr "Pretražujem po grupama"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:572
+#: ../lib/packagekit-glib2/pk-console-shared.c:576
 msgid "Searching by name"
 msgstr "Pretražujem po imenu"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:584
+#: ../lib/packagekit-glib2/pk-console-shared.c:588
 msgid "Installing files"
 msgstr "Instaliram datoteke"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:588
+#: ../lib/packagekit-glib2/pk-console-shared.c:592
 msgid "Refreshing cache"
 msgstr "Osvežavam keš"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:592
+#: ../lib/packagekit-glib2/pk-console-shared.c:596
 msgid "Updating packages"
 msgstr "Ažuriranje paketa"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:596
+#: ../lib/packagekit-glib2/pk-console-shared.c:600
 msgid "Updating system"
 msgstr "Ažuriranje sistema"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:600
+#: ../lib/packagekit-glib2/pk-console-shared.c:604
 msgid "Canceling"
 msgstr "Otkazivanje"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:608
+#: ../lib/packagekit-glib2/pk-console-shared.c:612
 msgid "Getting repositories"
 msgstr "Dobavljanje riznica"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:612
+#: ../lib/packagekit-glib2/pk-console-shared.c:616
 msgid "Enabling repository"
 msgstr "Uključivanje riznice"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:616
+#: ../lib/packagekit-glib2/pk-console-shared.c:620
 msgid "Setting data"
 msgstr "Postavljanje podataka"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:620
+#: ../lib/packagekit-glib2/pk-console-shared.c:624
 msgid "Resolving"
 msgstr "Razrešavanje"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:624
+#: ../lib/packagekit-glib2/pk-console-shared.c:628
 msgid "Getting file list"
 msgstr "Dobavljanje spiska datoteka"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:628
+#: ../lib/packagekit-glib2/pk-console-shared.c:632
 msgid "Getting provides"
 msgstr "Dobavljanje pružanja"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:632
+#: ../lib/packagekit-glib2/pk-console-shared.c:636
 msgid "Installing signature"
 msgstr "Instaliranje potpisa"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:636
+#: ../lib/packagekit-glib2/pk-console-shared.c:640
 msgid "Getting packages"
 msgstr "Dobavljanje paketa"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:640
+#: ../lib/packagekit-glib2/pk-console-shared.c:644
 msgid "Accepting EULA"
 msgstr "Prihvatanje licence"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:648
+#: ../lib/packagekit-glib2/pk-console-shared.c:652
 msgid "Getting upgrades"
 msgstr "Dobavljanje nadgradnji"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:652
+#: ../lib/packagekit-glib2/pk-console-shared.c:656
 msgid "Getting categories"
 msgstr "Dobavljanje kategorija"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:656
+#: ../lib/packagekit-glib2/pk-console-shared.c:660
 msgid "Getting transactions"
 msgstr "Dobavljanje transakcija"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:660
 #: ../lib/packagekit-glib2/pk-console-shared.c:664
+#: ../lib/packagekit-glib2/pk-console-shared.c:668
 msgid "Simulating install"
 msgstr "Simuliranje instalacije"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:668
+#: ../lib/packagekit-glib2/pk-console-shared.c:672
 msgid "Simulating remove"
 msgstr "Simuliranje uklanjanja"
 
 #. 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
 msgid "Simulating update"
 msgstr "Simuliranje ažuriranja"
 
 #. TRANSLATORS: ask the user if they are comfortable installing insecure packages
-#: ../lib/packagekit-glib2/pk-task-text.c:64
+#: ../lib/packagekit-glib2/pk-task-text.c:66
 msgid "Do you want to allow installing of unsigned software?"
 msgstr "Želite li da dozvolite instalaciju nepotpisanog softvera?"
 
 #. TRANSLATORS: tell the user we've not done anything
-#: ../lib/packagekit-glib2/pk-task-text.c:69
+#: ../lib/packagekit-glib2/pk-task-text.c:71
 msgid "The unsigned software will not be installed."
 msgstr "Nepotpisani softver neće biti instaliran."
 
 #. TRANSLATORS: the package repository is signed by a key that is not recognised
-#: ../lib/packagekit-glib2/pk-task-text.c:102
+#: ../lib/packagekit-glib2/pk-task-text.c:104
 msgid "Software source signature required"
 msgstr "Neophodan je potpis izvora softvera"
 
 #. TRANSLATORS: the package repository name
-#: ../lib/packagekit-glib2/pk-task-text.c:108
+#: ../lib/packagekit-glib2/pk-task-text.c:110
 msgid "Software source name"
 msgstr "Ime izvora softvera"
 
 #. TRANSLATORS: the key URL
-#: ../lib/packagekit-glib2/pk-task-text.c:111
+#: ../lib/packagekit-glib2/pk-task-text.c:113
 msgid "Key URL"
 msgstr "URL ključa"
 
 #. TRANSLATORS: the username of the key
-#: ../lib/packagekit-glib2/pk-task-text.c:114
+#: ../lib/packagekit-glib2/pk-task-text.c:116
 msgid "Key user"
 msgstr "Korisnik ključa"
 
 #. TRANSLATORS: the key ID, usually a few hex digits
-#: ../lib/packagekit-glib2/pk-task-text.c:117
+#: ../lib/packagekit-glib2/pk-task-text.c:119
 msgid "Key ID"
 msgstr "IB ključa"
 
 #. TRANSLATORS: the key fingerprint, again, yet more hex
-#: ../lib/packagekit-glib2/pk-task-text.c:120
+#: ../lib/packagekit-glib2/pk-task-text.c:122
 msgid "Key fingerprint"
 msgstr "Otisak ključa"
 
 #. TRANSLATORS: the timestamp (a bit like a machine readable time)
-#: ../lib/packagekit-glib2/pk-task-text.c:123
+#: ../lib/packagekit-glib2/pk-task-text.c:125
 msgid "Key Timestamp"
 msgstr "Vremenska oznaka ključa"
 
 #. TRANSLATORS: ask the user if they want to import
-#: ../lib/packagekit-glib2/pk-task-text.c:129
+#: ../lib/packagekit-glib2/pk-task-text.c:131
 msgid "Do you accept this signature?"
 msgstr "Prihvatate li ovaj potpis?"
 
 #. TRANSLATORS: tell the user we've not done anything
-#: ../lib/packagekit-glib2/pk-task-text.c:134
+#: ../lib/packagekit-glib2/pk-task-text.c:136
 msgid "The signature was not accepted."
 msgstr "Ovaj potpis nije prihvaćen."
 
 #. TRANSLATORS: this is another name for a software licence that has to be read before installing
-#: ../lib/packagekit-glib2/pk-task-text.c:169
+#: ../lib/packagekit-glib2/pk-task-text.c:171
 msgid "End user licence agreement required"
 msgstr "Neophodan je Licenci sporazum sa krajnjim korisnikom"
 
 #. TRANSLATORS: the EULA text itself (long and boring)
-#: ../lib/packagekit-glib2/pk-task-text.c:178
+#: ../lib/packagekit-glib2/pk-task-text.c:180
 msgid "Agreement"
 msgstr "Sporazum"
 
 #. TRANSLATORS: ask the user if they've read and accepted the EULA
-#: ../lib/packagekit-glib2/pk-task-text.c:184
+#: ../lib/packagekit-glib2/pk-task-text.c:186
 msgid "Do you accept this agreement?"
 msgstr "Prihvatate li ovaj sporazum?"
 
 #. TRANSLATORS: tell the user we've not done anything
-#: ../lib/packagekit-glib2/pk-task-text.c:189
+#: ../lib/packagekit-glib2/pk-task-text.c:191
 msgid "The agreement was not accepted."
 msgstr "Sporazum nije prihvaćen."
 
 #. TRANSLATORS: the user needs to change media inserted into the computer
-#: ../lib/packagekit-glib2/pk-task-text.c:219
+#: ../lib/packagekit-glib2/pk-task-text.c:221
 msgid "Media change required"
 msgstr "Neophodna je promena medijuma"
 
 #. TRANSLATORS: the type, e.g. DVD, CD, etc
-#: ../lib/packagekit-glib2/pk-task-text.c:222
+#: ../lib/packagekit-glib2/pk-task-text.c:224
 msgid "Media type"
 msgstr "Vrsta medijuma"
 
 #. TRANSLATORS: the media label, usually like 'disk-1of3'
-#: ../lib/packagekit-glib2/pk-task-text.c:225
+#: ../lib/packagekit-glib2/pk-task-text.c:227
 msgid "Media label"
 msgstr "Oznaka medijuma"
 
 #. TRANSLATORS: the media description, usually like 'Fedora 12 disk 5'
-#: ../lib/packagekit-glib2/pk-task-text.c:228
+#: ../lib/packagekit-glib2/pk-task-text.c:230
 msgid "Text"
 msgstr "Tekst"
 
 #. TRANSLATORS: ask the user to insert the media
-#: ../lib/packagekit-glib2/pk-task-text.c:232
+#: ../lib/packagekit-glib2/pk-task-text.c:234
 msgid "Please insert the correct media"
 msgstr "Umetnite tačan medijum"
 
 #. TRANSLATORS: tell the user we've not done anything as they are lazy
-#: ../lib/packagekit-glib2/pk-task-text.c:237
+#: ../lib/packagekit-glib2/pk-task-text.c:239
 msgid "The correct media was not inserted."
 msgstr "Nije umetnut tačan medijum."
 
 #. TRANSLATORS: When processing, we might have to remove other dependencies
-#: ../lib/packagekit-glib2/pk-task-text.c:252
+#: ../lib/packagekit-glib2/pk-task-text.c:254
 msgid "The following packages have to be removed:"
 msgstr "Sledeći paketi će biti uklonjeni:"
 
 #. TRANSLATORS: When processing, we might have to install other dependencies
-#: ../lib/packagekit-glib2/pk-task-text.c:257
+#: ../lib/packagekit-glib2/pk-task-text.c:259
 msgid "The following packages have to be installed:"
 msgstr "Sledeći paketi moraju biti instalirani:"
 
 #. TRANSLATORS: When processing, we might have to update other dependencies
-#: ../lib/packagekit-glib2/pk-task-text.c:262
+#: ../lib/packagekit-glib2/pk-task-text.c:264
 msgid "The following packages have to be updated:"
 msgstr "Sledeći paketi moraju biti ažurirani:"
 
 #. TRANSLATORS: When processing, we might have to reinstall other dependencies
-#: ../lib/packagekit-glib2/pk-task-text.c:267
+#: ../lib/packagekit-glib2/pk-task-text.c:269
 msgid "The following packages have to be reinstalled:"
 msgstr "Sledeći paketi moraju biti ponovo instalirani:"
 
 #. TRANSLATORS: When processing, we might have to downgrade other dependencies
-#: ../lib/packagekit-glib2/pk-task-text.c:272
+#: ../lib/packagekit-glib2/pk-task-text.c:274
 msgid "The following packages have to be downgraded:"
 msgstr "Sledeći paketi moraju biti unazađeni:"
 
 #. TRANSLATORS: ask the user if the proposed changes are okay
-#: ../lib/packagekit-glib2/pk-task-text.c:331
+#: ../lib/packagekit-glib2/pk-task-text.c:324
 msgid "Proceed with changes?"
 msgstr "Nastaviti sa promenama?"
 
 #. TRANSLATORS: tell the user we didn't do anything
-#: ../lib/packagekit-glib2/pk-task-text.c:336
+#: ../lib/packagekit-glib2/pk-task-text.c:329
 msgid "The transaction did not proceed."
 msgstr "Transakcija nije nastavljena."
 
@@ -2044,9 +2061,6 @@ msgstr "Samo poverljive"
 #~ msgid "The package could not be found"
 #~ msgstr "Paket nije nađen"
 
-#~ msgid "Failed to launch:"
-#~ msgstr "Neuspešno pokretanje:"
-
 #~ msgid "You need to specify a search type, e.g. name"
 #~ msgstr "Morate navesti vrstu pretrage, npr. ime"
 
commit e380386ac390af910c9871859b64bb3c0e95c735
Author: kmilos <kmilos at fedoraproject.org>
Date:   Fri Oct 30 22:10:55 2009 +0000

    Sending translation for Serbian

diff --git a/po/sr.po b/po/sr.po
index ac30bbb..d0d61da 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -11,8 +11,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PackageKit\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-09-28 21:59+0000\n"
-"PO-Revision-Date: 2009-09-29 00:06+0100\n"
+"POT-Creation-Date: 2009-10-30 10:08+0000\n"
+"PO-Revision-Date: 2009-10-30 21:28+0100\n"
 "Last-Translator: Miloš Komarčević <kmilos at gmail.com>\n"
 "Language-Team: Serbian (sr) <fedora-trans-sr at redhat.com>\n"
 "MIME-Version: 1.0\n"
@@ -138,8 +138,8 @@ 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:249 ../lib/packagekit-glib2/pk-task-text.c:105
-#: ../lib/packagekit-glib2/pk-task-text.c:172
+#: ../client/pk-console.c:249 ../lib/packagekit-glib2/pk-task-text.c:107
+#: ../lib/packagekit-glib2/pk-task-text.c:174
 #: ../src/pk-polkit-action-lookup.c:361
 msgid "Package"
 msgid_plural "Packages"
@@ -159,7 +159,7 @@ msgstr "Превазилази"
 
 #. TRANSLATORS: details about the update, the vendor URLs
 #. TRANSLATORS: the vendor (e.g. vmware) that is providing the EULA
-#: ../client/pk-console.c:260 ../lib/packagekit-glib2/pk-task-text.c:175
+#: ../client/pk-console.c:260 ../lib/packagekit-glib2/pk-task-text.c:177
 msgid "Vendor"
 msgstr "Издавач"
 
@@ -200,7 +200,7 @@ msgstr "Издато"
 
 #. TRANSLATORS: details about the update, date the update was updated
 #. TRANSLATORS: The action of the package, in past tense
-#: ../client/pk-console.c:294 ../lib/packagekit-glib2/pk-console-shared.c:498
+#: ../client/pk-console.c:294 ../lib/packagekit-glib2/pk-console-shared.c:502
 msgid "Updated"
 msgstr "Датум ажурирања"
 
@@ -266,8 +266,8 @@ msgstr "Кобна грешка"
 
 #. TRANSLATORS: the transaction failed in a way we could not expect
 #: ../client/pk-console.c:484
-#: ../contrib/command-not-found/pk-command-not-found.c:426
-#: ../contrib/command-not-found/pk-command-not-found.c:567
+#: ../contrib/command-not-found/pk-command-not-found.c:430
+#: ../contrib/command-not-found/pk-command-not-found.c:597
 msgid "The transaction failed"
 msgstr "Трансакција није успела"
 
@@ -350,141 +350,154 @@ msgstr "Датум последњег извршавања ове радње нÐ
 
 #. TRANSLATORS: command line argument, if we should show debugging information
 #. TRANSLATORS: if we should show debugging data
-#: ../client/pk-console.c:987 ../client/pk-generate-pack.c:223
+#: ../client/pk-console.c:989 ../client/pk-generate-pack.c:223
 #: ../client/pk-monitor.c:281
-#: ../contrib/command-not-found/pk-command-not-found.c:620
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:511
+#: ../contrib/command-not-found/pk-command-not-found.c:651
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:512
 #: ../contrib/device-rebind/pk-device-rebind.c:293 ../src/pk-main.c:211
 msgid "Show extra debugging information"
 msgstr "Прикажи додатне податке за отклон грешака"
 
 #. TRANSLATORS: command line argument, just show the version string
-#: ../client/pk-console.c:990 ../client/pk-monitor.c:283
+#: ../client/pk-console.c:992 ../client/pk-monitor.c:283
 msgid "Show the program version and exit"
 msgstr "Прикажи верзију програма и заврши рад"
 
 #. TRANSLATORS: command line argument, use a filter to narrow down results
-#: ../client/pk-console.c:993
+#: ../client/pk-console.c:995
 msgid "Set the filter, e.g. installed"
 msgstr "Намести филтер, нпр. инсталирани"
 
 #. TRANSLATORS: command line argument, work asynchronously
-#: ../client/pk-console.c:996
+#: ../client/pk-console.c:998
 msgid "Exit without waiting for actions to complete"
 msgstr "Заврши рад без чекања да се послови заврше"
 
+#. command line argument, do we ask questions
+#: ../client/pk-console.c:1001
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:524
+msgid "Install the packages without asking for confirmation"
+msgstr "Инсталирај пакете без питања за потврду"
+
+#. TRANSLATORS: command line argument, this command is not a priority
+#: ../client/pk-console.c:1004
+msgid "Run the command using idle network bandwidth and also using less power"
+msgstr ""
+"Изврши наредбу користећи неискоришћени мрежни опсег и такође трошећи мање "
+"енергије"
+
 #. TRANSLATORS: we failed to contact the daemon
-#: ../client/pk-console.c:1022
+#: ../client/pk-console.c:1030
 msgid "Failed to contact PackageKit"
 msgstr "Неуспешно контактирање ПакетКита."
 
 #. TRANSLATORS: The user specified an incorrect filter
-#: ../client/pk-console.c:1074
+#: ../client/pk-console.c:1086
 msgid "The filter specified was invalid"
 msgstr "Наведени филтер није исправан"
 
 #. TRANSLATORS: a search type can be name, details, file, etc
-#: ../client/pk-console.c:1093
+#: ../client/pk-console.c:1105
 msgid "A search type is required, e.g. name"
 msgstr "Морате навести врсту претраге, нпр. по имену"
 
 #. TRANSLATORS: the user needs to provide a search term
-#: ../client/pk-console.c:1100 ../client/pk-console.c:1112
-#: ../client/pk-console.c:1124 ../client/pk-console.c:1136
+#: ../client/pk-console.c:1112 ../client/pk-console.c:1124
+#: ../client/pk-console.c:1136 ../client/pk-console.c:1148
 msgid "A search term is required"
 msgstr "Морате навести термин за претрагу"
 
 #. TRANSLATORS: the search type was provided, but invalid
-#: ../client/pk-console.c:1146
+#: ../client/pk-console.c:1158
 msgid "Invalid search type"
 msgstr "Неисправна врста претраге"
 
 #. TRANSLATORS: the user did not specify what they wanted to install
-#: ../client/pk-console.c:1152
+#: ../client/pk-console.c:1164
 msgid "A package name to install is required"
 msgstr "Неопходно је име пакета за инсталацију"
 
 #. TRANSLATORS: the user did not specify what they wanted to install
-#: ../client/pk-console.c:1161
+#: ../client/pk-console.c:1173
 msgid "A filename to install is required"
 msgstr "Неопходно је име датотеке за инсталацију"
 
 #. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:1173
+#: ../client/pk-console.c:1185
 msgid "A type, key_id and package_id are required"
 msgstr "Морате навести врсту, ИБ кључа и ИБ пакета (key_id и package_id)"
 
 #. TRANSLATORS: the user did not specify what they wanted to remove
-#: ../client/pk-console.c:1184
+#: ../client/pk-console.c:1196
 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:1193
+#: ../client/pk-console.c:1205
 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:1200
+#: ../client/pk-console.c:1212
 msgid "Directory not found"
 msgstr "Директоријум није нађен"
 
 #. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:1209
+#: ../client/pk-console.c:1221
 msgid "A licence identifier (eula-id) is required"
 msgstr "Морете навести идентификатор лиценце (eula-id)"
 
 #. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:1220
+#: ../client/pk-console.c:1232
 msgid "A transaction identifier (tid) is required"
 msgstr "Морате навести идентификатор трансакције (tid)"
 
 #. TRANSLATORS: The user did not specify a package name
-#: ../client/pk-console.c:1241
+#: ../client/pk-console.c:1253
 msgid "A package name to resolve is required"
 msgstr "Морате навести име пакета за разрешавање"
 
 #. TRANSLATORS: The user did not specify a repository (software source) name
-#: ../client/pk-console.c:1252 ../client/pk-console.c:1263
+#: ../client/pk-console.c:1264 ../client/pk-console.c:1275
 msgid "A repository name is required"
 msgstr "Морате навести име ризнице"
 
 #. TRANSLATORS: The user didn't provide any data
-#: ../client/pk-console.c:1274
+#: ../client/pk-console.c:1286
 msgid "A repo name, parameter and value are required"
 msgstr "Морате навести име, параметар и вредност ризнице"
 
 #. TRANSLATORS: The user didn't specify what action to use
-#: ../client/pk-console.c:1291
+#: ../client/pk-console.c:1303
 msgid "An action, e.g. 'update-system' is required"
 msgstr "Морате навести радњу, нпр. „update-system“ (ажурирање система)"
 
 #. TRANSLATORS: The user specified an invalid action
-#: ../client/pk-console.c:1298
+#: ../client/pk-console.c:1310
 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:1308 ../client/pk-console.c:1323
-#: ../client/pk-console.c:1332 ../client/pk-console.c:1352
-#: ../client/pk-console.c:1361 ../client/pk-generate-pack.c:287
+#: ../client/pk-console.c:1320 ../client/pk-console.c:1335
+#: ../client/pk-console.c:1344 ../client/pk-console.c:1364
+#: ../client/pk-console.c:1373 ../client/pk-generate-pack.c:287
 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:1341
+#: ../client/pk-console.c:1353
 msgid "A package provide string is required"
 msgstr "Морате навести „provide“ низ (шта пакет пружа)"
 
 #. TRANSLATORS: The user tried to use an unsupported option on the command line
-#: ../client/pk-console.c:1421
+#: ../client/pk-console.c:1433
 #, c-format
 msgid "Option '%s' is not supported"
 msgstr "Опција „%s“ није подржана"
 
 #. TRANSLATORS: Generic failure of what they asked to do
-#: ../client/pk-console.c:1431
+#: ../client/pk-console.c:1443
 msgid "Command failed"
 msgstr "Наредба није успела"
 
@@ -663,91 +676,96 @@ msgid "Installing..."
 msgstr "Инсталирам..."
 
 #. TRANSLATORS: downloading repo data so we can search
-#: ../contrib/command-not-found/pk-command-not-found.c:361
+#: ../contrib/command-not-found/pk-command-not-found.c:365
 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:365
+#: ../contrib/command-not-found/pk-command-not-found.c:369
 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:369
+#: ../contrib/command-not-found/pk-command-not-found.c:373
 msgid "Waiting for package manager lock."
 msgstr "Чекање на закључавање управника пакета."
 
 #. TRANSLATORS: loading package cache so we can search
-#: ../contrib/command-not-found/pk-command-not-found.c:373
+#: ../contrib/command-not-found/pk-command-not-found.c:377
 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:417
+#: ../contrib/command-not-found/pk-command-not-found.c:421
 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:560
+msgid "Failed to launch:"
+msgstr "Неуспешно покретање:"
+
 #. TRANSLATORS: we failed to install the package
-#: ../contrib/command-not-found/pk-command-not-found.c:558
+#: ../contrib/command-not-found/pk-command-not-found.c:588
 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:636
+#: ../contrib/command-not-found/pk-command-not-found.c:667
 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:664
+#: ../contrib/command-not-found/pk-command-not-found.c:697
 msgid "Command not found."
 msgstr "Наредба није нађена."
 
 #. TRANSLATORS: tell the user what we think the command is
-#: ../contrib/command-not-found/pk-command-not-found.c:671
+#: ../contrib/command-not-found/pk-command-not-found.c:704
 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:680
+#: ../contrib/command-not-found/pk-command-not-found.c:714
 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:692
-#: ../contrib/command-not-found/pk-command-not-found.c:701
+#: ../contrib/command-not-found/pk-command-not-found.c:728
+#: ../contrib/command-not-found/pk-command-not-found.c:737
 msgid "Similar commands are:"
 msgstr "Сличне наредбе су:"
 
 #. TRANSLATORS: ask the user to choose a file to run
-#: ../contrib/command-not-found/pk-command-not-found.c:708
+#: ../contrib/command-not-found/pk-command-not-found.c:744
 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:724
+#: ../contrib/command-not-found/pk-command-not-found.c:760
 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:729
+#: ../contrib/command-not-found/pk-command-not-found.c:765
 #, c-format
 msgid "Install package '%s' to provide command '%s'?"
 msgstr "Да инсталирам пакет „%s“ који пружа наредбу „%s“?"
 
 #. TRANSLATORS: Show the user a list of packages that provide this command
-#: ../contrib/command-not-found/pk-command-not-found.c:747
+#: ../contrib/command-not-found/pk-command-not-found.c:789
 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:757
+#: ../contrib/command-not-found/pk-command-not-found.c:799
 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:766
+#: ../contrib/command-not-found/pk-command-not-found.c:808
 msgid "Please choose a package to install"
 msgstr "Изаберите пакет за инсталацију"
 
@@ -763,186 +781,185 @@ msgid "Failed to find the package %s, or already installed: %s"
 msgstr "Неуспело проналажење пакета %s, или је већ инсталиран: %s"
 
 #. command line argument, simulate what would be done, but don't actually do it
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:514
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:515
 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
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:517
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:518
 msgid "Do not install dependencies of the core packages"
 msgstr "Немој да инсталираш зависности за основне пакете"
 
 #. command line argument, do we operate quietly
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:520
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:521
 msgid "Do not display information or progress"
 msgstr "Не приказуј информације или напредак"
 
 #. TRANSLATORS: tool that gets called when the command is not found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:535
-#, fuzzy
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:539
 msgid "PackageKit Debuginfo Installer"
 msgstr "ПакетКит debuginfo инсталатер"
 
 #. TRANSLATORS: the use needs to specify a list of package names on the command line
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:550
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:554
 #, c-format
 msgid "ERROR: Specify package names to install."
 msgstr "ГРЕШКА: Наведите имена пакета за инсталацију."
 
 #. TRANSLATORS: we are getting the list of repositories
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:579
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:590
 #, c-format
 msgid "Getting sources list"
 msgstr "Добављам списак извора"
 
 #. TRANSLATORS: operation was not successful
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:589
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:664
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:748
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:792
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:859
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:903
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:600
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:675
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:759
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:803
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:870
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:914
 msgid "FAILED."
 msgstr "НЕУСПЕЛА."
 
 #. TRANSLATORS: all completed 100%
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:604
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:644
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:679
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:763
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:807
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:874
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:918
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:615
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:655
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:690
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:774
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:818
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:885
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:929
 #, c-format
 msgid "OK."
 msgstr "У РЕДУ."
 
 #. TRANSLATORS: tell the user what we found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:607
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:618
 #, c-format
 msgid "Found %i enabled and %i disabled sources."
 msgstr "Пронађено је %i укључених и %i искључених извора."
 
 #. TRANSLATORS: we're finding repositories that match out pattern
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:614
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:625
 #, c-format
 msgid "Finding debugging sources"
 msgstr "Проналажење извора за отклон грешака"
 
 #. TRANSLATORS: tell the user what we found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:647
-#, fuzzy, c-format
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:658
+#, c-format
 msgid "Found %i disabled debuginfo repos."
 msgstr "Пронађено је %i искључених debuginfo ризница."
 
 #. TRANSLATORS: we're now enabling all the debug sources we found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:654
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:665
 #, c-format
 msgid "Enabling debugging sources"
 msgstr "Укључујем изворе за отклон грешака"
 
 #. TRANSLATORS: tell the user how many we enabled
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:682
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:693
 #, c-format
 msgid "Enabled %i debugging sources."
 msgstr "Укључено је %i извора за отклон грешака."
 
 #. TRANSLATORS: we're now finding packages that match in all the repos
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:689
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:700
 #, c-format
 msgid "Finding debugging packages"
 msgstr "Проналажење пакета за отклон грешака"
 
 #. TRANSLATORS: we couldn't find the package name, non-fatal
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:701
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:712
 #, c-format
 msgid "Failed to find the package %s: %s"
 msgstr "Неуспело проналажење пакета %s: %s"
 
 #. TRANSLATORS: we couldn't find the debuginfo package name, non-fatal
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:724
-#, fuzzy, c-format
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:735
+#, c-format
 msgid "Failed to find the debuginfo package %s: %s"
 msgstr "Неуспело проналажење debuginfo пакета %s: %s"
 
 #. TRANSLATORS: no debuginfo packages could be found to be installed
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:752
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:763
 #, c-format
 msgid "Found no packages to install."
 msgstr "Нису пронађени пакети за инсталацију."
 
 #. TRANSLATORS: tell the user we found some packages, and then list them
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:766
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:777
 #, c-format
 msgid "Found %i packages:"
 msgstr "Пронађено је %i пакета:"
 
 #. TRANSLATORS: tell the user we are searching for deps
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:782
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:793
 #, c-format
 msgid "Finding packages that depend on these packages"
 msgstr "Проналажење пакета који зависе од ових пакета"
 
 #. TRANSLATORS: could not install, detailed error follows
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:795
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:806
 #, c-format
 msgid "Could not find dependant packages: %s"
 msgstr "Не могу да пронађем зависан пакет: %s"
 
 #. TRANSLATORS: tell the user we found some more packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:811
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:822
 #, c-format
 msgid "Found %i extra packages."
 msgstr "Пронађено је %i додатних пакета."
 
 #. TRANSLATORS: tell the user we found some more packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:815
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:826
 #, c-format
 msgid "No extra packages required."
 msgstr "Нису неопходни додатни пакети."
 
 #. TRANSLATORS: tell the user we found some packages (and deps), and then list them
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:824
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:835
 #, c-format
 msgid "Found %i packages to install:"
 msgstr "Пронађено је %i пакета за инсталацију:"
 
 #. TRANSLATORS: simulate mode is a testing mode where we quit before the action
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:837
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:848
 #, c-format
 msgid "Not installing packages in simulate mode"
 msgstr "Не инсталирам пакете у режиму симулације"
 
 #. TRANSLATORS: we are now installing the debuginfo packages we found earlier
 #. TRANSLATORS: transaction state, installing packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:849
-#: ../lib/packagekit-glib2/pk-console-shared.c:270
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:860
+#: ../lib/packagekit-glib2/pk-console-shared.c:274
 #, c-format
 msgid "Installing packages"
 msgstr "Инсталирам пакете"
 
 #. TRANSLATORS: could not install, detailed error follows
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:862
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:873
 #, c-format
 msgid "Could not install packages: %s"
 msgstr "Не могу да инсталирам пакете: %s"
 
 #. TRANSLATORS: we are now disabling all debuginfo repos we previously enabled
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:894
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:905
 #, c-format
 msgid "Disabling sources previously enabled"
 msgstr "Искључујем претходно укључене изворе"
 
 #. TRANSLATORS: no debuginfo packages could be found to be installed, detailed error follows
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:906
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:917
 #, c-format
 msgid "Could not disable the debugging sources: %s"
 msgstr "Не могу да искључим изворе за отклон грешака: %s"
 
 #. TRANSLATORS: we disabled all the debugging repos that we enabled before
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:921
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:932
 #, c-format
 msgid "Disabled %i debugging sources."
 msgstr "Искључено је %i извора за отклон грешака."
@@ -1045,604 +1062,604 @@ msgstr "ПакетКит списак пакета"
 msgid "PackageKit Service Pack"
 msgstr "Сервис ПакетКита"
 
-#: ../lib/packagekit-glib2/pk-console-shared.c:55
+#: ../lib/packagekit-glib2/pk-console-shared.c:59
 #, 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:177
+#: ../lib/packagekit-glib2/pk-console-shared.c:181
 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:186
+#: ../lib/packagekit-glib2/pk-console-shared.c:190
 msgid "Please choose the correct package: "
 msgstr "Изаберите жељени пакет: "
 
 #. TRANSLATORS: This is when the transaction status is not known
-#: ../lib/packagekit-glib2/pk-console-shared.c:238
+#: ../lib/packagekit-glib2/pk-console-shared.c:242
 msgid "Unknown state"
 msgstr "Непознато стање"
 
 #. TRANSLATORS: transaction state, the daemon is in the process of starting
-#: ../lib/packagekit-glib2/pk-console-shared.c:242
+#: ../lib/packagekit-glib2/pk-console-shared.c:246
 msgid "Starting"
 msgstr "Покретање"
 
 #. TRANSLATORS: transaction state, the transaction is waiting for another to complete
-#: ../lib/packagekit-glib2/pk-console-shared.c:246
+#: ../lib/packagekit-glib2/pk-console-shared.c:250
 msgid "Waiting in queue"
 msgstr "Чекање у реду"
 
 #. TRANSLATORS: transaction state, just started
-#: ../lib/packagekit-glib2/pk-console-shared.c:250
+#: ../lib/packagekit-glib2/pk-console-shared.c:254
 msgid "Running"
 msgstr "Извршавање"
 
 #. TRANSLATORS: transaction state, is querying data
-#: ../lib/packagekit-glib2/pk-console-shared.c:254
+#: ../lib/packagekit-glib2/pk-console-shared.c:258
 msgid "Querying"
 msgstr "Испитивање"
 
 #. TRANSLATORS: transaction state, getting data from a server
-#: ../lib/packagekit-glib2/pk-console-shared.c:258
+#: ../lib/packagekit-glib2/pk-console-shared.c:262
 msgid "Getting information"
 msgstr "Добављање података"
 
 #. TRANSLATORS: transaction state, removing packages
-#: ../lib/packagekit-glib2/pk-console-shared.c:262
+#: ../lib/packagekit-glib2/pk-console-shared.c:266
 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:266
-#: ../lib/packagekit-glib2/pk-console-shared.c:644
+#: ../lib/packagekit-glib2/pk-console-shared.c:270
+#: ../lib/packagekit-glib2/pk-console-shared.c:648
 msgid "Downloading packages"
 msgstr "Преузимање пакета"
 
 #. TRANSLATORS: transaction state, refreshing internal lists
-#: ../lib/packagekit-glib2/pk-console-shared.c:274
+#: ../lib/packagekit-glib2/pk-console-shared.c:278
 msgid "Refreshing software list"
 msgstr "Освежавање списка софтвера"
 
 #. TRANSLATORS: transaction state, installing updates
-#: ../lib/packagekit-glib2/pk-console-shared.c:278
+#: ../lib/packagekit-glib2/pk-console-shared.c:282
 msgid "Installing updates"
 msgstr "Инсталирање ажурирања"
 
 #. TRANSLATORS: transaction state, removing old packages, and cleaning config files
-#: ../lib/packagekit-glib2/pk-console-shared.c:282
+#: ../lib/packagekit-glib2/pk-console-shared.c:286
 msgid "Cleaning up packages"
 msgstr "Чишћење пакета"
 
 #. TRANSLATORS: transaction state, obsoleting old packages
-#: ../lib/packagekit-glib2/pk-console-shared.c:286
+#: ../lib/packagekit-glib2/pk-console-shared.c:290
 msgid "Obsoleting packages"
 msgstr "Превазилазим пакете"
 
 #. TRANSLATORS: transaction state, checking the transaction before we do it
-#: ../lib/packagekit-glib2/pk-console-shared.c:290
+#: ../lib/packagekit-glib2/pk-console-shared.c:294
 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:294
+#: ../lib/packagekit-glib2/pk-console-shared.c:298
 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:298
-#: ../lib/packagekit-glib2/pk-console-shared.c:604
+#: ../lib/packagekit-glib2/pk-console-shared.c:302
+#: ../lib/packagekit-glib2/pk-console-shared.c:608
 msgid "Rolling back"
 msgstr "Враћање уназад"
 
 #. TRANSLATORS: transaction state, when we're doing a test transaction
-#: ../lib/packagekit-glib2/pk-console-shared.c:302
+#: ../lib/packagekit-glib2/pk-console-shared.c:306
 msgid "Testing changes"
 msgstr "Испробавање промена"
 
 #. TRANSLATORS: transaction state, when we're writing to the system package database
-#: ../lib/packagekit-glib2/pk-console-shared.c:306
+#: ../lib/packagekit-glib2/pk-console-shared.c:310
 msgid "Committing changes"
 msgstr "Шаљем промене"
 
 #. TRANSLATORS: transaction state, requesting data from a server
-#: ../lib/packagekit-glib2/pk-console-shared.c:310
+#: ../lib/packagekit-glib2/pk-console-shared.c:314
 msgid "Requesting data"
 msgstr "Захтевам податке"
 
 #. TRANSLATORS: transaction state, all done!
-#: ../lib/packagekit-glib2/pk-console-shared.c:314
+#: ../lib/packagekit-glib2/pk-console-shared.c:318
 msgid "Finished"
 msgstr "Завршено"
 
 #. TRANSLATORS: transaction state, in the process of cancelling
-#: ../lib/packagekit-glib2/pk-console-shared.c:318
+#: ../lib/packagekit-glib2/pk-console-shared.c:322
 msgid "Cancelling"
 msgstr "Отказивање"
 
 #. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:322
+#: ../lib/packagekit-glib2/pk-console-shared.c:326
 msgid "Downloading repository information"
 msgstr "Преузимам податке о ризници"
 
 #. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:326
+#: ../lib/packagekit-glib2/pk-console-shared.c:330
 msgid "Downloading list of packages"
 msgstr "Преузимање списка пакета"
 
 #. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:330
+#: ../lib/packagekit-glib2/pk-console-shared.c:334
 msgid "Downloading file lists"
 msgstr "Преузимање спискова датотека"
 
 #. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:334
+#: ../lib/packagekit-glib2/pk-console-shared.c:338
 msgid "Downloading lists of changes"
 msgstr "Преузимање спискова промена"
 
 #. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:338
+#: ../lib/packagekit-glib2/pk-console-shared.c:342
 msgid "Downloading groups"
 msgstr "Преузимање група"
 
 #. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:342
+#: ../lib/packagekit-glib2/pk-console-shared.c:346
 msgid "Downloading update information"
 msgstr "Преузимање података о ажурирању"
 
 #. TRANSLATORS: transaction state, repackaging delta files
-#: ../lib/packagekit-glib2/pk-console-shared.c:346
+#: ../lib/packagekit-glib2/pk-console-shared.c:350
 msgid "Repackaging files"
 msgstr "Препакивање датотека"
 
 #. TRANSLATORS: transaction state, loading databases
-#: ../lib/packagekit-glib2/pk-console-shared.c:350
+#: ../lib/packagekit-glib2/pk-console-shared.c:354
 msgid "Loading cache"
 msgstr "Учитавање кеша"
 
 #. TRANSLATORS: transaction state, scanning for running processes
-#: ../lib/packagekit-glib2/pk-console-shared.c:354
+#: ../lib/packagekit-glib2/pk-console-shared.c:358
 msgid "Scanning applications"
 msgstr "Претражујем програме"
 
 #. TRANSLATORS: transaction state, generating a list of packages installed on the system
-#: ../lib/packagekit-glib2/pk-console-shared.c:358
+#: ../lib/packagekit-glib2/pk-console-shared.c:362
 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:362
+#: ../lib/packagekit-glib2/pk-console-shared.c:366
 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:366
+#: ../lib/packagekit-glib2/pk-console-shared.c:370
 msgid "Waiting for authentication"
 msgstr "Чекање на аутентификацију"
 
 #. TRANSLATORS: transaction state, we are updating the list of processes
-#: ../lib/packagekit-glib2/pk-console-shared.c:370
+#: ../lib/packagekit-glib2/pk-console-shared.c:374
 msgid "Updating running applications"
 msgstr "Ажурирам покренуте програме"
 
 #. TRANSLATORS: transaction state, we are checking executable files currently in use
-#: ../lib/packagekit-glib2/pk-console-shared.c:374
+#: ../lib/packagekit-glib2/pk-console-shared.c:378
 msgid "Checking applications in use"
 msgstr "Проверавам програме у употреби"
 
 #. TRANSLATORS: transaction state, we are checking for libraries currently in use
-#: ../lib/packagekit-glib2/pk-console-shared.c:378
+#: ../lib/packagekit-glib2/pk-console-shared.c:382
 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:382
+#: ../lib/packagekit-glib2/pk-console-shared.c:386
 msgid "Copying files"
 msgstr "Умножавање датотека"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:400
+#: ../lib/packagekit-glib2/pk-console-shared.c:404
 msgid "Trivial"
 msgstr "Тривијално"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:404
+#: ../lib/packagekit-glib2/pk-console-shared.c:408
 msgid "Normal"
 msgstr "Обично"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:408
+#: ../lib/packagekit-glib2/pk-console-shared.c:412
 msgid "Important"
 msgstr "Важно"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:412
+#: ../lib/packagekit-glib2/pk-console-shared.c:416
 msgid "Security"
 msgstr "Безбедносно"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:416
+#: ../lib/packagekit-glib2/pk-console-shared.c:420
 msgid "Bug fix "
 msgstr "Исправка грешке"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:420
+#: ../lib/packagekit-glib2/pk-console-shared.c:424
 msgid "Enhancement"
 msgstr "Побољшање"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:424
+#: ../lib/packagekit-glib2/pk-console-shared.c:428
 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:429
-#: ../lib/packagekit-glib2/pk-console-shared.c:502
+#: ../lib/packagekit-glib2/pk-console-shared.c:433
+#: ../lib/packagekit-glib2/pk-console-shared.c:506
 msgid "Installed"
 msgstr "Инсталиран"
 
 #. TRANSLATORS: The state of a package, i.e. not installed
-#: ../lib/packagekit-glib2/pk-console-shared.c:434
+#: ../lib/packagekit-glib2/pk-console-shared.c:438
 msgid "Available"
 msgstr "Доступан"
 
 #. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:452
+#: ../lib/packagekit-glib2/pk-console-shared.c:456
 msgid "Downloading"
 msgstr "Преузимање"
 
 #. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:456
+#: ../lib/packagekit-glib2/pk-console-shared.c:460
 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:460
-#: ../lib/packagekit-glib2/pk-console-shared.c:580
+#: ../lib/packagekit-glib2/pk-console-shared.c:464
+#: ../lib/packagekit-glib2/pk-console-shared.c:584
 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:464
-#: ../lib/packagekit-glib2/pk-console-shared.c:576
+#: ../lib/packagekit-glib2/pk-console-shared.c:468
+#: ../lib/packagekit-glib2/pk-console-shared.c:580
 msgid "Removing"
 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:472
 msgid "Cleaning up"
 msgstr "Чишћење"
 
 #. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:472
+#: ../lib/packagekit-glib2/pk-console-shared.c:476
 msgid "Obsoleting"
 msgstr "Превазилажење"
 
 #. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:476
+#: ../lib/packagekit-glib2/pk-console-shared.c:480
 msgid "Reinstalling"
 msgstr "Поновна инсталација"
 
 #. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:494
+#: ../lib/packagekit-glib2/pk-console-shared.c:498
 msgid "Downloaded"
 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:510
 msgid "Removed"
 msgstr "Уклоњен"
 
 #. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:510
+#: ../lib/packagekit-glib2/pk-console-shared.c:514
 msgid "Cleaned up"
 msgstr "Очишћен"
 
 #. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:514
+#: ../lib/packagekit-glib2/pk-console-shared.c:518
 msgid "Obsoleted"
 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:522
 msgid "Reinstalled"
 msgstr "Поново инсталиран"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:536
+#: ../lib/packagekit-glib2/pk-console-shared.c:540
 msgid "Unknown role type"
 msgstr "Непозната врста радње"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:540
+#: ../lib/packagekit-glib2/pk-console-shared.c:544
 msgid "Getting dependencies"
 msgstr "Добављање зависности"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:544
+#: ../lib/packagekit-glib2/pk-console-shared.c:548
 msgid "Getting update details"
 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:552
 msgid "Getting details"
 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:556
 msgid "Getting requires"
 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:560
 msgid "Getting updates"
 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:564
 msgid "Searching by 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:568
 msgid "Searching by file"
 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:572
 msgid "Searching groups"
 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:576
 msgid "Searching by name"
 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:588
 msgid "Installing files"
 msgstr "Инсталирам датотеке"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:588
+#: ../lib/packagekit-glib2/pk-console-shared.c:592
 msgid "Refreshing cache"
 msgstr "Освежавам кеш"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:592
+#: ../lib/packagekit-glib2/pk-console-shared.c:596
 msgid "Updating packages"
 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:600
 msgid "Updating system"
 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:604
 msgid "Canceling"
 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:612
 msgid "Getting repositories"
 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:616
 msgid "Enabling repository"
 msgstr "Укључивање ризнице"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:616
+#: ../lib/packagekit-glib2/pk-console-shared.c:620
 msgid "Setting data"
 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:624
 msgid "Resolving"
 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:628
 msgid "Getting file list"
 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:632
 msgid "Getting provides"
 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:636
 msgid "Installing signature"
 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:640
 msgid "Getting packages"
 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:644
 msgid "Accepting EULA"
 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:652
 msgid "Getting upgrades"
 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:656
 msgid "Getting categories"
 msgstr "Добављање категорија"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:656
+#: ../lib/packagekit-glib2/pk-console-shared.c:660
 msgid "Getting transactions"
 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:664
+#: ../lib/packagekit-glib2/pk-console-shared.c:668
 msgid "Simulating install"
 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:672
 msgid "Simulating remove"
 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
 msgid "Simulating update"
 msgstr "Симулирање ажурирања"
 
 #. TRANSLATORS: ask the user if they are comfortable installing insecure packages
-#: ../lib/packagekit-glib2/pk-task-text.c:64
+#: ../lib/packagekit-glib2/pk-task-text.c:66
 msgid "Do you want to allow installing of unsigned software?"
 msgstr "Желите ли да дозволите инсталацију непотписаног софтвера?"
 
 #. TRANSLATORS: tell the user we've not done anything
-#: ../lib/packagekit-glib2/pk-task-text.c:69
+#: ../lib/packagekit-glib2/pk-task-text.c:71
 msgid "The unsigned software will not be installed."
 msgstr "Непотписани софтвер неће бити инсталиран."
 
 #. TRANSLATORS: the package repository is signed by a key that is not recognised
-#: ../lib/packagekit-glib2/pk-task-text.c:102
+#: ../lib/packagekit-glib2/pk-task-text.c:104
 msgid "Software source signature required"
 msgstr "Неопходан је потпис извора софтвера"
 
 #. TRANSLATORS: the package repository name
-#: ../lib/packagekit-glib2/pk-task-text.c:108
+#: ../lib/packagekit-glib2/pk-task-text.c:110
 msgid "Software source name"
 msgstr "Име извора софтвера"
 
 #. TRANSLATORS: the key URL
-#: ../lib/packagekit-glib2/pk-task-text.c:111
+#: ../lib/packagekit-glib2/pk-task-text.c:113
 msgid "Key URL"
 msgstr "УРЛ кључа"
 
 #. TRANSLATORS: the username of the key
-#: ../lib/packagekit-glib2/pk-task-text.c:114
+#: ../lib/packagekit-glib2/pk-task-text.c:116
 msgid "Key user"
 msgstr "Корисник кључа"
 
 #. TRANSLATORS: the key ID, usually a few hex digits
-#: ../lib/packagekit-glib2/pk-task-text.c:117
+#: ../lib/packagekit-glib2/pk-task-text.c:119
 msgid "Key ID"
 msgstr "ИБ кључа"
 
 #. TRANSLATORS: the key fingerprint, again, yet more hex
-#: ../lib/packagekit-glib2/pk-task-text.c:120
+#: ../lib/packagekit-glib2/pk-task-text.c:122
 msgid "Key fingerprint"
 msgstr "Отисак кључа"
 
 #. TRANSLATORS: the timestamp (a bit like a machine readable time)
-#: ../lib/packagekit-glib2/pk-task-text.c:123
+#: ../lib/packagekit-glib2/pk-task-text.c:125
 msgid "Key Timestamp"
 msgstr "Временска ознака кључа"
 
 #. TRANSLATORS: ask the user if they want to import
-#: ../lib/packagekit-glib2/pk-task-text.c:129
+#: ../lib/packagekit-glib2/pk-task-text.c:131
 msgid "Do you accept this signature?"
 msgstr "Прихватате ли овај потпис?"
 
 #. TRANSLATORS: tell the user we've not done anything
-#: ../lib/packagekit-glib2/pk-task-text.c:134
+#: ../lib/packagekit-glib2/pk-task-text.c:136
 msgid "The signature was not accepted."
 msgstr "Овај потпис није прихваћен."
 
 #. TRANSLATORS: this is another name for a software licence that has to be read before installing
-#: ../lib/packagekit-glib2/pk-task-text.c:169
+#: ../lib/packagekit-glib2/pk-task-text.c:171
 msgid "End user licence agreement required"
 msgstr "Неопходан је Лиценци споразум са крајњим корисником"
 
 #. TRANSLATORS: the EULA text itself (long and boring)
-#: ../lib/packagekit-glib2/pk-task-text.c:178
+#: ../lib/packagekit-glib2/pk-task-text.c:180
 msgid "Agreement"
 msgstr "Споразум"
 
 #. TRANSLATORS: ask the user if they've read and accepted the EULA
-#: ../lib/packagekit-glib2/pk-task-text.c:184
+#: ../lib/packagekit-glib2/pk-task-text.c:186
 msgid "Do you accept this agreement?"
 msgstr "Прихватате ли овај споразум?"
 
 #. TRANSLATORS: tell the user we've not done anything
-#: ../lib/packagekit-glib2/pk-task-text.c:189
+#: ../lib/packagekit-glib2/pk-task-text.c:191
 msgid "The agreement was not accepted."
 msgstr "Споразум није прихваћен."
 
 #. TRANSLATORS: the user needs to change media inserted into the computer
-#: ../lib/packagekit-glib2/pk-task-text.c:219
+#: ../lib/packagekit-glib2/pk-task-text.c:221
 msgid "Media change required"
 msgstr "Неопходна је промена медијума"
 
 #. TRANSLATORS: the type, e.g. DVD, CD, etc
-#: ../lib/packagekit-glib2/pk-task-text.c:222
+#: ../lib/packagekit-glib2/pk-task-text.c:224
 msgid "Media type"
 msgstr "Врста медијума"
 
 #. TRANSLATORS: the media label, usually like 'disk-1of3'
-#: ../lib/packagekit-glib2/pk-task-text.c:225
+#: ../lib/packagekit-glib2/pk-task-text.c:227
 msgid "Media label"
 msgstr "Ознака медијума"
 
 #. TRANSLATORS: the media description, usually like 'Fedora 12 disk 5'
-#: ../lib/packagekit-glib2/pk-task-text.c:228
+#: ../lib/packagekit-glib2/pk-task-text.c:230
 msgid "Text"
 msgstr "Текст"
 
 #. TRANSLATORS: ask the user to insert the media
-#: ../lib/packagekit-glib2/pk-task-text.c:232
+#: ../lib/packagekit-glib2/pk-task-text.c:234
 msgid "Please insert the correct media"
 msgstr "Уметните тачан медијум"
 
 #. TRANSLATORS: tell the user we've not done anything as they are lazy
-#: ../lib/packagekit-glib2/pk-task-text.c:237
+#: ../lib/packagekit-glib2/pk-task-text.c:239
 msgid "The correct media was not inserted."
 msgstr "Није уметнут тачан медијум."
 
 #. TRANSLATORS: When processing, we might have to remove other dependencies
-#: ../lib/packagekit-glib2/pk-task-text.c:252
+#: ../lib/packagekit-glib2/pk-task-text.c:254
 msgid "The following packages have to be removed:"
 msgstr "Следећи пакети ће бити уклоњени:"
 
 #. TRANSLATORS: When processing, we might have to install other dependencies
-#: ../lib/packagekit-glib2/pk-task-text.c:257
+#: ../lib/packagekit-glib2/pk-task-text.c:259
 msgid "The following packages have to be installed:"
 msgstr "Следећи пакети морају бити инсталирани:"
 
 #. TRANSLATORS: When processing, we might have to update other dependencies
-#: ../lib/packagekit-glib2/pk-task-text.c:262
+#: ../lib/packagekit-glib2/pk-task-text.c:264
 msgid "The following packages have to be updated:"
 msgstr "Следећи пакети морају бити ажурирани:"
 
 #. TRANSLATORS: When processing, we might have to reinstall other dependencies
-#: ../lib/packagekit-glib2/pk-task-text.c:267
+#: ../lib/packagekit-glib2/pk-task-text.c:269
 msgid "The following packages have to be reinstalled:"
 msgstr "Следећи пакети морају бити поново инсталирани:"
 
 #. TRANSLATORS: When processing, we might have to downgrade other dependencies
-#: ../lib/packagekit-glib2/pk-task-text.c:272
+#: ../lib/packagekit-glib2/pk-task-text.c:274
 msgid "The following packages have to be downgraded:"
 msgstr "Следећи пакети морају бити уназађени:"
 
 #. TRANSLATORS: ask the user if the proposed changes are okay
-#: ../lib/packagekit-glib2/pk-task-text.c:331
+#: ../lib/packagekit-glib2/pk-task-text.c:324
 msgid "Proceed with changes?"
 msgstr "Наставити са променама?"
 
 #. TRANSLATORS: tell the user we didn't do anything
-#: ../lib/packagekit-glib2/pk-task-text.c:336
+#: ../lib/packagekit-glib2/pk-task-text.c:329
 msgid "The transaction did not proceed."
 msgstr "Трансакција није настављена."
 
@@ -2043,9 +2060,6 @@ msgstr "Само поверљиве"
 #~ msgid "The package could not be found"
 #~ msgstr "Пакет није нађен"
 
-#~ msgid "Failed to launch:"
-#~ msgstr "Неуспешно покретање:"
-
 #~ msgid "You need to specify a search type, e.g. name"
 #~ msgstr "Морате навести врсту претраге, нпр. име"
 
commit 942e53813e095a902bea7d7b5e7e7965408b5230
Author: Daniel Nicoletti <daniel at magie.tcp>
Date:   Fri Oct 30 14:48:23 2009 -0200

    aptcc: cleaned lots of unused code, merged the dist-upgrade code

diff --git a/backends/aptcc/apt.cpp b/backends/aptcc/apt.cpp
index 7af6a90..e8b8f4f 100644
--- a/backends/aptcc/apt.cpp
+++ b/backends/aptcc/apt.cpp
@@ -2,6 +2,7 @@
 //
 //  Copyright 1999-2008 Daniel Burrows
 //  Copyright (C) 2009 Daniel Nicoletti <dantti85-pk at yahoo.com.br>
+//  Copyright (c) 2004 Michael Vogt <mvo at debian.org>
 //
 //  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
@@ -263,80 +264,6 @@ bool aptcc::is_held(const pkgCache::PkgIterator &pkg)
 	// TODO add forbid ver support
 }
 
-void aptcc::mark_all_upgradable(bool with_autoinst,
-				bool ignore_removed/*,
-				undo_group *undo*/)
-{
-//   if(read_only && !read_only_permission())
-//     {
-//       if(group_level == 0)
-// 	read_only_fail();
-//       return;
-//     }
-
-//   pre_package_state_changed();
-
-// //   action_group group(*this, NULL);
-
-
-	for(int iter=0; iter==0 || (iter==1 && with_autoinst); ++iter) {
-		// Do this twice, only turning auto-install on the second time.
-		// A reason for this is the following scenario:
-		//
-		// Packages A and B are installed at 1.0.  Package C is not installed.
-		// Version 2.0 of each package is available.
-		//
-		// Version 2.0 of A depends on "C (= 2.0) | B (= 2.0)".
-		//
-		// Upgrading A if B is not upgraded will cause this dependency to
-		// break.  Auto-install will then cheerfully fulfill it by installing
-		// C.
-		//
-		// A real-life example of this is xemacs21, xemacs21-mule, and
-		// xemacs21-nomule; aptitude would keep trying to install the mule
-		// version on upgrades.
-		bool do_autoinstall=(iter==1);
-
-		for(pkgCache::PkgIterator i=packageDepCache->PkgBegin(); !i.end(); i++) {
-			pkgDepCache::StateCache state = get_state(i);
-// 			aptitude_state &estate = get_ext_state(i);
-
-			if(i.CurrentVer().end()){
-				continue;
-			}
-
-			bool do_upgrade = false;
-
-			if(!ignore_removed) {
-			    do_upgrade = state.Status > 0 && !is_held(i);
-			} else {
-				switch(i->SelectedState) {
-				    // This case shouldn't really happen:
-				    // if this shouldn't happen i guess we don't
-				    // even need to worry? am i right?
-		    // 		case pkgCache::State::Unknown:
-		    // 		  estate.selection_state=pkgCache::State::Install;
-
-				    // Fall through
-				case pkgCache::State::Install:
-					if(state.Status > 0 && !is_held(i)) {
-						do_upgrade = true;
-					}
-					break;
-				default:
-					break;
-				}
-			}
-
-			if(do_upgrade) {
-		// 	      pre_package_state_changed();
-			    dirty = true;
-			    packageDepCache->MarkInstall(i, do_autoinstall);
-			}
-		}
-	}
-}
-
 // used to emit packages it collects all the needed info
 void aptcc::emit_package(const pkgCache::PkgIterator &pkg,
 			 const pkgCache::VerIterator &ver,
@@ -693,7 +620,6 @@ void emit_files (PkBackend *backend, const gchar *pi)
 	}
 }
 
-
 static bool checkTrusted(pkgAcquire &fetcher, PkBackend *backend)
 {
 	string UntrustedList;
diff --git a/backends/aptcc/apt.h b/backends/aptcc/apt.h
index e4a081c..425bef3 100644
--- a/backends/aptcc/apt.h
+++ b/backends/aptcc/apt.h
@@ -121,27 +121,6 @@ public:
 	bool installPackages(pkgDepCache &Cache,
 			     bool Safety = true);
 
-	/**
-	 *  interprets dpkg status fd
-	 */
-	void updateInterface(int readFd, int writeFd);
-
-	/** Marks all upgradable and non-held packages for upgrade.
-	 *
-	 *  \param with_autoinst if \b true, the dependencies of packages
-	 *  begin upgraded will automatically be installed.
-	 *
-	 *  \param ignore_selections if \b false, all upgradable packages
-	 *  that are not held back will be upgraded; otherwise, packages
-	 *  that are going to be removed will be ignored.
-	 *
-	 *  \param undo an undo group with which the actions taken by this
-	 *  routine will be registered, or \b NULL.
-	 */
-	void mark_all_upgradable(bool with_autoinst,
-				 bool ignore_removed/*,
-				 undo_group *undo*/);
-
 	pkgRecords    *packageRecords;
 	pkgCache      *packageCache;
 	pkgDepCache   *packageDepCache;
@@ -166,6 +145,10 @@ private:
 			  bool BrokenFix,
 			  unsigned int &ExpectedInst/*,
 			  bool AllowFail = true*/);
+	/**
+	 *  interprets dpkg status fd
+	*/
+	void updateInterface(int readFd, int writeFd);
 	bool DoAutomaticRemove(pkgCacheFile &Cache);
 	void emitChangedPackages(vector<pair<pkgCache::PkgIterator, pkgCache::VerIterator> > &pkgs,
 				 pkgCacheFile &Cache);
diff --git a/backends/aptcc/pk-backend-aptcc.cpp b/backends/aptcc/pk-backend-aptcc.cpp
index d4e80fc..8f7b665 100644
--- a/backends/aptcc/pk-backend-aptcc.cpp
+++ b/backends/aptcc/pk-backend-aptcc.cpp
@@ -374,61 +374,7 @@ backend_get_details (PkBackend *backend, gchar **package_ids)
 }
 
 static gboolean
-backend_update_system_thread (PkBackend *backend)
-{
-	pk_backend_set_allow_cancel (backend, true);
-
-	aptcc *m_apt = new aptcc(backend, _cancel);
-	pk_backend_set_pointer(backend, "aptcc_obj", m_apt);
-	if (m_apt->init()) {
-		egg_debug ("Failed to create apt cache");
-		delete m_apt;
-		pk_backend_finished (backend);
-		return false;
-	}
-
-	pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);
-	// create a cachefile object
-	pkgCacheFile Cache;
-	OpTextProgress Prog(*_config);
-	// open and lock the cache file
-	if (Cache.Open(Prog, true) == false) {
-		// TODO need PK_ERROR_ENUM_OPEN_PKG_CACHE_FAILED
-		show_errors(backend, PK_ERROR_ENUM_FAILED_INITIALIZATION);
-		delete m_apt;
-		pk_backend_finished (backend);
-		return false;
-	}
-
-	egg_debug ("Calculating upgrade... ");
-	if (pkgDistUpgrade(*m_apt->packageDepCache) == false)
-	{
-		show_broken(backend, m_apt);
-		egg_debug ("Failed");
-		delete m_apt;
-		pk_backend_finished (backend);
-		return false;
-	}
-
-	egg_debug ("Done");
-	bool res = m_apt->installPackages(*m_apt->packageDepCache, true);
-	delete m_apt;
-	 _error->DumpErrors();
-	pk_backend_finished (backend);
-	return res;
-}
-
-/**
- * backend_update_system:
- */
-static void
-backend_update_system (PkBackend *backend, gboolean only_trusted)
-{
-	pk_backend_thread_create (backend, backend_update_system_thread);
-}
-
-static gboolean
-backend_get_updates_thread (PkBackend *backend)
+backend_get_or_update_system_thread (PkBackend *backend)
 {
 	PkBitfield filters;
 	filters = (PkBitfield) pk_backend_get_uint (backend, "filters");
@@ -444,170 +390,46 @@ backend_get_updates_thread (PkBackend *backend)
 	}
 
 	pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);
-	pkgset to_install, to_hold, to_remove, to_purge;
-	// Build to_install to avoid a big printout
-	for(pkgCache::PkgIterator i=m_apt->packageCache->PkgBegin(); !i.end(); ++i)
-	{
-		pkgDepCache::StateCache state= m_apt->get_state(i);
-
-		if(!i.CurrentVer().end() &&
-		    state.Upgradable() && !m_apt->is_held(i)) {
-		    to_install.insert(i);
-		}
-	}
-
-	// First try the built-in resolver; if it fails (which it shouldn't
-	// if an upgrade is possible), cancel all changes and try apt's
-	// resolver.
-// 	m_apt->mark_all_upgradable(false, true);
 
 	if (pkgDistUpgrade(*m_apt->packageDepCache) == false)
 	{
 		show_broken(backend, m_apt);
-		egg_debug ("Internal error, AllUpgrade broke stuff");
+		egg_debug ("Internal error, DistUpgrade broke stuff");
 		delete m_apt;
 		pk_backend_finished (backend);
 		return false;
 	}
 
-// //   if(!aptitude::cmdline::safe_resolve_deps(verbose, no_new_installs, true))
-// //     {
-//       {
-// 	aptcc::action_group action_group(*m_apt);
-//
-// 	// Reset all the package states.
-// 	for(pkgCache::PkgIterator i=m_apt->packageDepCache->PkgBegin();
-// 	    !i.end(); ++i)
-// 	  m_apt->mark_keep(i, false, false, NULL);
-//       }
-//
-//       // Use the apt 'upgrade' algorithm as a fallback against, e.g.,
-//       // bugs in the aptitude resolver.
-//       if(!m_apt->all_upgrade(false, NULL))
-// 	{
-// // 	  show_broken();
-//
-// 	  _error->DumpErrors();
-// 	  return -1;
-// 	}
-// //     }
-
-	pkgvector lists[num_pkg_action_states];
-	pkgvector recommended, suggested;
-	pkgvector extra_install, extra_remove;
-	unsigned long Upgrade=0, Downgrade=0, Install=0, ReInstall=0;
-
-	for(pkgCache::PkgIterator pkg=m_apt->packageCache->PkgBegin();
-	    !pkg.end(); ++pkg)
-	{
-		if((*m_apt->packageDepCache)[pkg].NewInstall()) {
-			++Install;
-		} else if((*m_apt->packageDepCache)[pkg].Upgrade()) {
-			++Upgrade;
-		} else if((*m_apt->packageDepCache)[pkg].Downgrade()) {
-			++Downgrade;
-		} else if(!(*m_apt->packageDepCache)[pkg].Delete() &&
-			((*m_apt->packageDepCache)[pkg].iFlags & pkgDepCache::ReInstall)) {
-			++ReInstall;
-		}
-
-		pkg_action_state state=find_pkg_state(pkg, *m_apt);
-
-		switch(state)
-		    {
-		    case pkg_auto_install:
-		    case pkg_install:
-		    case pkg_upgrade:
-		    if(to_install.find(pkg)==to_install.end())
-			extra_install.push_back(pkg);
-		    break;
-		    case pkg_auto_remove:
-		    case pkg_unused_remove:
-		    case pkg_remove:
-		    if(to_remove.find(pkg)==to_remove.end())
-			extra_remove.push_back(pkg);
-		    break;
-		    case pkg_unchanged:
-		    if(pkg.CurrentVer().end())
-			{
-	    // 	      if(package_recommended(pkg))
-	    // 		recommended.push_back(pkg);
-	    // 	      else if(package_suggested(pkg))
-	    // 		suggested.push_back(pkg);
-			}
-		    default:
-		    break;
-		    }
+	bool res = true;
+	if (pk_backend_get_bool(backend, "getUpdates")) {
+		vector<pair<pkgCache::PkgIterator, pkgCache::VerIterator> > update,
+									    kept;
 
-		switch(state)
+		for(pkgCache::PkgIterator pkg=m_apt->packageCache->PkgBegin();
+		    !pkg.end();
+		    ++pkg)
 		{
-		case pkg_auto_install:
-			lists[pkg_install].push_back(pkg);
-			break;
-		case pkg_unused_remove:
-		case pkg_auto_remove:
-			lists[pkg_remove].push_back(pkg);
-			break;
-		case pkg_auto_hold:
-			if(to_install.find(pkg) != to_install.end()) {
-			    lists[pkg_hold].push_back(pkg);
+			if((*m_apt->packageDepCache)[pkg].Upgrade()    == true &&
+			(*m_apt->packageDepCache)[pkg].NewInstall() == false) {
+				update.push_back(
+					pair<pkgCache::PkgIterator, pkgCache::VerIterator>(pkg, m_apt->find_candidate_ver(pkg)));
+			} else if ((*m_apt->packageDepCache)[pkg].Upgradable() == true &&
+				pkg->CurrentVer != 0 &&
+				(*m_apt->packageDepCache)[pkg].Delete() == false) {
+				kept.push_back(
+					pair<pkgCache::PkgIterator, pkgCache::VerIterator>(pkg, m_apt->find_candidate_ver(pkg)));
 			}
-			break;
-		case pkg_hold:
-			if(to_install.find(pkg) != to_install.end()) {
-			    lists[pkg_hold].push_back(pkg);
-			}
-			break;
-		case pkg_unchanged:
-			break;
-		default:
-			lists[state].push_back(pkg);
 		}
-	}
-
-// printf("upgrade: %lu\n", Upgrade);
-// printf("install: %lu\n", Install);
-// printf("to_install: %lu\n", to_install.size());
-// printf("to_hold: %lu\n", lists[pkg_hold].size());
 
-	for(int i=0; i < num_pkg_action_states; ++i)
-	{
-		PkInfoEnum state;
-		switch(i)
-		{
-		case pkg_hold:
-			state = PK_INFO_ENUM_BLOCKED;
-			break;
-		case pkg_upgrade:
-			state = PK_INFO_ENUM_NORMAL;
-			break;
-		default:
-			continue;
-		}
-
-		if(!lists[i].empty())
-		{
-			vector<pair<pkgCache::PkgIterator, pkgCache::VerIterator> > output;
-			for (pkgvector::iterator it = lists[i].begin(); it != lists[i].end(); ++it)
-			{
-				if (_cancel) {
-				    break;
-				}
-				pkgCache::VerIterator ver = m_apt->find_candidate_ver(*it);
-				if (ver.end() == false)
-				{
-					output.push_back(pair<pkgCache::PkgIterator, pkgCache::VerIterator>(*it, ver));
-				}
-			}
-
-			// It's faster to emmit the packages here than in the matching part
-			m_apt->emit_packages(output, filters, state);
-		}
+		m_apt->emit_packages(update, filters, PK_INFO_ENUM_NORMAL);
+		m_apt->emit_packages(kept,   filters, PK_INFO_ENUM_BLOCKED);
+	} else {
+		res = m_apt->installPackages(*m_apt->packageDepCache, true);
 	}
 
 	delete m_apt;
 	pk_backend_finished (backend);
-	return true;
+	return res;
 }
 
 /**
@@ -616,7 +438,18 @@ backend_get_updates_thread (PkBackend *backend)
 static void
 backend_get_updates (PkBackend *backend, PkBitfield filters)
 {
-	pk_backend_thread_create (backend, backend_get_updates_thread);
+	pk_backend_set_bool (backend, "getUpdates", true);
+	pk_backend_thread_create (backend, backend_get_or_update_system_thread);
+}
+
+/**
+ * backend_update_system:
+ */
+static void
+backend_update_system (PkBackend *backend, gboolean only_trusted)
+{
+	pk_backend_set_bool (backend, "getUpdates", false);
+	pk_backend_thread_create (backend, backend_get_or_update_system_thread);
 }
 
 /**
@@ -1269,7 +1102,6 @@ backend_manage_packages_thread (PkBackend *backend)
 	return true;
 }
 
-
 /**
  * backend_install_update_packages:
  */
diff --git a/docs/html/pk-matrix.html b/docs/html/pk-matrix.html
index e03a327..06e69b3 100644
--- a/docs/html/pk-matrix.html
+++ b/docs/html/pk-matrix.html
@@ -562,7 +562,7 @@
 <tr>
 <td><b>UpdateSystem</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-good.png" alt="[yes]"/></td><!-- box -->
 <td><img src="img/status-good.png" alt="[yes]"/></td><!-- conary -->
commit edc9b1926ec15b7908f5183059004f1ddea3bd06
Author: Daniel Nicoletti <dantti85-pk at yahoo.com.br>
Date:   Fri Oct 30 10:24:22 2009 -0200

    packagekit-qt: Fixed filters bug

diff --git a/lib/packagekit-qt/src/client.h b/lib/packagekit-qt/src/client.h
index 08220d2..7a513ee 100644
--- a/lib/packagekit-qt/src/client.h
+++ b/lib/packagekit-qt/src/client.h
@@ -187,7 +187,8 @@ public:
 		FilterCollections	 = 0x0400000,
 		FilterNotCollections	 = 0x0800000,
 		FilterApplication	 = 0x1000000,
-		FilterNotApplication	 = 0x2000000
+		FilterNotApplication	 = 0x2000000,
+		FilterLast		 = 0x4000000
 	} Filter;
 	Q_DECLARE_FLAGS(Filters, Filter);
 
diff --git a/lib/packagekit-qt/src/util.cpp b/lib/packagekit-qt/src/util.cpp
index d824a2d..11473ec 100644
--- a/lib/packagekit-qt/src/util.cpp
+++ b/lib/packagekit-qt/src/util.cpp
@@ -35,7 +35,7 @@ QStringList Util::packageListToPids(const QList<Package*>& packages)
 QString Util::filtersToString(const QFlags<PackageKit::Client::Filter>& flags)
 {
 	QStringList flagStrings;
-	for (qint64 i = 1; i < Client::UnknownFilter; i *= 2) {
+	for (int i = Client::UnknownFilter; i < Client::FilterLast; i *= 2) {
 		if ((Client::Filter) i & flags) {
 			flagStrings.append(Util::enumToString<Client>((Client::Filter) i, "Filter", "Filter"));
 		}
@@ -46,29 +46,29 @@ QString Util::filtersToString(const QFlags<PackageKit::Client::Filter>& flags)
 
 Client::DaemonError Util::errorFromString (QString errorName)
 {
-		if (errorName.startsWith ("org.freedesktop.packagekit.")) {
-			return Client::ErrorFailedAuth;
-		}
+	if (errorName.startsWith ("org.freedesktop.packagekit.")) {
+		return Client::ErrorFailedAuth;
+	}
 
-		errorName.replace ("org.freedesktop.PackageKit.Transaction.", "");
+	errorName.replace ("org.freedesktop.PackageKit.Transaction.", "");
 
-		if (errorName.startsWith ("PermissionDenied") || errorName.startsWith ("RefusedByPolicy")) {
-			return Client::ErrorFailedAuth;
-		}
+	if (errorName.startsWith ("PermissionDenied") || errorName.startsWith ("RefusedByPolicy")) {
+		return Client::ErrorFailedAuth;
+	}
 
-		if (errorName.startsWith ("PackageIdInvalid") || errorName.startsWith ("SearchInvalid") || errorName.startsWith ("FilterInvalid") || errorName.startsWith ("InvalidProvide") || errorName.startsWith ("InputInvalid")) {
-			return Client::ErrorInvalidInput;
-		}
+	if (errorName.startsWith ("PackageIdInvalid") || errorName.startsWith ("SearchInvalid") || errorName.startsWith ("FilterInvalid") || errorName.startsWith ("InvalidProvide") || errorName.startsWith ("InputInvalid")) {
+		return Client::ErrorInvalidInput;
+	}
 
-		if (errorName.startsWith ("PackInvalid") || errorName.startsWith ("NoSuchFile") || errorName.startsWith ("NoSuchDirectory")) {
-			return Client::ErrorInvalidFile;
-		}
+	if (errorName.startsWith ("PackInvalid") || errorName.startsWith ("NoSuchFile") || errorName.startsWith ("NoSuchDirectory")) {
+		return Client::ErrorInvalidFile;
+	}
 
-		if (errorName.startsWith ("NotSupported")) {
-			return Client::ErrorFunctionNotSupported;
-		}
+	if (errorName.startsWith ("NotSupported")) {
+		return Client::ErrorFunctionNotSupported;
+	}
 
-		return Client::ErrorFailed;
+	return Client::ErrorFailed;
 }
 
 
commit 67d78e37a5fe96a7f348a4b7b94f3efa044a2a2a
Merge: c26223d... da08aaa...
Author: Daniel Nicoletti <daniel at magie.tcp>
Date:   Fri Oct 30 10:16:50 2009 -0200

    Merge branch 'master' of git+ssh://git.packagekit.org/srv/git/PackageKit

commit c050c64980ae9f2524887314954eefafd1863920
Author: Sebastian Heinlein <devel at glatzor.de>
Date:   Fri Oct 30 06:04:33 2009 +0100

    APT: Add a helper method which allows to emit all visible versions of
    package. Use it to follow the spec for SearchName.

diff --git a/backends/apt/aptBackend.py b/backends/apt/aptBackend.py
index 3bc1be7..b4f9f5f 100755
--- a/backends/apt/aptBackend.py
+++ b/backends/apt/aptBackend.py
@@ -586,7 +586,8 @@ class PackageKitAptBackend(PackageKitBaseBackend):
 
         for pkg_name in self._cache.keys():
             if search in pkg_name:
-                self._emit_visible_package(filters, self._cache[pkg_name])
+                self._emit_all_visible_pkg_versions(filters,
+                                                    self._cache[pkg_name])
 
     def search_details(self, filters, search):
         """
@@ -1797,7 +1798,7 @@ class PackageKitAptBackend(PackageKitBaseBackend):
         else:
             pklog.debug("Package %s hasn't got any version." % pkg.name)
 
-    def _emit_pkg_version(self, version, info):
+    def _emit_pkg_version(self, version, info=None):
         """Emit the Package signal of the given apt.package.Version."""
         if version.origins:
             origin = version.origins[0].label
@@ -1819,6 +1820,18 @@ class PackageKitAptBackend(PackageKitBaseBackend):
                     info = INFO_AVAILABLE
         self.package(id, info, version.summary)
 
+    def _emit_all_visible_pkg_versions(self, filters, pkg):
+        """Emit all available versions of a package."""
+        if self._is_package_visible(pkg, filters):
+            if FILTER_NEWEST in filters:
+                if pkg.candidate:
+                    self._emit_pkg_version(pkg.candidate)
+                elif pkg.installed:
+                    self._emit_pkg_version(pkg.installed)
+            else:
+                for version in pkg.versions:
+                    self._emit_pkg_version(version)
+
     def _emit_visible_package(self, filters, pkg, info=None):
         """
         Filter and emit a package
commit 1a88aceb53ba9e9e9942368e3017e1ab3eb87b8f
Author: Sebastian Heinlein <devel at glatzor.de>
Date:   Fri Oct 30 05:36:01 2009 +0100

    APT: Allow emitting apt.package.Version by introducing
    PackagetKitAptBacken._emit_pkg_version. Make use of the new method when
    emitting Package signals

diff --git a/backends/apt/aptBackend.py b/backends/apt/aptBackend.py
index f1fcbda..3bc1be7 100755
--- a/backends/apt/aptBackend.py
+++ b/backends/apt/aptBackend.py
@@ -785,9 +785,13 @@ class PackageKitAptBackend(PackageKitBaseBackend):
                            "Package %s isn't available" % id)
                 return
             # FIXME add some real data
-            updates = self.get_id_from_package(pkg, force_candidate=False)
-            if updates is None:
-                continue
+            if pkg.installed.origins:
+                installed_origin = pkg.installed.origins[0].label
+            else:
+                installed_origin = ""
+            updates = "%s;%s;%s;%s" % (pkg.name, pkg.installed.version,
+                                       pkg.installed.architecture,
+                                       installed_origin)
             obsoletes = ""
             vendor_url = ""
             restart = "none"
@@ -1782,40 +1786,28 @@ class PackageKitAptBackend(PackageKitBaseBackend):
             pass
         self._cache.clear()
 
-    def get_id_from_package(self, pkg, force_candidate=False):
-        """
-        Return the packagekit id of package. By default this will be the 
-        installed version for installed packages and the candidate version
-        for not installed packages.
-
-        The force_candidate option will also report the id of the candidate
-        version for installed packages.
-        """
-        origin = ""
-        cand_origin = pkg.candidateOrigin
-        if not pkg.isInstalled or force_candidate:
-            version = pkg.candidateVersion
-            if version is None:
-                return None
-            if cand_origin:
-                origin = cand_origin[0].label
-        else:
-            version = pkg.installedVersion
-            if cand_origin and cand_origin[0].site != "" and \
-               pkg.installedVersion == pkg.candidateVersion:
-                origin = cand_origin[0].label
-        return get_package_id(pkg.name, version, pkg.architecture, origin)
-
     def _emit_package(self, pkg, info=None, force_candidate=False):
         """
         Send the Package signal for a given apt package
         """
-        id = self.get_id_from_package(pkg, force_candidate)
-        if id is None:
-            return
-        section = pkg.section.split("/")[-1]
-        if info == None:
-            if pkg.isInstalled:
+        if pkg.installed and (not force_candidate and not pkg.candidate):
+            self._emit_pkg_version(pkg.installed, info)
+        elif pkg.candidate:
+            self._emit_pkg_version(pkg.candidate, info)
+        else:
+            pklog.debug("Package %s hasn't got any version." % pkg.name)
+
+    def _emit_pkg_version(self, version, info):
+        """Emit the Package signal of the given apt.package.Version."""
+        if version.origins:
+            origin = version.origins[0].label
+        else:
+            origin = ""
+        id = "%s;%s;%s;%s" % (version.package.name, version.version,
+                              version.architecture, origin)
+        section = version.section.split("/")[-1]
+        if not info:
+            if version.package == version.package.installed:
                 if section == "metapackages":
                     info = INFO_COLLECTION_INSTALLED
                 else:
@@ -1825,8 +1817,7 @@ class PackageKitAptBackend(PackageKitBaseBackend):
                     info = INFO_COLLECTION_AVAILABLE
                 else:
                     info = INFO_AVAILABLE
-        summary = pkg.summary
-        self.package(id, info, summary)
+        self.package(id, info, version.summary)
 
     def _emit_visible_package(self, filters, pkg, info=None):
         """
commit da08aaab663afe562dd60b5a2edb2ce3eac23e1d
Merge: bb3a88a... d0e8b56...
Author: Sebastian Heinlein <devel at glatzor.de>
Date:   Thu Oct 29 23:24:25 2009 +0100

    Merge branch 'master' of git+ssh://git.packagekit.org/srv/git/PackageKit

commit bb3a88a0fc372746c5d1a375e5033ef5602d8160
Author: Sebastian Heinlein <devel at glatzor.de>
Date:   Thu Oct 29 21:34:34 2009 +0100

    APT: Fix a trivial debugging leftover in search_file

diff --git a/backends/apt/aptBackend.py b/backends/apt/aptBackend.py
index 87ff0c8..f1fcbda 100755
--- a/backends/apt/aptBackend.py
+++ b/backends/apt/aptBackend.py
@@ -553,8 +553,8 @@ class PackageKitAptBackend(PackageKitBaseBackend):
             filenames_regex.append(pattern)
         files_pattern = re.compile("|".join(filenames_regex))
         for pkg in self._cache:
-#            if pkg.name in result_names:
- #               continue
+            if pkg.name in result_names:
+                continue
             for installed_file in self._get_installed_files(pkg):
                 if files_pattern.match(installed_file):
                     self._emit_visible_package(filters, pkg)
commit 08069d08d710314c1401431cd6ca62e3bf091b64
Author: Sebastian Heinlein <devel at glatzor.de>
Date:   Thu Oct 29 21:32:32 2009 +0100

    APT: Respect the SearchFile value specification (absoulte path and
    filename)

diff --git a/backends/apt/aptBackend.py b/backends/apt/aptBackend.py
index fadef25..87ff0c8 100755
--- a/backends/apt/aptBackend.py
+++ b/backends/apt/aptBackend.py
@@ -521,13 +521,17 @@ class PackageKitAptBackend(PackageKitBaseBackend):
             #FIXME: Show a warning to the user if the apt-file cache is several
             #       weeks old
             pklog.debug("Using apt-file")
-            filenames_regex = [path.lstrip("/").replace("/", "\/") \
-                               for path in filenames]
-            regex = "^(" + "|".join(filenames_regex) + ")$"
-            apt_file = subprocess.Popen(["/usr/bin/apt-file", "--regexp",
-                                         "--non-interactive", "--package-only",
-                                         "find", regex],
-                                        stdout=subprocess.PIPE,
+            filenames_regex = []
+            for filename in filenames:
+                if filename.startswith("/"):
+                    pattern = "^%s$" % filename[1:].replace("/", "\/")
+                else:
+                    pattern = "\/%s$" % filename
+                filenames_regex.append(pattern)
+            cmd = ["/usr/bin/apt-file", "--regexp", "--non-interactive",
+                   "--package-only", "find", "|".join(filenames_regex)]
+            pklog.debug("Calling: %s" % cmd)
+            apt_file = subprocess.Popen(cmd, stdout=subprocess.PIPE,
                                         stderr=subprocess.PIPE)
             stdout, stderr = apt_file.communicate()
             if apt_file.returncode == 0:
@@ -540,11 +544,19 @@ class PackageKitAptBackend(PackageKitBaseBackend):
             else:
                 self.error(ERROR_INTERNAL_ERROR, "%s %s" % (stdout, stderr))
         # Search for installed files
+        filenames_regex = []
+        for filename in filenames:
+            if filename.startswith("/"):
+                pattern = "^%s$" % filename.replace("/", "\/")
+            else:
+                pattern = ".*\/%s$" % filename
+            filenames_regex.append(pattern)
+        files_pattern = re.compile("|".join(filenames_regex))
         for pkg in self._cache:
-            if pkg.name in result_names:
-                continue
+#            if pkg.name in result_names:
+ #               continue
             for installed_file in self._get_installed_files(pkg):
-                if installed_file in filenames:
+                if files_pattern.match(installed_file):
                     self._emit_visible_package(filters, pkg)
                     break
 
commit c26223d91d7383a3e38eae332ab7b7ecbf3d0e1c
Author: Daniel Nicoletti <dantti85-pk at yahoo.com.br>
Date:   Thu Oct 29 17:23:15 2009 -0200

    packagekit-qt: Updated the API to have all the nem enums and use the properties, we broke ABI

diff --git a/lib/packagekit-qt/src/client.cpp b/lib/packagekit-qt/src/client.cpp
index d24ab02..00ecf0c 100644
--- a/lib/packagekit-qt/src/client.cpp
+++ b/lib/packagekit-qt/src/client.cpp
@@ -74,6 +74,7 @@ Client::Client(QObject* parent) : QObject(parent)
 
 	d->error = NoError;
 
+	connect(d->daemon, SIGNAL(Changed()), this, SIGNAL(changed()));
 	connect(d->daemon, SIGNAL(Locked(bool)), this, SIGNAL(locked(bool)));
 	connect(d->daemon, SIGNAL(NetworkStateChanged(const QString&)), d, SLOT(networkStateChanged(const QString&)));
 	connect(d->daemon, SIGNAL(RepoListChanged()), this, SIGNAL(repoListChanged()));
@@ -94,9 +95,9 @@ Client::~Client()
 	delete d;
 }
 
-Client::Actions Client::getActions()
+Client::Actions Client::getActions() const
 {
-	QStringList actions = d->daemon->GetActions().value().split(";");
+	QStringList actions = d->daemon->roles().split(";");
 
 	Actions flags;
 	foreach(const QString& action, actions) {
@@ -105,19 +106,32 @@ Client::Actions Client::getActions()
 	return flags;
 }
 
-Client::BackendDetail Client::getBackendDetail()
+Client::BackendDetail Client::getBackendDetail() const
 {
 	BackendDetail detail;
-	QString name, author;
-	name = d->daemon->GetBackendDetail(author);
-	detail.name = name;
-	detail.author = author;
+	detail.name = backendName();
+	detail.author = backendAuthor();
 	return detail;
 }
 
-Client::Filters Client::getFilters()
+QString Client::backendName() const
 {
-	QStringList filters = d->daemon->GetFilters().value().split(";");
+	return d->daemon->backendName();
+}
+
+QString Client::backendDescription() const
+{
+	return d->daemon->backendDescription();
+}
+
+QString Client::backendAuthor() const
+{
+	return d->daemon->backendAuthor();
+}
+
+Client::Filters Client::getFilters() const
+{
+	QStringList filters = d->daemon->filters().split(";");
 
 	// Adapt a slight difference in the enum
 	if(filters.contains("none")) {
@@ -131,9 +145,9 @@ Client::Filters Client::getFilters()
 	return flags;
 }
 
-Client::Groups Client::getGroups()
+Client::Groups Client::getGroups() const
 {
-	QStringList groups = d->daemon->GetGroups().value().split(";");
+	QStringList groups = d->daemon->groups().split(";");
 
 	Groups flags;
 	foreach(const QString& group, groups) {
@@ -142,18 +156,23 @@ Client::Groups Client::getGroups()
 	return flags;
 }
 
-QStringList Client::getMimeTypes()
+bool Client::locked() const
+{
+	return d->daemon->locked();
+}
+
+QStringList Client::getMimeTypes() const
 {
-	return d->daemon->GetMimeTypes().value().split(";");
+	return d->daemon->mimeTypes().split(";");
 }
 
-Client::NetworkState Client::getNetworkState()
+Client::NetworkState Client::getNetworkState() const
 {
-	QString state = d->daemon->GetNetworkState();
+	QString state = d->daemon->networkState();
 	return (NetworkState) Util::enumFromString<Client>(state, "NetworkState", "Network");
 }
 
-uint Client::getTimeSinceAction(Action action)
+uint Client::getTimeSinceAction(Action action) const
 {
 	QString pkName = Util::enumToString<Client>(action, "Action", "Action");
 	return d->daemon->GetTimeSinceAction(pkName);
@@ -175,6 +194,11 @@ void Client::setLocale(const QString& locale)
 	d->locale = locale;
 }
 
+void Client::setHints(const QStringList& hints)
+{
+	d->hints = hints;
+}
+
 bool Client::setProxy(const QString& http_proxy, const QString& ftp_proxy)
 {
 	QDBusReply<void> r = d->daemon->SetProxy(http_proxy, ftp_proxy);
@@ -196,11 +220,26 @@ void Client::suggestDaemonQuit()
 	d->daemon->SuggestDaemonQuit();
 }
 
-Client::DaemonError Client::getLastError ()
+Client::DaemonError Client::getLastError() const
 {
 	return d->error;
 }
 
+uint Client::versionMajor() const
+{
+	return d->daemon->versionMajor();
+}
+
+uint Client::versionMinor() const
+{
+	return d->daemon->versionMinor();
+}
+
+uint Client::versionMicro() const
+{
+	return d->daemon->versionMicro();
+}
+
 ////// Transaction functions
 
 Transaction* Client::acceptEula(EulaInfo info)
diff --git a/lib/packagekit-qt/src/client.h b/lib/packagekit-qt/src/client.h
index 009d492..08220d2 100644
--- a/lib/packagekit-qt/src/client.h
+++ b/lib/packagekit-qt/src/client.h
@@ -84,6 +84,7 @@ public:
 	 * \sa getActions
 	 */
 	typedef enum {
+		UnknownAction,
 		ActionCancel,
 		ActionGetDepends,
 		ActionGetDetails,
@@ -117,15 +118,14 @@ public:
 		ActionSimulateInstallFiles,
 		ActionSimulateInstallPackages,
 		ActionSimulateRemovePackages,
-		ActionSimulateUpdatePackages,
-		UnknownAction
+		ActionSimulateUpdatePackages
 	} Action;
 	typedef Bitfield Actions;
 
 	/**
 	 * Returns all the actions supported by the current backend
 	 */
-	Actions getActions();
+	Actions getActions() const;
 
 	/**
 	 * Holds a backend's detail
@@ -141,50 +141,66 @@ public:
 	 * Gets the current backend's details
 	 * \return a BackendDetail struct holding the backend's details. You have to free this structure.
 	 */
-	BackendDetail getBackendDetail();
+	BackendDetail getBackendDetail() const;
+
+	/**
+	 * The backend name, e.g. "yum".
+	 */
+	QString backendName() const;
+
+	/**
+	 * The backend description, e.g. "Yellow Dog Update Modifier".
+	 */
+	QString backendDescription() const;
+
+	/**
+	 * The backend author, e.g. "Joe Bloggs <joe at blogs.com>"
+	 */
+	QString backendAuthor() const;
 
 	/**
 	 * Describes the different filters
 	 */
 	typedef enum {
-		NoFilter		 = 0x0000001,
-		FilterInstalled		 = 0x0000002,
-		FilterNotInstalled	 = 0x0000004,
-		FilterDevelopment	 = 0x0000008,
-		FilterNotDevelopment	 = 0x0000010,
-		FilterGui		 = 0x0000020,
-		FilterNotGui		 = 0x0000040,
-		FilterFree		 = 0x0000080,
-		FilterNotFree		 = 0x0000100,
-		FilterVisible		 = 0x0000200,
-		FilterNotVisible	 = 0x0000400,
-		FilterSupported		 = 0x0000800,
-		FilterNotSupported	 = 0x0001000,
-		FilterBasename		 = 0x0002000,
-		FilterNotBasename	 = 0x0004000,
-		FilterNewest		 = 0x0008000,
-		FilterNotNewest		 = 0x0010000,
-		FilterArch		 = 0x0020000,
-		FilterNotArch		 = 0x0040000,
-		FilterSource		 = 0x0080000,
-		FilterNotSource		 = 0x0100000,
-		FilterCollections	 = 0x0200000,
-		FilterNotCollections	 = 0x0400000,
-		FilterApplication	 = 0x0800000,
-		FilterNotApplication	 = 0x1000000,
-		UnknownFilter		 = 0x2000000
+		UnknownFilter		 = 0x0000001,
+		NoFilter		 = 0x0000002,
+		FilterInstalled		 = 0x0000004,
+		FilterNotInstalled	 = 0x0000008,
+		FilterDevelopment	 = 0x0000010,
+		FilterNotDevelopment	 = 0x0000020,
+		FilterGui		 = 0x0000040,
+		FilterNotGui		 = 0x0000080,
+		FilterFree		 = 0x0000100,
+		FilterNotFree		 = 0x0000200,
+		FilterVisible		 = 0x0000400,
+		FilterNotVisible	 = 0x0000800,
+		FilterSupported		 = 0x0001000,
+		FilterNotSupported	 = 0x0002000,
+		FilterBasename		 = 0x0004000,
+		FilterNotBasename	 = 0x0008000,
+		FilterNewest		 = 0x0010000,
+		FilterNotNewest		 = 0x0020000,
+		FilterArch		 = 0x0040000,
+		FilterNotArch		 = 0x0080000,
+		FilterSource		 = 0x0100000,
+		FilterNotSource		 = 0x0200000,
+		FilterCollections	 = 0x0400000,
+		FilterNotCollections	 = 0x0800000,
+		FilterApplication	 = 0x1000000,
+		FilterNotApplication	 = 0x2000000
 	} Filter;
 	Q_DECLARE_FLAGS(Filters, Filter);
 
 	/**
 	 * Returns the filters supported by the current backend
 	 */
-	Filters getFilters();
+	Filters getFilters() const;
 
 	/**
 	 * Describes the different groups
 	 */
 	typedef enum {
+		UnknownGroup,
 		GroupAccessibility,
 		GroupAccessories,
 		GroupAdminTools,
@@ -218,42 +234,46 @@ public:
 		GroupElectronics,
 		GroupCollections,
 		GroupVendor,
-		GroupNewest,
-		UnknownGroup
+		GroupNewest
 	} Group;
 	typedef QSet<Group> Groups;
 
 	/**
 	 * Returns the groups supported by the current backend
 	 */
-	Groups getGroups();
+	Groups getGroups() const;
+
+	/**
+	 * Set when the backend is locked and native tools would fail.
+	 */
+	bool locked() const;
 
 	/**
 	 * Returns a list containing the MIME types supported by the current backend
 	 */
-	QStringList getMimeTypes();
+	QStringList getMimeTypes() const;
 
 	/**
 	 * Describes the current network state
 	 */
 	typedef enum {
+		UnknownNetworkState,
 		NetworkOffline,
 		NetworkOnline,
 		NetworkWired,
 		NetworkWifi,
-		NetworkMobile,
-		UnknownNetworkState
+		NetworkMobile
 	} NetworkState;
 
 	/**
 	 * Returns the current network state
 	 */
-	NetworkState getNetworkState();
+	NetworkState getNetworkState() const;
 
 	/**
 	 * Returns the time (in seconds) since the specified \p action
 	 */
-	uint getTimeSinceAction(Action action);
+	uint getTimeSinceAction(Action action) const;
 
 	/**
 	 * Returns the list of current transactions
@@ -262,10 +282,32 @@ public:
 
 	/**
 	 * Sets a global locale for all the transactions to be created
+	 * \warning THIS FUNCTION IS DEPRECATED. It will be removed in a future release.
+	 * Use SetHints("locale=$code") instead.
 	 */
 	void setLocale(const QString& locale);
 
 	/**
+	 * \brief Sets a global hints for all the transactions to be created
+	 *
+	 * This method allows the calling session to set transaction \p hints for
+	 * the package manager which can change as the transaction runs.
+	 *
+	 * This method can be sent before the transaction has been run
+	 * (by using Client::setHints) or whilst it is running
+	 * (by using Transaction::setHints).
+	 * There is no limit to the number of times this
+	 * method can be sent, although some backends may only use the values
+	 * that were set before the transaction was started.
+	 *
+	 * The \p hints can be filled with entries like these
+	 * ('locale=en_GB.utf8','idle=true','interactive=false').
+	 *
+	 * \sa Transaction::setHints
+	 */
+	void setHints(const QStringList& hints);
+
+	/**
 	 * Sets a proxy to be used for all the network operations
 	 */
 	bool setProxy(const QString& http_proxy, const QString& ftp_proxy);
@@ -287,8 +329,8 @@ public:
 	 * Describes a signature type
 	 */
 	typedef enum {
-		SignatureGpg,
-		UnknownSignatureType
+		UnknownSignatureType,
+		SignatureGpg
 	} SignatureType;
 
 	/**
@@ -314,19 +356,21 @@ public:
 	 * \sa whatProvides
 	 */
 	typedef enum {
+		UnknownProvidesType,
 		ProvidesAny,
 		ProvidesModalias,
 		ProvidesCodec,
 		ProvidesMimetype,
 		ProvidesFont,
 		ProvidesHardwareDriver,
-		UnknownProvidesType
+		ProvidesPostscriptDriver
 	} ProvidesType;
 
 	/**
 	 * Lists the different types of error
 	 */
 	typedef enum {
+		UnknownErrorType,
 		ErrorOom,
 		ErrorNoNetwork,
 		ErrorNotSupported,
@@ -385,14 +429,14 @@ public:
 		ErrorPackageFailedToConfigure,
 		ErrorPackageFailedToBuild,
 		ErrorPackageFailedToInstall,
-		ErrorPackageFailedToRemove,
-		UnknownErrorType
+		ErrorPackageFailedToRemove
 	} ErrorType;
 
 	/**
 	 * Describes a message's type
 	 */
 	typedef enum {
+		UnknownMessageType,
 		MessageBrokenMirror,
 		MessageConnectionRefused,
 		MessageParameterInvalid,
@@ -407,7 +451,6 @@ public:
 		MessagePackageAlreadyInstalled,
 		MessageAutoremoveIgnored,
 		MessageRepoMetadataDownloadFailed,
-		UnknownMessageType
 	} MessageType;
 
 	/**
@@ -428,32 +471,32 @@ public:
 	 * Describes a restart type
 	 */
 	typedef enum {
+		UnknownRestartType,
 		RestartNone,
 		RestartApplication,
 		RestartSession,
 		RestartSystem,
 		RestartSecuritySession,
 		RestartSecuritySystem,
-		UnknownRestartType
 	} RestartType;
 
 	/**
 	 * Describes an update's state
 	 */
 	typedef enum {
+		UnknownUpdateState,
 		UpdateStable,
 		UpdateUnstable,
-		UpdateTesting,
-		UnknownUpdateState
+		UpdateTesting
 	} UpdateState;
 
 	/**
 	 * Describes an distro upgrade state
 	 */
 	typedef enum {
+		UnknownDistroUpgrade,
 		DistroUpgradeStable,
-		DistroUpgradeUnstable,
-		UnknownDistroUpgrade
+		DistroUpgradeUnstable
 	} DistroUpgradeType;
 
 	/**
@@ -464,6 +507,7 @@ public:
 	 */
 	typedef enum {
 		NoError = 0,
+		UnkownError,
 		ErrorFailed,
 		ErrorFailedAuth,
 		ErrorNoTid,
@@ -473,14 +517,13 @@ public:
 		ErrorInvalidInput,
 		ErrorInvalidFile,
 		ErrorFunctionNotSupported,
-		ErrorDaemonUnreachable,
-		UnkownError
+		ErrorDaemonUnreachable
 	} DaemonError;
 
 	/**
 	 * Returns the last daemon error that was caught
 	 */
-	DaemonError getLastError();
+	DaemonError getLastError() const;
 
 	/**
 	 * Describes a software update
@@ -509,6 +552,21 @@ public:
 		QDateTime updated;
 	} UpdateInfo;
 
+	/**
+	 * Returns the major version number.
+	 */
+	uint versionMajor() const;
+
+	/**
+	 * The minor version number.
+	 */
+	uint versionMinor() const;
+
+	/**
+	 * The micro version number.
+	 */
+	uint versionMicro() const;
+
 	// Transaction functions
 
 	/**
@@ -773,6 +831,11 @@ public:
 
 Q_SIGNALS:
 	/**
+	 * This signal is emitted when a property on the interface changes.
+	 */
+	void changed();
+
+	/**
 	 * Emitted when the PackageKit daemon sends an error
 	 */
 	void error(PackageKit::Client::DaemonError e);
diff --git a/lib/packagekit-qt/src/clientprivate.cpp b/lib/packagekit-qt/src/clientprivate.cpp
index 7815304..71cc403 100644
--- a/lib/packagekit-qt/src/clientprivate.cpp
+++ b/lib/packagekit-qt/src/clientprivate.cpp
@@ -46,6 +46,9 @@ Transaction* ClientPrivate::createNewTransaction()
 	if(!locale.isNull())
 		t->setLocale(locale);
 
+	if(!hints.isEmpty())
+		t->setHints(hints);
+
 //	qDebug() << "creating a transaction : " << t->tid();
 	runningTransactions.insert(t->tid(), t);
 	connect(t, SIGNAL(destroyed(const QString&)), this, SLOT(removeTransactionFromPool(const QString&)));
diff --git a/lib/packagekit-qt/src/clientprivate.h b/lib/packagekit-qt/src/clientprivate.h
index e469117..d299f91 100644
--- a/lib/packagekit-qt/src/clientprivate.h
+++ b/lib/packagekit-qt/src/clientprivate.h
@@ -42,6 +42,7 @@ public:
 	Client* c;
 
 	QString locale;
+	QStringList hints;
 
 	QMutex runningTransactionsLocker;
 	QHash<QString, Transaction*> runningTransactions;
diff --git a/lib/packagekit-qt/src/daemonproxy.h b/lib/packagekit-qt/src/daemonproxy.h
index 4d7ebdc..cc19390 100644
--- a/lib/packagekit-qt/src/daemonproxy.h
+++ b/lib/packagekit-qt/src/daemonproxy.h
@@ -1,6 +1,6 @@
 /*
  * This file was generated by qdbusxml2cpp version 0.7
- * Command line was: qdbusxml2cpp -c DaemonProxy -p daemonproxy.h /home/madcat/code/PackageKit/src/org.freedesktop.PackageKit.xml org.freedesktop.PackageKit
+ * Command line was: qdbusxml2cpp -c DaemonProxy -p daemonproxy.h /home/daniel/code/PackageKit/src/org.freedesktop.PackageKit.xml
  *
  * qdbusxml2cpp is Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
  *
@@ -8,8 +8,8 @@
  * Do not edit! All changes made to it will be lost.
  */
 
-#ifndef DAEMONPROXY_H_1251899971
-#define DAEMONPROXY_H_1251899971
+#ifndef DAEMONPROXY_H_1256835922
+#define DAEMONPROXY_H_1256835922
 
 #include <QtCore/QObject>
 #include <QtCore/QByteArray>
@@ -37,6 +37,42 @@ public:
 
     ~DaemonProxy();
 
+    Q_PROPERTY(QString BackendAuthor READ backendAuthor)
+    inline QString backendAuthor() const
+    { return qvariant_cast< QString >(internalPropGet("BackendAuthor")); }
+
+    Q_PROPERTY(QString BackendDescription READ backendDescription)
+    inline QString backendDescription() const
+    { return qvariant_cast< QString >(internalPropGet("BackendDescription")); }
+
+    Q_PROPERTY(QString BackendName READ backendName)
+    inline QString backendName() const
+    { return qvariant_cast< QString >(internalPropGet("BackendName")); }
+
+    Q_PROPERTY(QString Filters READ filters)
+    inline QString filters() const
+    { return qvariant_cast< QString >(internalPropGet("Filters")); }
+
+    Q_PROPERTY(QString Groups READ groups)
+    inline QString groups() const
+    { return qvariant_cast< QString >(internalPropGet("Groups")); }
+
+    Q_PROPERTY(bool Locked READ locked)
+    inline bool locked() const
+    { return qvariant_cast< bool >(internalPropGet("Locked")); }
+
+    Q_PROPERTY(QString MimeTypes READ mimeTypes)
+    inline QString mimeTypes() const
+    { return qvariant_cast< QString >(internalPropGet("MimeTypes")); }
+
+    Q_PROPERTY(QString NetworkState READ networkState)
+    inline QString networkState() const
+    { return qvariant_cast< QString >(internalPropGet("NetworkState")); }
+
+    Q_PROPERTY(QString Roles READ roles)
+    inline QString roles() const
+    { return qvariant_cast< QString >(internalPropGet("Roles")); }
+
     Q_PROPERTY(uint VersionMajor READ versionMajor)
     inline uint versionMajor() const
     { return qvariant_cast< uint >(internalPropGet("VersionMajor")); }
@@ -148,6 +184,7 @@ public Q_SLOTS: // METHODS
     }
 
 Q_SIGNALS: // SIGNALS
+    void Changed();
     void Locked(bool is_locked);
     void NetworkStateChanged(const QString &state);
     void RepoListChanged();
diff --git a/lib/packagekit-qt/src/package.h b/lib/packagekit-qt/src/package.h
index 339e93f..28101c9 100644
--- a/lib/packagekit-qt/src/package.h
+++ b/lib/packagekit-qt/src/package.h
@@ -84,6 +84,7 @@ public:
 	 * Describes the state of a package
 	 */
 	typedef enum {
+		UnknownState,
 		StateInstalled,
 		StateAvailable,
 		StateLow,
@@ -105,8 +106,7 @@ public:
 		StateReinstalling,
 		StateDowngrading,
 		StatePreparing,
-		StateDecompressing,
-		UnknownState
+		StateDecompressing
 	} State;
 	/**
 	 * Returns the package's state
@@ -117,6 +117,7 @@ public:
 	 * Describes a package's license
 	 */
 	typedef enum {
+		UnknownLicense,
 		LicenseGlide,
 		LicenseAfl,
 		LicenseAmpasBsd,
@@ -241,8 +242,7 @@ public:
 		LicenseVostrom,
 		LicenseXerox,
 		LicenseRicebsd,
-		LicenseQhull,
-		UnknownLicense
+		LicenseQhull
 	} License;
 
 	/**
diff --git a/lib/packagekit-qt/src/transaction.cpp b/lib/packagekit-qt/src/transaction.cpp
index 7ff4b14..3dd973b 100644
--- a/lib/packagekit-qt/src/transaction.cpp
+++ b/lib/packagekit-qt/src/transaction.cpp
@@ -41,6 +41,7 @@ Transaction::Transaction(const QString& tid, Client* parent) : QObject(parent)
 
 	d->error = Client::NoError;
 
+	connect(d->p, SIGNAL(Changed()), this, SIGNAL(changed()));
 	connect(d->p, SIGNAL(AllowCancel(bool)), this, SIGNAL(allowCancelChanged(bool)));
 	connect(d->p, SIGNAL(Category(const QString&, const QString&, const QString&, const QString&, const QString&)), this, SIGNAL(category(const QString&, const QString&, const QString&, const QString&, const QString&)));
 	connect(d->p, SIGNAL(Destroy()), this, SIGNAL(destroy()));
@@ -95,12 +96,12 @@ Client::DaemonError Transaction::error () const
 	return d->error;
 }
 
-bool Transaction::allowCancel()
+bool Transaction::allowCancel() const
 {
 	return d->p->allowCancel ();
 }
 
-bool Transaction::callerActive()
+bool Transaction::callerActive() const
 {
 	return d->p->callerActive ();
 }
@@ -113,25 +114,48 @@ void Transaction::cancel()
 	}
 }
 
-Package* Transaction::lastPackage()
+Package* Transaction::lastPackage() const
 {
 	return new Package(d->p->lastPackage ());
 }
 
-Transaction::ProgressInfo Transaction::progress()
+Transaction::ProgressInfo Transaction::progress() const
 {
-	uint p, subp, elaps, rem;
-	p = d->p->GetProgress(subp, elaps, rem);
 	ProgressInfo i;
 	i.percentage = d->p->percentage ();
 	i.subpercentage = d->p->subpercentage ();
-	i.elapsed = elaps;
-	i.remaining = rem;
+	i.elapsed = d->p->elapsedTime ();
+	i.remaining = d->p->remainingTime ();
 
 	return i;
 }
 
-Client::Action Transaction::role()
+uint Transaction::percentage() const
+{
+	return d->p->percentage ();
+}
+
+uint Transaction::subpercentage() const
+{
+	return d->p->subpercentage ();
+}
+
+uint Transaction::elapsedTime() const
+{
+	return d->p->elapsedTime ();
+}
+
+uint Transaction::remainingTime() const
+{
+	return d->p->remainingTime ();
+}
+
+uint Transaction::speed() const
+{
+	return d->p->speed ();
+}
+
+Client::Action Transaction::role() const
 {
 	if(d->oldtrans)
 		return d->role;
@@ -144,32 +168,37 @@ void Transaction::setLocale(const QString& locale)
 	d->p->SetLocale(locale);
 }
 
-Transaction::Status Transaction::status()
+void Transaction::setHints(const QStringList& hints)
+{
+	d->p->SetHints(hints);
+}
+
+Transaction::Status Transaction::status() const
 {
 	return (Transaction::Status) Util::enumFromString<Transaction>(d->p->status (), "Status", "Status");
 }
 
-QDateTime Transaction::timespec()
+QDateTime Transaction::timespec() const
 {
 	return d->timespec;
 }
 
-bool Transaction::succeeded()
+bool Transaction::succeeded() const
 {
 	return d->succeeded;
 }
 
-uint Transaction::duration()
+uint Transaction::duration() const
 {
 	return d->duration;
 }
 
-QString Transaction::data()
+QString Transaction::data() const
 {
 	return d->data;
 }
 
-uint Transaction::uid()
+uint Transaction::uid() const
 {
 	if(d->p) {
 		return d->p->uid();
@@ -177,7 +206,7 @@ uint Transaction::uid()
 	return d->uid;
 }
 
-QString Transaction::cmdline()
+QString Transaction::cmdline() const
 {
 	return d->cmdline;
 }
diff --git a/lib/packagekit-qt/src/transaction.h b/lib/packagekit-qt/src/transaction.h
index 3b16e2a..6cab91a 100644
--- a/lib/packagekit-qt/src/transaction.h
+++ b/lib/packagekit-qt/src/transaction.h
@@ -70,7 +70,6 @@ public:
 	 */
 	QString tid() const;
 
-
 	/**
 	 * \brief Returns the error status of the Transaction
 	 *
@@ -83,7 +82,7 @@ public:
 	 *
 	 * \return true if you can cancel the transaction, false else
 	 */
-	bool allowCancel();
+	bool allowCancel() const;
 
 	/**
 	 * Indicates weither the transaction caller is active or not
@@ -92,7 +91,7 @@ public:
 	 *
 	 * \return true if the caller is active, false else
 	 */
-	bool callerActive();
+	bool callerActive() const;
 
 	/**
 	 * Returns the last package processed by the transaction
@@ -104,7 +103,7 @@ public:
 	 * \sa transactionListChanged
 	 * \sa getTransactionList
 	 */
-	Package* lastPackage();
+	Package* lastPackage() const;
 
 	/**
 	 * Gathers all the information about a transaction's progress in one struct
@@ -120,31 +119,86 @@ public:
 		uint remaining;
 	} ProgressInfo;
 	/**
+	 * TODO this function should be deprecated since any changes to the above
+	 * struct breaks our API
 	 * Returns the current transaction's progress
 	 * \return a ProgressInfo struct describing the transaction's progress
 	 */
-	ProgressInfo progress();
+	ProgressInfo progress() const;
+
+	/**
+	 * The percentage complete of the whole transaction.
+	 * \return percentage, or 101 if not known.
+	 */
+	uint percentage() const;
+
+	/**
+	 * The percentage complete of the individual task, for example, downloading.
+	 * \return percentage, or 101 if not known.
+	 */
+	uint subpercentage() const;
+
+	/**
+	 * The amount of time elapsed during the transaction in seconds.
+	 * \return time in seconds.
+	 */
+	uint elapsedTime() const;
+
+	/**
+	 * The estimated time remaining of the transaction in seconds, or 0 if not known.
+	 * \return time in seconds, or 0 if not known.
+	 */
+	uint remainingTime() const;
+
+	/**
+	 * Returns the estimated speed of the transaction (copying, downloading, etc.)
+	 * \return speed bits per second, or 0 if not known.
+	 */
+	uint speed() const;
 
 	/**
 	 * Returns information describing the transaction
 	 * \return the current action of the transaction
 	 */
-	Client::Action role();
+	Client::Action role() const;
 
 	/**
 	 * \brief Tells the underlying package manager to use the given \p locale
 	 *
 	 * It's recommanded to call Client::setLocale, which will in turn call setLocale
 	 * on every created transaction.
+	 * \warning THIS FUNCTION IS DEPRECATED. It will be removed in a future release.
+	 * Use SetHints("locale=$code") instead.
 	 *
 	 * \sa Client::setLocale
 	 */
 	void setLocale(const QString& locale);
 
 	/**
+	 * \brief Tells the underlying package manager to use the given \p hints
+	 *
+	 * This method allows the calling session to set transaction \p hints for
+	 * the package manager which can change as the transaction runs.
+	 *
+	 * This method can be sent before the transaction has been run
+	 * (by using Client::setHints) or whilst it is running
+	 * (by using Transaction::setHints).
+	 * There is no limit to the number of times this
+	 * method can be sent, although some backends may only use the values
+	 * that were set before the transaction was started.
+	 *
+	 * The \p hints can be filled with entries like these
+	 * ('locale=en_GB.utf8','idle=true','interactive=false').
+	 *
+	 * \sa Client::setHints
+	 */
+	void setHints(const QStringList& hints);
+
+	/**
 	 * Describes the current state of the transaction
 	 */
 	typedef enum {
+		UnknownStatus,
 		StatusWait,
 		StatusSetup,
 		StatusRunning,
@@ -180,61 +234,62 @@ public:
 		StatusScanProcessList,
 		StatusCheckExecutableFiles,
 		StatusCheckLibraries,
-		UnknownStatus
+		StatusCopyFiles
 	} Status;
 	/**
 	 * Returns the current state of the transaction
 	 * \return a Transaction::Status value describing the status of the transaction
 	 */
-	Status status();
+	Status status() const;
 
 	/**
 	 * Returns the date at which the transaction was created
 	 * \return a QDateTime object containing the date at which the transaction was created
 	 * \note This function only returns a real value for old transactions returned by getOldTransactions
 	 */
-	QDateTime timespec();
+	QDateTime timespec() const;
 
 	/**
 	 * Returns weither the trasaction succeded or not
 	 * \return true if the transaction succeeded, false else
 	 * \note This function only returns a real value for old transactions returned by getOldTransactions
 	 */
-	bool succeeded();
+	bool succeeded() const;
 
 	/**
 	 * Returns the time the transaction took to finish
 	 * \return the number of milliseconds the transaction took to finish
 	 * \note This function only returns a real value for old transactions returned by getOldTransactions
 	 */
-	uint duration();
+	uint duration() const;
 
 	/**
 	 * Returns some data set by the backend to pass additionnal information
 	 * \return a string set by the backend
 	 * \note This function only returns a real value for old transactions returned by getOldTransactions
 	 */
-	QString data();
+	QString data() const;
 
 	/**
 	 * Returns the UID of the calling process
 	 * \return the uid of the calling process
 	 * \note This function only returns a real value for old transactions returned by getOldTransactions
 	 */
-	uint uid();
+	uint uid() const;
 
 	/**
 	 * Returns the command line for the calling process
 	 * \return a string of the command line for the calling process
 	 * \note This function only returns a real value for old transactions returned by getOldTransactions
 	 */
-	QString cmdline();
+	QString cmdline() const;
 
 	/**
 	 * Describes how the transaction finished
 	 * \sa finished()
 	 */
 	typedef enum {
+		UnknownExitStatus,
 		ExitSuccess,
 		ExitFailed,
 		ExitCancelled,
@@ -242,18 +297,17 @@ public:
 		ExitEulaRequired,
 		ExitKilled, /* when we forced the cancel, but had to sigkill */
 		ExitMediaChangeRequired,
-		ExitNeedUntrusted,
-		UnknownExitStatus
+		ExitNeedUntrusted
 	} ExitStatus;
 
 	/**
 	 * Describes what kind of media is required
 	 */
 	typedef enum {
+		UnknownMediaType,
 		MediaCd,
 		MediaDvd,
-		MediaDisc,
-		UnknownMediaType
+		MediaDisc
 	} MediaType;
 
 public Q_SLOTS:
@@ -264,6 +318,11 @@ public Q_SLOTS:
 
 Q_SIGNALS:
 	/**
+	 * The transaction has changed one of it's properties
+	 */
+	void changed();
+
+	/**
 	 * The transaction has changed it's "cancellability"
 	 */
 	void allowCancelChanged(bool allow);
diff --git a/lib/packagekit-qt/src/transactionproxy.h b/lib/packagekit-qt/src/transactionproxy.h
index a5deb90..884d8cf 100644
--- a/lib/packagekit-qt/src/transactionproxy.h
+++ b/lib/packagekit-qt/src/transactionproxy.h
@@ -1,6 +1,6 @@
 /*
  * This file was generated by qdbusxml2cpp version 0.7
- * Command line was: qdbusxml2cpp -c TransactionProxy -p transactionproxy.h /home/madcat/code/PackageKit/src/org.freedesktop.PackageKit.Transaction.xml org.freedesktop.PackageKit.Transaction
+ * Command line was: qdbusxml2cpp -c TransactionProxy -p transactionproxy.h /home/daniel/code/PackageKit/src/org.freedesktop.PackageKit.Transaction.xml
  *
  * qdbusxml2cpp is Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
  *
@@ -8,8 +8,8 @@
  * Do not edit! All changes made to it will be lost.
  */
 
-#ifndef TRANSACTIONPROXY_H_1251898448
-#define TRANSACTIONPROXY_H_1251898448
+#ifndef TRANSACTIONPROXY_H_1256828761
+#define TRANSACTIONPROXY_H_1256828761
 
 #include <QtCore/QObject>
 #include <QtCore/QByteArray>
@@ -21,7 +21,6 @@
 #include <QtDBus/QtDBus>
 
 namespace PackageKit {
-
 /*
  * Proxy class for interface org.freedesktop.PackageKit.Transaction
  */
@@ -45,6 +44,10 @@ public:
     inline bool callerActive() const
     { return qvariant_cast< bool >(internalPropGet("CallerActive")); }
 
+    Q_PROPERTY(uint ElapsedTime READ elapsedTime)
+    inline uint elapsedTime() const
+    { return qvariant_cast< uint >(internalPropGet("ElapsedTime")); }
+
     Q_PROPERTY(QString LastPackage READ lastPackage)
     inline QString lastPackage() const
     { return qvariant_cast< QString >(internalPropGet("LastPackage")); }
@@ -53,10 +56,18 @@ public:
     inline uint percentage() const
     { return qvariant_cast< uint >(internalPropGet("Percentage")); }
 
+    Q_PROPERTY(uint RemainingTime READ remainingTime)
+    inline uint remainingTime() const
+    { return qvariant_cast< uint >(internalPropGet("RemainingTime")); }
+
     Q_PROPERTY(QString Role READ role)
     inline QString role() const
     { return qvariant_cast< QString >(internalPropGet("Role")); }
 
+    Q_PROPERTY(uint Speed READ speed)
+    inline uint speed() const
+    { return qvariant_cast< uint >(internalPropGet("Speed")); }
+
     Q_PROPERTY(QString Status READ status)
     inline QString status() const
     { return qvariant_cast< QString >(internalPropGet("Status")); }
@@ -284,34 +295,41 @@ public Q_SLOTS: // METHODS
         return asyncCallWithArgumentList(QLatin1String("Rollback"), argumentList);
     }
 
-    inline QDBusPendingReply<> SearchDetails(const QString &filter, const QString &search)
+    inline QDBusPendingReply<> SearchDetails(const QString &filter, const QString &values)
     {
         QList<QVariant> argumentList;
-        argumentList << qVariantFromValue(filter) << qVariantFromValue(search);
+        argumentList << qVariantFromValue(filter) << qVariantFromValue(values);
         return asyncCallWithArgumentList(QLatin1String("SearchDetails"), argumentList);
     }
 
-    inline QDBusPendingReply<> SearchFile(const QString &filter, const QString &search)
+    inline QDBusPendingReply<> SearchFile(const QString &filter, const QString &values)
     {
         QList<QVariant> argumentList;
-        argumentList << qVariantFromValue(filter) << qVariantFromValue(search);
+        argumentList << qVariantFromValue(filter) << qVariantFromValue(values);
         return asyncCallWithArgumentList(QLatin1String("SearchFile"), argumentList);
     }
 
-    inline QDBusPendingReply<> SearchGroup(const QString &filter, const QString &search)
+    inline QDBusPendingReply<> SearchGroup(const QString &filter, const QString &values)
     {
         QList<QVariant> argumentList;
-        argumentList << qVariantFromValue(filter) << qVariantFromValue(search);
+        argumentList << qVariantFromValue(filter) << qVariantFromValue(values);
         return asyncCallWithArgumentList(QLatin1String("SearchGroup"), argumentList);
     }
 
-    inline QDBusPendingReply<> SearchName(const QString &filter, const QString &search)
+    inline QDBusPendingReply<> SearchName(const QString &filter, const QString &values)
     {
         QList<QVariant> argumentList;
-        argumentList << qVariantFromValue(filter) << qVariantFromValue(search);
+        argumentList << qVariantFromValue(filter) << qVariantFromValue(values);
         return asyncCallWithArgumentList(QLatin1String("SearchName"), argumentList);
     }
 
+    inline QDBusPendingReply<> SetHints(const QStringList &hints)
+    {
+        QList<QVariant> argumentList;
+        argumentList << qVariantFromValue(hints);
+        return asyncCallWithArgumentList(QLatin1String("SetHints"), argumentList);
+    }
+
     inline QDBusPendingReply<> SetLocale(const QString &code)
     {
         QList<QVariant> argumentList;
@@ -361,10 +379,10 @@ public Q_SLOTS: // METHODS
         return asyncCallWithArgumentList(QLatin1String("UpdateSystem"), argumentList);
     }
 
-    inline QDBusPendingReply<> WhatProvides(const QString &filter, const QString &type, const QString &search)
+    inline QDBusPendingReply<> WhatProvides(const QString &filter, const QString &type, const QString &values)
     {
         QList<QVariant> argumentList;
-        argumentList << qVariantFromValue(filter) << qVariantFromValue(type) << qVariantFromValue(search);
+        argumentList << qVariantFromValue(filter) << qVariantFromValue(type) << qVariantFromValue(values);
         return asyncCallWithArgumentList(QLatin1String("WhatProvides"), argumentList);
     }
 
@@ -372,6 +390,7 @@ Q_SIGNALS: // SIGNALS
     void AllowCancel(bool allow_cancel);
     void CallerActiveChanged(bool is_active);
     void Category(const QString &parent_id, const QString &cat_id, const QString &name, const QString &summary, const QString &icon);
+    void Changed();
     void Destroy();
     void Details(const QString &package_id, const QString &license, const QString &group, const QString &detail, const QString &url, qulonglong size);
     void DistroUpgrade(const QString &type, const QString &name, const QString &summary);
commit d0e8b566bccd1a6e6ae3dc24df57e421c5e373eb
Author: ruigo <ruigo at fedoraproject.org>
Date:   Thu Oct 29 17:06:58 2009 +0000

    Sending translation for Portuguese

diff --git a/po/pt.po b/po/pt.po
index 990c6e8..52ed2af 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -2,7 +2,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: packagekit\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-09-28 21:59+0000\n"
+"POT-Creation-Date: 2009-10-29 09:39+0000\n"
 "PO-Revision-Date: \n"
 "Last-Translator: Rui Gouveia <rui.gouveia at globaltek.pt>\n"
 "Language-Team: pt <fedora-trans-pt at redhat.com>\n"
@@ -135,8 +135,8 @@ msgstr "Detalhes acerca da actualização:"
 #. 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:249
-#: ../lib/packagekit-glib2/pk-task-text.c:105
-#: ../lib/packagekit-glib2/pk-task-text.c:172
+#: ../lib/packagekit-glib2/pk-task-text.c:107
+#: ../lib/packagekit-glib2/pk-task-text.c:174
 #: ../src/pk-polkit-action-lookup.c:361
 msgid "Package"
 msgid_plural "Packages"
@@ -156,7 +156,7 @@ msgstr "Torna absoleto"
 #. TRANSLATORS: details about the update, the vendor URLs
 #. TRANSLATORS: the vendor (e.g. vmware) that is providing the EULA
 #: ../client/pk-console.c:260
-#: ../lib/packagekit-glib2/pk-task-text.c:175
+#: ../lib/packagekit-glib2/pk-task-text.c:177
 msgid "Vendor"
 msgstr "Fabricante"
 
@@ -198,7 +198,7 @@ msgstr "Emitido"
 #. TRANSLATORS: details about the update, date the update was updated
 #. TRANSLATORS: The action of the package, in past tense
 #: ../client/pk-console.c:294
-#: ../lib/packagekit-glib2/pk-console-shared.c:498
+#: ../lib/packagekit-glib2/pk-console-shared.c:502
 msgid "Updated"
 msgstr "Actualizado"
 
@@ -264,8 +264,8 @@ msgstr "Erro fatal"
 
 #. TRANSLATORS: the transaction failed in a way we could not expect
 #: ../client/pk-console.c:484
-#: ../contrib/command-not-found/pk-command-not-found.c:426
-#: ../contrib/command-not-found/pk-command-not-found.c:567
+#: ../contrib/command-not-found/pk-command-not-found.c:430
+#: ../contrib/command-not-found/pk-command-not-found.c:597
 msgid "The transaction failed"
 msgstr "A transacção falhou"
 
@@ -343,150 +343,161 @@ msgstr "Não foi possível obter a hora da última vez que esta acção foi conc
 
 #. TRANSLATORS: command line argument, if we should show debugging information
 #. TRANSLATORS: if we should show debugging data
-#: ../client/pk-console.c:987
+#: ../client/pk-console.c:989
 #: ../client/pk-generate-pack.c:223
 #: ../client/pk-monitor.c:281
-#: ../contrib/command-not-found/pk-command-not-found.c:620
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:511
+#: ../contrib/command-not-found/pk-command-not-found.c:651
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:512
 #: ../contrib/device-rebind/pk-device-rebind.c:293
 #: ../src/pk-main.c:211
 msgid "Show extra debugging information"
 msgstr "Mostrar informação de depuração adicional"
 
 #. TRANSLATORS: command line argument, just show the version string
-#: ../client/pk-console.c:990
+#: ../client/pk-console.c:992
 #: ../client/pk-monitor.c:283
 msgid "Show the program version and exit"
 msgstr "Mostrar a versão da aplicação e terminar"
 
 #. TRANSLATORS: command line argument, use a filter to narrow down results
-#: ../client/pk-console.c:993
+#: ../client/pk-console.c:995
 msgid "Set the filter, e.g. installed"
 msgstr "Configurar o filtro, exemplo, instalado"
 
 #. TRANSLATORS: command line argument, work asynchronously
-#: ../client/pk-console.c:996
+#: ../client/pk-console.c:998
 msgid "Exit without waiting for actions to complete"
 msgstr "Sair sem esperar que as acções completem"
 
+#. command line argument, do we ask questions
+#: ../client/pk-console.c:1001
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:524
+msgid "Install the packages without asking for confirmation"
+msgstr "Instalar os pacotes sem pedir por confirmação"
+
+#. TRANSLATORS: command line argument, this command is not a priority
+#: ../client/pk-console.c:1004
+msgid "Run the command using idle network bandwidth and also using less power"
+msgstr "Executar o comando utilizando períodos de inactividade da rede e também utilizando menos energia"
+
 #. TRANSLATORS: we failed to contact the daemon
-#: ../client/pk-console.c:1022
+#: ../client/pk-console.c:1030
 msgid "Failed to contact PackageKit"
 msgstr "Falhou o contacto com o PackageKit"
 
 #. TRANSLATORS: The user specified an incorrect filter
-#: ../client/pk-console.c:1074
+#: ../client/pk-console.c:1086
 msgid "The filter specified was invalid"
 msgstr "O filtro especificado era inválido"
 
 #. TRANSLATORS: a search type can be name, details, file, etc
-#: ../client/pk-console.c:1093
+#: ../client/pk-console.c:1105
 msgid "A search type is required, e.g. name"
 msgstr "Um tipo de pesquisa é necessário. Por exemplo, nome"
 
 #. TRANSLATORS: the user needs to provide a search term
-#: ../client/pk-console.c:1100
 #: ../client/pk-console.c:1112
 #: ../client/pk-console.c:1124
 #: ../client/pk-console.c:1136
+#: ../client/pk-console.c:1148
 msgid "A search term is required"
 msgstr "Um termo de pesquisa é necessário"
 
 #. TRANSLATORS: the search type was provided, but invalid
-#: ../client/pk-console.c:1146
+#: ../client/pk-console.c:1158
 msgid "Invalid search type"
 msgstr "Tipo de pesquisa inválida"
 
 #. TRANSLATORS: the user did not specify what they wanted to install
-#: ../client/pk-console.c:1152
+#: ../client/pk-console.c:1164
 msgid "A package name to install is required"
 msgstr "É necessário indicar um nome de pacote a instalar"
 
 #. TRANSLATORS: the user did not specify what they wanted to install
-#: ../client/pk-console.c:1161
+#: ../client/pk-console.c:1173
 msgid "A filename to install is required"
 msgstr "É necessário um nome de ficheiro a instalar"
 
 #. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:1173
+#: ../client/pk-console.c:1185
 msgid "A type, key_id and package_id are required"
 msgstr "São necessários um tipo, id de chave e id de pacote"
 
 #. TRANSLATORS: the user did not specify what they wanted to remove
-#: ../client/pk-console.c:1184
+#: ../client/pk-console.c:1196
 msgid "A package name to remove is required"
 msgstr "É necessário um nome de pacote para remover"
 
 #. TRANSLATORS: the user did not specify anything about what to download or where
-#: ../client/pk-console.c:1193
+#: ../client/pk-console.c:1205
 msgid "A destination directory and the package names to download are required"
 msgstr "São necessários uma directoria de destino assim como os nomes dos pacotes a transferir"
 
 #. TRANSLATORS: the directory does not exist, so we can't continue
-#: ../client/pk-console.c:1200
+#: ../client/pk-console.c:1212
 msgid "Directory not found"
 msgstr "Directório não encontrado"
 
 #. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:1209
+#: ../client/pk-console.c:1221
 msgid "A licence identifier (eula-id) is required"
 msgstr "É necessário um identificador de licença (eula-id)"
 
 #. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:1220
+#: ../client/pk-console.c:1232
 msgid "A transaction identifier (tid) is required"
 msgstr "É necessário um identificador de transacção (tid)"
 
 #. TRANSLATORS: The user did not specify a package name
-#: ../client/pk-console.c:1241
+#: ../client/pk-console.c:1253
 msgid "A package name to resolve is required"
 msgstr "É necessário indicar um nome de pacote"
 
 #. TRANSLATORS: The user did not specify a repository (software source) name
-#: ../client/pk-console.c:1252
-#: ../client/pk-console.c:1263
+#: ../client/pk-console.c:1264
+#: ../client/pk-console.c:1275
 msgid "A repository name is required"
 msgstr "É obrigatório um nome de repositório"
 
 #. TRANSLATORS: The user didn't provide any data
-#: ../client/pk-console.c:1274
+#: ../client/pk-console.c:1286
 msgid "A repo name, parameter and value are required"
 msgstr "É necessário indicar um repositório, parâmetro e valor"
 
 #. TRANSLATORS: The user didn't specify what action to use
-#: ../client/pk-console.c:1291
+#: ../client/pk-console.c:1303
 msgid "An action, e.g. 'update-system' is required"
 msgstr "É necessária uma acção, por exemplo 'update-system'"
 
 #. TRANSLATORS: The user specified an invalid action
-#: ../client/pk-console.c:1298
+#: ../client/pk-console.c:1310
 msgid "A correct role is required"
 msgstr "É necessária uma função correcta"
 
 #. 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:1308
-#: ../client/pk-console.c:1323
-#: ../client/pk-console.c:1332
-#: ../client/pk-console.c:1352
-#: ../client/pk-console.c:1361
+#: ../client/pk-console.c:1320
+#: ../client/pk-console.c:1335
+#: ../client/pk-console.c:1344
+#: ../client/pk-console.c:1364
+#: ../client/pk-console.c:1373
 #: ../client/pk-generate-pack.c:287
 msgid "A package name is required"
 msgstr "É obrigatório um nome de pacote"
 
 #. TRANSLATORS: each package "provides" certain things, e.g. mime(gstreamer-decoder-mp3), the user didn't specify it
-#: ../client/pk-console.c:1341
+#: ../client/pk-console.c:1353
 msgid "A package provide string is required"
 msgstr "É necessário especificar a string que define o que o pacote disponibiliza"
 
 #. TRANSLATORS: The user tried to use an unsupported option on the command line
-#: ../client/pk-console.c:1421
+#: ../client/pk-console.c:1433
 #, c-format
 msgid "Option '%s' is not supported"
 msgstr "A opção '%s' não é suportada"
 
 #. TRANSLATORS: Generic failure of what they asked to do
-#: ../client/pk-console.c:1431
+#: ../client/pk-console.c:1443
 msgid "Command failed"
 msgstr "Comando falhou"
 
@@ -659,91 +670,96 @@ msgid "Installing..."
 msgstr "A instalar..."
 
 #. TRANSLATORS: downloading repo data so we can search
-#: ../contrib/command-not-found/pk-command-not-found.c:361
+#: ../contrib/command-not-found/pk-command-not-found.c:365
 msgid "Downloading details about the software sources."
 msgstr "A descarregar detalhes acerca das fontes do software."
 
 #. TRANSLATORS: downloading file lists so we can search
-#: ../contrib/command-not-found/pk-command-not-found.c:365
+#: ../contrib/command-not-found/pk-command-not-found.c:369
 msgid "Downloading filelists (this may take some time to complete)."
 msgstr "A descarregar lista de ficheiros (isto pode demorar algum tempo para concluir)."
 
 #. TRANSLATORS: waiting for native lock
-#: ../contrib/command-not-found/pk-command-not-found.c:369
+#: ../contrib/command-not-found/pk-command-not-found.c:373
 msgid "Waiting for package manager lock."
 msgstr "A esperar pelo bloqueio do gestor de pacotes."
 
 #. TRANSLATORS: loading package cache so we can search
-#: ../contrib/command-not-found/pk-command-not-found.c:373
+#: ../contrib/command-not-found/pk-command-not-found.c:377
 msgid "Loading list of packages."
 msgstr "A carregar lista de pacotes."
 
 #. TRANSLATORS: we failed to find the package, this shouldn't happen
-#: ../contrib/command-not-found/pk-command-not-found.c:417
+#: ../contrib/command-not-found/pk-command-not-found.c:421
 msgid "Failed to search for file"
 msgstr "Não foi possível encontrar o ficheiro"
 
+#. TRANSLATORS: we failed to launch the executable, the error follows
+#: ../contrib/command-not-found/pk-command-not-found.c:560
+msgid "Failed to launch:"
+msgstr "Incapaz de iniciar:"
+
 #. TRANSLATORS: we failed to install the package
-#: ../contrib/command-not-found/pk-command-not-found.c:558
+#: ../contrib/command-not-found/pk-command-not-found.c:588
 msgid "Failed to install packages"
 msgstr "Falhou a instalação dos pacotes"
 
 #. TRANSLATORS: tool that gets called when the command is not found
-#: ../contrib/command-not-found/pk-command-not-found.c:636
+#: ../contrib/command-not-found/pk-command-not-found.c:667
 msgid "PackageKit Command Not Found"
 msgstr "Comando PackageKit não encontrado"
 
 #. TRANSLATORS: the prefix of all the output telling the user why it's not executing
-#: ../contrib/command-not-found/pk-command-not-found.c:664
+#: ../contrib/command-not-found/pk-command-not-found.c:697
 msgid "Command not found."
 msgstr "Comando não encontrado."
 
 #. TRANSLATORS: tell the user what we think the command is
-#: ../contrib/command-not-found/pk-command-not-found.c:671
+#: ../contrib/command-not-found/pk-command-not-found.c:704
 msgid "Similar command is:"
 msgstr "Comando semelhante é:"
 
 #. TRANSLATORS: Ask the user if we should run the similar command
-#: ../contrib/command-not-found/pk-command-not-found.c:680
+#: ../contrib/command-not-found/pk-command-not-found.c:714
 msgid "Run similar command:"
 msgstr "Executar um comando semelhante:"
 
 #. 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:692
-#: ../contrib/command-not-found/pk-command-not-found.c:701
+#: ../contrib/command-not-found/pk-command-not-found.c:728
+#: ../contrib/command-not-found/pk-command-not-found.c:737
 msgid "Similar commands are:"
 msgstr "Comandos semelhantes são:"
 
 #. TRANSLATORS: ask the user to choose a file to run
-#: ../contrib/command-not-found/pk-command-not-found.c:708
+#: ../contrib/command-not-found/pk-command-not-found.c:744
 msgid "Please choose a command to run"
 msgstr "Por favor, escolha um comando para executar"
 
 #. TRANSLATORS: tell the user what package provides the command
-#: ../contrib/command-not-found/pk-command-not-found.c:724
+#: ../contrib/command-not-found/pk-command-not-found.c:760
 msgid "The package providing this file is:"
 msgstr "O pacote que fornece este ficheiro é o:"
 
 #. TRANSLATORS: as the user if we want to install a package to provide the command
-#: ../contrib/command-not-found/pk-command-not-found.c:729
+#: ../contrib/command-not-found/pk-command-not-found.c:765
 #, c-format
 msgid "Install package '%s' to provide command '%s'?"
 msgstr "Instalar pacote '%s' para disponibilizar comando '%s'?"
 
 #. TRANSLATORS: Show the user a list of packages that provide this command
-#: ../contrib/command-not-found/pk-command-not-found.c:747
+#: ../contrib/command-not-found/pk-command-not-found.c:789
 msgid "Packages providing this file are:"
 msgstr "Os pacotes que disponibilizam este ficheiro são:"
 
 #. 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:757
+#: ../contrib/command-not-found/pk-command-not-found.c:799
 msgid "Suitable packages are:"
 msgstr "Pacotes adequados são:"
 
 #. get selection
 #. TRANSLATORS: ask the user to choose a file to install
-#: ../contrib/command-not-found/pk-command-not-found.c:766
+#: ../contrib/command-not-found/pk-command-not-found.c:808
 msgid "Please choose a package to install"
 msgstr "Por favor, escolha um pacote para instalar"
 
@@ -759,183 +775,183 @@ msgid "Failed to find the package %s, or already installed: %s"
 msgstr "Não foi possível encontrar o pacote %s, ou já está instalado: %s"
 
 #. command line argument, simulate what would be done, but don't actually do it
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:514
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:515
 msgid "Don't actually install any packages, only simulate what would be installed"
 msgstr "Não instala realmente nenhum pacote, apenas simula o que seria instalado."
 
 #. command line argument, do we skip packages that depend on the ones specified
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:517
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:518
 msgid "Do not install dependencies of the core packages"
 msgstr "Não instala dependências dos pacotes principais."
 
 #. command line argument, do we operate quietly
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:520
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:521
 msgid "Do not display information or progress"
 msgstr "Não apresenta informação ou progresso"
 
 #. TRANSLATORS: tool that gets called when the command is not found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:535
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:539
 msgid "PackageKit Debuginfo Installer"
 msgstr "Instalador de Dados de Depuração do PackageKit"
 
 #. TRANSLATORS: the use needs to specify a list of package names on the command line
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:550
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:554
 #, c-format
 msgid "ERROR: Specify package names to install."
 msgstr "ERRO: Especifique nomes de pacotes para instalar."
 
 #. TRANSLATORS: we are getting the list of repositories
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:579
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:590
 #, c-format
 msgid "Getting sources list"
 msgstr "A obter a lista de fontes"
 
 #. TRANSLATORS: operation was not successful
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:589
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:664
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:748
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:792
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:859
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:903
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:600
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:675
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:759
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:803
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:870
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:914
 msgid "FAILED."
 msgstr "FALHOU."
 
 #. TRANSLATORS: all completed 100%
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:604
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:644
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:679
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:763
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:807
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:874
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:918
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:615
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:655
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:690
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:774
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:818
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:885
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:929
 #, c-format
 msgid "OK."
 msgstr "OK."
 
 #. TRANSLATORS: tell the user what we found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:607
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:618
 #, c-format
 msgid "Found %i enabled and %i disabled sources."
 msgstr "foram encontradas %i fontes activas e %i desactivadas."
 
 #. TRANSLATORS: we're finding repositories that match out pattern
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:614
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:625
 #, c-format
 msgid "Finding debugging sources"
 msgstr "A procurar fontes de depuração"
 
 #. TRANSLATORS: tell the user what we found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:647
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:658
 #, c-format
 msgid "Found %i disabled debuginfo repos."
 msgstr "Foram encontrados %i repositórios desactivados de dados de depuração."
 
 #. TRANSLATORS: we're now enabling all the debug sources we found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:654
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:665
 #, c-format
 msgid "Enabling debugging sources"
 msgstr "A activar fontes de depuração"
 
 #. TRANSLATORS: tell the user how many we enabled
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:682
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:693
 #, c-format
 msgid "Enabled %i debugging sources."
 msgstr "Activadas %i fontes de depuração."
 
 #. TRANSLATORS: we're now finding packages that match in all the repos
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:689
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:700
 #, c-format
 msgid "Finding debugging packages"
 msgstr "A procurar pacotes de depuração"
 
 #. TRANSLATORS: we couldn't find the package name, non-fatal
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:701
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:712
 #, c-format
 msgid "Failed to find the package %s: %s"
 msgstr "Não foi possível encontrar o pacote %s: %s"
 
 #. TRANSLATORS: we couldn't find the debuginfo package name, non-fatal
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:724
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:735
 #, c-format
 msgid "Failed to find the debuginfo package %s: %s"
 msgstr "Não foi possível encontrar o pacote de dados de depuração %s: %s"
 
 #. TRANSLATORS: no debuginfo packages could be found to be installed
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:752
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:763
 #, c-format
 msgid "Found no packages to install."
 msgstr "Não foram encontrados pacotes para instalar."
 
 #. TRANSLATORS: tell the user we found some packages, and then list them
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:766
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:777
 #, c-format
 msgid "Found %i packages:"
 msgstr "Encontrados %i pacotes:"
 
 #. TRANSLATORS: tell the user we are searching for deps
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:782
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:793
 #, c-format
 msgid "Finding packages that depend on these packages"
 msgstr "Procura pacotes que dependem destes pacotes"
 
 #. TRANSLATORS: could not install, detailed error follows
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:795
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:806
 #, c-format
 msgid "Could not find dependant packages: %s"
 msgstr "Não foi possível encontrar pacotes de dependências: %s"
 
 #. TRANSLATORS: tell the user we found some more packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:811
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:822
 #, c-format
 msgid "Found %i extra packages."
 msgstr "Encontrados %i pacotes extra."
 
 #. TRANSLATORS: tell the user we found some more packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:815
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:826
 #, c-format
 msgid "No extra packages required."
 msgstr "Não são necessários pacotes extra."
 
 #. TRANSLATORS: tell the user we found some packages (and deps), and then list them
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:824
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:835
 #, c-format
 msgid "Found %i packages to install:"
 msgstr "Encontrados %i pacotes para instalar:"
 
 #. TRANSLATORS: simulate mode is a testing mode where we quit before the action
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:837
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:848
 #, c-format
 msgid "Not installing packages in simulate mode"
 msgstr "No modo de simulação não se instalam pacotes"
 
 #. TRANSLATORS: we are now installing the debuginfo packages we found earlier
 #. TRANSLATORS: transaction state, installing packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:849
-#: ../lib/packagekit-glib2/pk-console-shared.c:270
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:860
+#: ../lib/packagekit-glib2/pk-console-shared.c:274
 #, c-format
 msgid "Installing packages"
 msgstr "A instalar pacotes"
 
 #. TRANSLATORS: could not install, detailed error follows
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:862
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:873
 #, c-format
 msgid "Could not install packages: %s"
 msgstr "Não foi possível instalar pacotes: %s"
 
 #. TRANSLATORS: we are now disabling all debuginfo repos we previously enabled
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:894
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:905
 #, c-format
 msgid "Disabling sources previously enabled"
 msgstr "A desactivar fontes previamente activas"
 
 #. TRANSLATORS: no debuginfo packages could be found to be installed, detailed error follows
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:906
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:917
 #, c-format
 msgid "Could not disable the debugging sources: %s"
 msgstr "Não foi possível desactivar as fontes de dados de depuração: %s"
 
 #. TRANSLATORS: we disabled all the debugging repos that we enabled before
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:921
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:932
 #, c-format
 msgid "Disabled %i debugging sources."
 msgstr "Desactivadas %i fontes de depuração."
@@ -1038,604 +1054,604 @@ msgstr "Lista de Pacotes do PackageKit"
 msgid "PackageKit Service Pack"
 msgstr "PackageKit Service Pack"
 
-#: ../lib/packagekit-glib2/pk-console-shared.c:55
+#: ../lib/packagekit-glib2/pk-console-shared.c:59
 #, c-format
 msgid "Please enter a number from 1 to %i: "
 msgstr "Por favor insira um número de 1 a %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:177
+#: ../lib/packagekit-glib2/pk-console-shared.c:181
 msgid "More than one package matches:"
 msgstr "Mais do que um pacote corresponde:"
 
 #. TRANSLATORS: This finds out which package in the list to use
-#: ../lib/packagekit-glib2/pk-console-shared.c:186
+#: ../lib/packagekit-glib2/pk-console-shared.c:190
 msgid "Please choose the correct package: "
 msgstr "Por favor, escolha o pacote correcto:"
 
 #. TRANSLATORS: This is when the transaction status is not known
-#: ../lib/packagekit-glib2/pk-console-shared.c:238
+#: ../lib/packagekit-glib2/pk-console-shared.c:242
 msgid "Unknown state"
 msgstr "Estado desconhecido"
 
 #. TRANSLATORS: transaction state, the daemon is in the process of starting
-#: ../lib/packagekit-glib2/pk-console-shared.c:242
+#: ../lib/packagekit-glib2/pk-console-shared.c:246
 msgid "Starting"
 msgstr "A iniciar"
 
 #. TRANSLATORS: transaction state, the transaction is waiting for another to complete
-#: ../lib/packagekit-glib2/pk-console-shared.c:246
+#: ../lib/packagekit-glib2/pk-console-shared.c:250
 msgid "Waiting in queue"
 msgstr "A aguardar na fila"
 
 #. TRANSLATORS: transaction state, just started
-#: ../lib/packagekit-glib2/pk-console-shared.c:250
+#: ../lib/packagekit-glib2/pk-console-shared.c:254
 msgid "Running"
 msgstr "A executar"
 
 #. TRANSLATORS: transaction state, is querying data
-#: ../lib/packagekit-glib2/pk-console-shared.c:254
+#: ../lib/packagekit-glib2/pk-console-shared.c:258
 msgid "Querying"
 msgstr "A consultar"
 
 #. TRANSLATORS: transaction state, getting data from a server
-#: ../lib/packagekit-glib2/pk-console-shared.c:258
+#: ../lib/packagekit-glib2/pk-console-shared.c:262
 msgid "Getting information"
 msgstr "A obter informação"
 
 #. TRANSLATORS: transaction state, removing packages
-#: ../lib/packagekit-glib2/pk-console-shared.c:262
+#: ../lib/packagekit-glib2/pk-console-shared.c:266
 msgid "Removing packages"
 msgstr "A remover pacotes"
 
 #. TRANSLATORS: transaction state, downloading package files
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:266
-#: ../lib/packagekit-glib2/pk-console-shared.c:644
+#: ../lib/packagekit-glib2/pk-console-shared.c:270
+#: ../lib/packagekit-glib2/pk-console-shared.c:648
 msgid "Downloading packages"
 msgstr "A transferir pacotes"
 
 #. TRANSLATORS: transaction state, refreshing internal lists
-#: ../lib/packagekit-glib2/pk-console-shared.c:274
+#: ../lib/packagekit-glib2/pk-console-shared.c:278
 msgid "Refreshing software list"
 msgstr "A actualizar a lista de software"
 
 #. TRANSLATORS: transaction state, installing updates
-#: ../lib/packagekit-glib2/pk-console-shared.c:278
+#: ../lib/packagekit-glib2/pk-console-shared.c:282
 msgid "Installing updates"
 msgstr "A instalar actualizações"
 
 #. TRANSLATORS: transaction state, removing old packages, and cleaning config files
-#: ../lib/packagekit-glib2/pk-console-shared.c:282
+#: ../lib/packagekit-glib2/pk-console-shared.c:286
 msgid "Cleaning up packages"
 msgstr "A limpar pacotes"
 
 #. TRANSLATORS: transaction state, obsoleting old packages
-#: ../lib/packagekit-glib2/pk-console-shared.c:286
+#: ../lib/packagekit-glib2/pk-console-shared.c:290
 msgid "Obsoleting packages"
 msgstr "A tornar pacotes obsoletos"
 
 #. TRANSLATORS: transaction state, checking the transaction before we do it
-#: ../lib/packagekit-glib2/pk-console-shared.c:290
+#: ../lib/packagekit-glib2/pk-console-shared.c:294
 msgid "Resolving dependencies"
 msgstr "A resolver dependências"
 
 #. TRANSLATORS: transaction state, checking if we have all the security keys for the operation
-#: ../lib/packagekit-glib2/pk-console-shared.c:294
+#: ../lib/packagekit-glib2/pk-console-shared.c:298
 msgid "Checking signatures"
 msgstr "A verificar assinaturas"
 
 #. 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:298
-#: ../lib/packagekit-glib2/pk-console-shared.c:604
+#: ../lib/packagekit-glib2/pk-console-shared.c:302
+#: ../lib/packagekit-glib2/pk-console-shared.c:608
 msgid "Rolling back"
 msgstr "A reverter"
 
 #. TRANSLATORS: transaction state, when we're doing a test transaction
-#: ../lib/packagekit-glib2/pk-console-shared.c:302
+#: ../lib/packagekit-glib2/pk-console-shared.c:306
 msgid "Testing changes"
 msgstr "A testar alterações"
 
 #. TRANSLATORS: transaction state, when we're writing to the system package database
-#: ../lib/packagekit-glib2/pk-console-shared.c:306
+#: ../lib/packagekit-glib2/pk-console-shared.c:310
 msgid "Committing changes"
 msgstr "A aplicar alterações"
 
 #. TRANSLATORS: transaction state, requesting data from a server
-#: ../lib/packagekit-glib2/pk-console-shared.c:310
+#: ../lib/packagekit-glib2/pk-console-shared.c:314
 msgid "Requesting data"
 msgstr "A pedir dados"
 
 #. TRANSLATORS: transaction state, all done!
-#: ../lib/packagekit-glib2/pk-console-shared.c:314
+#: ../lib/packagekit-glib2/pk-console-shared.c:318
 msgid "Finished"
 msgstr "Terminado"
 
 #. TRANSLATORS: transaction state, in the process of cancelling
-#: ../lib/packagekit-glib2/pk-console-shared.c:318
+#: ../lib/packagekit-glib2/pk-console-shared.c:322
 msgid "Cancelling"
 msgstr "A cancelar"
 
 #. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:322
+#: ../lib/packagekit-glib2/pk-console-shared.c:326
 msgid "Downloading repository information"
 msgstr "A transferir informação dos repositórios"
 
 #. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:326
+#: ../lib/packagekit-glib2/pk-console-shared.c:330
 msgid "Downloading list of packages"
 msgstr "A transferir lista de pacotes"
 
 #. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:330
+#: ../lib/packagekit-glib2/pk-console-shared.c:334
 msgid "Downloading file lists"
 msgstr "A transferir listas de ficheiros"
 
 #. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:334
+#: ../lib/packagekit-glib2/pk-console-shared.c:338
 msgid "Downloading lists of changes"
 msgstr "A transferir listas de alterações"
 
 #. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:338
+#: ../lib/packagekit-glib2/pk-console-shared.c:342
 msgid "Downloading groups"
 msgstr "A transferir grupos"
 
 #. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:342
+#: ../lib/packagekit-glib2/pk-console-shared.c:346
 msgid "Downloading update information"
 msgstr "A transferir informações de actualizações"
 
 #. TRANSLATORS: transaction state, repackaging delta files
-#: ../lib/packagekit-glib2/pk-console-shared.c:346
+#: ../lib/packagekit-glib2/pk-console-shared.c:350
 msgid "Repackaging files"
 msgstr "A empacotar ficheiros novamente"
 
 #. TRANSLATORS: transaction state, loading databases
-#: ../lib/packagekit-glib2/pk-console-shared.c:350
+#: ../lib/packagekit-glib2/pk-console-shared.c:354
 msgid "Loading cache"
 msgstr "A carregar cache"
 
 #. TRANSLATORS: transaction state, scanning for running processes
-#: ../lib/packagekit-glib2/pk-console-shared.c:354
+#: ../lib/packagekit-glib2/pk-console-shared.c:358
 msgid "Scanning applications"
 msgstr "A analisar aplicações"
 
 #. TRANSLATORS: transaction state, generating a list of packages installed on the system
-#: ../lib/packagekit-glib2/pk-console-shared.c:358
+#: ../lib/packagekit-glib2/pk-console-shared.c:362
 msgid "Generating package lists"
 msgstr "A gerar lista de pacotes"
 
 #. TRANSLATORS: transaction state, when we're waiting for the native tools to exit
-#: ../lib/packagekit-glib2/pk-console-shared.c:362
+#: ../lib/packagekit-glib2/pk-console-shared.c:366
 msgid "Waiting for package manager lock"
 msgstr "A esperar pelo bloqueio do gestor de pacotes"
 
 #. TRANSLATORS: transaction state, waiting for user to type in a password
-#: ../lib/packagekit-glib2/pk-console-shared.c:366
+#: ../lib/packagekit-glib2/pk-console-shared.c:370
 msgid "Waiting for authentication"
 msgstr "À espera de autenticação"
 
 #. TRANSLATORS: transaction state, we are updating the list of processes
-#: ../lib/packagekit-glib2/pk-console-shared.c:370
+#: ../lib/packagekit-glib2/pk-console-shared.c:374
 msgid "Updating running applications"
 msgstr "A actualizar aplicações em execução"
 
 #. TRANSLATORS: transaction state, we are checking executable files currently in use
-#: ../lib/packagekit-glib2/pk-console-shared.c:374
+#: ../lib/packagekit-glib2/pk-console-shared.c:378
 msgid "Checking applications in use"
 msgstr "A verificar aplicações em uso"
 
 #. TRANSLATORS: transaction state, we are checking for libraries currently in use
-#: ../lib/packagekit-glib2/pk-console-shared.c:378
+#: ../lib/packagekit-glib2/pk-console-shared.c:382
 msgid "Checking libraries in use"
 msgstr "A verificar bibliotecas em uso"
 
 #. TRANSLATORS: transaction state, we are copying package files before or after the transaction
-#: ../lib/packagekit-glib2/pk-console-shared.c:382
+#: ../lib/packagekit-glib2/pk-console-shared.c:386
 msgid "Copying files"
 msgstr "A copiar ficheiros"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:400
+#: ../lib/packagekit-glib2/pk-console-shared.c:404
 msgid "Trivial"
 msgstr "Trivial"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:404
+#: ../lib/packagekit-glib2/pk-console-shared.c:408
 msgid "Normal"
 msgstr "Normal"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:408
+#: ../lib/packagekit-glib2/pk-console-shared.c:412
 msgid "Important"
 msgstr "Importante"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:412
+#: ../lib/packagekit-glib2/pk-console-shared.c:416
 msgid "Security"
 msgstr "Segurança"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:416
+#: ../lib/packagekit-glib2/pk-console-shared.c:420
 msgid "Bug fix "
 msgstr "Correcção de erro"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:420
+#: ../lib/packagekit-glib2/pk-console-shared.c:424
 msgid "Enhancement"
 msgstr "Melhoramentos"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:424
+#: ../lib/packagekit-glib2/pk-console-shared.c:428
 msgid "Blocked"
 msgstr "Bloqueado"
 
 #. TRANSLATORS: The state of a package
 #. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:429
-#: ../lib/packagekit-glib2/pk-console-shared.c:502
+#: ../lib/packagekit-glib2/pk-console-shared.c:433
+#: ../lib/packagekit-glib2/pk-console-shared.c:506
 msgid "Installed"
 msgstr "Instalado"
 
 #. TRANSLATORS: The state of a package, i.e. not installed
-#: ../lib/packagekit-glib2/pk-console-shared.c:434
+#: ../lib/packagekit-glib2/pk-console-shared.c:438
 msgid "Available"
 msgstr "Disponível"
 
 #. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:452
+#: ../lib/packagekit-glib2/pk-console-shared.c:456
 msgid "Downloading"
 msgstr "A transferir"
 
 #. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:456
+#: ../lib/packagekit-glib2/pk-console-shared.c:460
 msgid "Updating"
 msgstr "A actualizar"
 
 #. 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:460
-#: ../lib/packagekit-glib2/pk-console-shared.c:580
+#: ../lib/packagekit-glib2/pk-console-shared.c:464
+#: ../lib/packagekit-glib2/pk-console-shared.c:584
 msgid "Installing"
 msgstr "A instalar"
 
 #. 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:464
-#: ../lib/packagekit-glib2/pk-console-shared.c:576
+#: ../lib/packagekit-glib2/pk-console-shared.c:468
+#: ../lib/packagekit-glib2/pk-console-shared.c:580
 msgid "Removing"
 msgstr "A remover"
 
 #. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:468
+#: ../lib/packagekit-glib2/pk-console-shared.c:472
 msgid "Cleaning up"
 msgstr "A limpar"
 
 #. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:472
+#: ../lib/packagekit-glib2/pk-console-shared.c:476
 msgid "Obsoleting"
 msgstr "A torna obsoleto"
 
 #. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:476
+#: ../lib/packagekit-glib2/pk-console-shared.c:480
 msgid "Reinstalling"
 msgstr "A reinstalar"
 
 #. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:494
+#: ../lib/packagekit-glib2/pk-console-shared.c:498
 msgid "Downloaded"
 msgstr "Transferido"
 
 #. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:506
+#: ../lib/packagekit-glib2/pk-console-shared.c:510
 msgid "Removed"
 msgstr "Removido"
 
 #. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:510
+#: ../lib/packagekit-glib2/pk-console-shared.c:514
 msgid "Cleaned up"
 msgstr "Limpo"
 
 #. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:514
+#: ../lib/packagekit-glib2/pk-console-shared.c:518
 msgid "Obsoleted"
 msgstr "obsoleto"
 
 #. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:518
+#: ../lib/packagekit-glib2/pk-console-shared.c:522
 msgid "Reinstalled"
 msgstr "Reinstalado"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:536
+#: ../lib/packagekit-glib2/pk-console-shared.c:540
 msgid "Unknown role type"
 msgstr "Tipo de perfil desconhecido"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:540
+#: ../lib/packagekit-glib2/pk-console-shared.c:544
 msgid "Getting dependencies"
 msgstr "A obter dependências"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:544
+#: ../lib/packagekit-glib2/pk-console-shared.c:548
 msgid "Getting update details"
 msgstr "A obter detalhes da actualização"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:548
+#: ../lib/packagekit-glib2/pk-console-shared.c:552
 msgid "Getting details"
 msgstr "A obter detalhes"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:552
+#: ../lib/packagekit-glib2/pk-console-shared.c:556
 msgid "Getting requires"
 msgstr "A obter obrigatórios"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:556
+#: ../lib/packagekit-glib2/pk-console-shared.c:560
 msgid "Getting updates"
 msgstr "A obter actualizações"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:560
+#: ../lib/packagekit-glib2/pk-console-shared.c:564
 msgid "Searching by details"
 msgstr "A pesquisar por detalhes"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:564
+#: ../lib/packagekit-glib2/pk-console-shared.c:568
 msgid "Searching by file"
 msgstr "A pesquisar por ficheiro"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:568
+#: ../lib/packagekit-glib2/pk-console-shared.c:572
 msgid "Searching groups"
 msgstr "A pesquisar por grupos"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:572
+#: ../lib/packagekit-glib2/pk-console-shared.c:576
 msgid "Searching by name"
 msgstr "A pesquisar por nome"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:584
+#: ../lib/packagekit-glib2/pk-console-shared.c:588
 msgid "Installing files"
 msgstr "A instalar ficheiros"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:588
+#: ../lib/packagekit-glib2/pk-console-shared.c:592
 msgid "Refreshing cache"
 msgstr "A actualizar a cache"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:592
+#: ../lib/packagekit-glib2/pk-console-shared.c:596
 msgid "Updating packages"
 msgstr "A actualizar pacotes"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:596
+#: ../lib/packagekit-glib2/pk-console-shared.c:600
 msgid "Updating system"
 msgstr "A actualizar sistema"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:600
+#: ../lib/packagekit-glib2/pk-console-shared.c:604
 msgid "Canceling"
 msgstr "A cancelar"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:608
+#: ../lib/packagekit-glib2/pk-console-shared.c:612
 msgid "Getting repositories"
 msgstr "A obter repositórios"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:612
+#: ../lib/packagekit-glib2/pk-console-shared.c:616
 msgid "Enabling repository"
 msgstr "A activar repositórios"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:616
+#: ../lib/packagekit-glib2/pk-console-shared.c:620
 msgid "Setting data"
 msgstr "A definir dados"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:620
+#: ../lib/packagekit-glib2/pk-console-shared.c:624
 msgid "Resolving"
 msgstr "A resolver"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:624
+#: ../lib/packagekit-glib2/pk-console-shared.c:628
 msgid "Getting file list"
 msgstr "A obter a lista de ficheiros"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:628
+#: ../lib/packagekit-glib2/pk-console-shared.c:632
 msgid "Getting provides"
 msgstr "A obter a lista de disponibilizações"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:632
+#: ../lib/packagekit-glib2/pk-console-shared.c:636
 msgid "Installing signature"
 msgstr "A instalar assinatura"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:636
+#: ../lib/packagekit-glib2/pk-console-shared.c:640
 msgid "Getting packages"
 msgstr "A obter pacotes"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:640
+#: ../lib/packagekit-glib2/pk-console-shared.c:644
 msgid "Accepting EULA"
 msgstr "A aceitar EULA (Acordo de Licenciamento para Utilizadores Finais)"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:648
+#: ../lib/packagekit-glib2/pk-console-shared.c:652
 msgid "Getting upgrades"
 msgstr "A obter actualizações"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:652
+#: ../lib/packagekit-glib2/pk-console-shared.c:656
 msgid "Getting categories"
 msgstr "A obter categorias"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:656
+#: ../lib/packagekit-glib2/pk-console-shared.c:660
 msgid "Getting transactions"
 msgstr "A obter transacções"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:660
 #: ../lib/packagekit-glib2/pk-console-shared.c:664
+#: ../lib/packagekit-glib2/pk-console-shared.c:668
 msgid "Simulating install"
 msgstr "A simular instalação"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:668
+#: ../lib/packagekit-glib2/pk-console-shared.c:672
 msgid "Simulating remove"
 msgstr "A simular remoção"
 
 #. 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
 msgid "Simulating update"
 msgstr "A simular actualização"
 
 #. TRANSLATORS: ask the user if they are comfortable installing insecure packages
-#: ../lib/packagekit-glib2/pk-task-text.c:64
+#: ../lib/packagekit-glib2/pk-task-text.c:66
 msgid "Do you want to allow installing of unsigned software?"
 msgstr "Deseja permitir a instalação de software não assinado?"
 
 #. TRANSLATORS: tell the user we've not done anything
-#: ../lib/packagekit-glib2/pk-task-text.c:69
+#: ../lib/packagekit-glib2/pk-task-text.c:71
 msgid "The unsigned software will not be installed."
 msgstr "O software não assinado não será instalado."
 
 #. TRANSLATORS: the package repository is signed by a key that is not recognised
-#: ../lib/packagekit-glib2/pk-task-text.c:102
+#: ../lib/packagekit-glib2/pk-task-text.c:104
 msgid "Software source signature required"
 msgstr "A assinatura do repositório é necessária"
 
 #. TRANSLATORS: the package repository name
-#: ../lib/packagekit-glib2/pk-task-text.c:108
+#: ../lib/packagekit-glib2/pk-task-text.c:110
 msgid "Software source name"
 msgstr "O nome da origem do software"
 
 #. TRANSLATORS: the key URL
-#: ../lib/packagekit-glib2/pk-task-text.c:111
+#: ../lib/packagekit-glib2/pk-task-text.c:113
 msgid "Key URL"
 msgstr "URL Chave"
 
 #. TRANSLATORS: the username of the key
-#: ../lib/packagekit-glib2/pk-task-text.c:114
+#: ../lib/packagekit-glib2/pk-task-text.c:116
 msgid "Key user"
 msgstr "Utilizador Chave"
 
 #. TRANSLATORS: the key ID, usually a few hex digits
-#: ../lib/packagekit-glib2/pk-task-text.c:117
+#: ../lib/packagekit-glib2/pk-task-text.c:119
 msgid "Key ID"
 msgstr "ID da Chave"
 
 #. TRANSLATORS: the key fingerprint, again, yet more hex
-#: ../lib/packagekit-glib2/pk-task-text.c:120
+#: ../lib/packagekit-glib2/pk-task-text.c:122
 msgid "Key fingerprint"
 msgstr "Impressão Digital da Chave"
 
 #. TRANSLATORS: the timestamp (a bit like a machine readable time)
-#: ../lib/packagekit-glib2/pk-task-text.c:123
+#: ../lib/packagekit-glib2/pk-task-text.c:125
 msgid "Key Timestamp"
 msgstr "timestamp da Chave"
 
 #. TRANSLATORS: ask the user if they want to import
-#: ../lib/packagekit-glib2/pk-task-text.c:129
+#: ../lib/packagekit-glib2/pk-task-text.c:131
 msgid "Do you accept this signature?"
 msgstr "Aceita esta assinatura?"
 
 #. TRANSLATORS: tell the user we've not done anything
-#: ../lib/packagekit-glib2/pk-task-text.c:134
+#: ../lib/packagekit-glib2/pk-task-text.c:136
 msgid "The signature was not accepted."
 msgstr "A assinatura não foi aceite."
 
 #. TRANSLATORS: this is another name for a software licence that has to be read before installing
-#: ../lib/packagekit-glib2/pk-task-text.c:169
+#: ../lib/packagekit-glib2/pk-task-text.c:171
 msgid "End user licence agreement required"
 msgstr "O acordo de licenciamento com o utilizador final é necessário"
 
 #. TRANSLATORS: the EULA text itself (long and boring)
-#: ../lib/packagekit-glib2/pk-task-text.c:178
+#: ../lib/packagekit-glib2/pk-task-text.c:180
 msgid "Agreement"
 msgstr "Acordo"
 
 #. TRANSLATORS: ask the user if they've read and accepted the EULA
-#: ../lib/packagekit-glib2/pk-task-text.c:184
+#: ../lib/packagekit-glib2/pk-task-text.c:186
 msgid "Do you accept this agreement?"
 msgstr "Aceita este acordo?"
 
 #. TRANSLATORS: tell the user we've not done anything
-#: ../lib/packagekit-glib2/pk-task-text.c:189
+#: ../lib/packagekit-glib2/pk-task-text.c:191
 msgid "The agreement was not accepted."
 msgstr "O acordo não foi aceite."
 
 #. TRANSLATORS: the user needs to change media inserted into the computer
-#: ../lib/packagekit-glib2/pk-task-text.c:219
+#: ../lib/packagekit-glib2/pk-task-text.c:221
 msgid "Media change required"
 msgstr "É necessário mudar o suporte"
 
 #. TRANSLATORS: the type, e.g. DVD, CD, etc
-#: ../lib/packagekit-glib2/pk-task-text.c:222
+#: ../lib/packagekit-glib2/pk-task-text.c:224
 msgid "Media type"
 msgstr "Tipo de Suporte"
 
 #. TRANSLATORS: the media label, usually like 'disk-1of3'
-#: ../lib/packagekit-glib2/pk-task-text.c:225
+#: ../lib/packagekit-glib2/pk-task-text.c:227
 msgid "Media label"
 msgstr "Etiqueta do suporte"
 
 #. TRANSLATORS: the media description, usually like 'Fedora 12 disk 5'
-#: ../lib/packagekit-glib2/pk-task-text.c:228
+#: ../lib/packagekit-glib2/pk-task-text.c:230
 msgid "Text"
 msgstr "Texto"
 
 #. TRANSLATORS: ask the user to insert the media
-#: ../lib/packagekit-glib2/pk-task-text.c:232
+#: ../lib/packagekit-glib2/pk-task-text.c:234
 msgid "Please insert the correct media"
 msgstr "Por favor, insira o suporte correcto"
 
 #. TRANSLATORS: tell the user we've not done anything as they are lazy
-#: ../lib/packagekit-glib2/pk-task-text.c:237
+#: ../lib/packagekit-glib2/pk-task-text.c:239
 msgid "The correct media was not inserted."
 msgstr "Não foi inserido o suporte correcto."
 
 #. TRANSLATORS: When processing, we might have to remove other dependencies
-#: ../lib/packagekit-glib2/pk-task-text.c:252
+#: ../lib/packagekit-glib2/pk-task-text.c:254
 msgid "The following packages have to be removed:"
 msgstr "Os seguintes pacotes precisam de ser removidos:"
 
 #. TRANSLATORS: When processing, we might have to install other dependencies
-#: ../lib/packagekit-glib2/pk-task-text.c:257
+#: ../lib/packagekit-glib2/pk-task-text.c:259
 msgid "The following packages have to be installed:"
 msgstr "Os seguintes pacotes precisam de ser instalados:"
 
 #. TRANSLATORS: When processing, we might have to update other dependencies
-#: ../lib/packagekit-glib2/pk-task-text.c:262
+#: ../lib/packagekit-glib2/pk-task-text.c:264
 msgid "The following packages have to be updated:"
 msgstr "Os seguintes pacotes precisam de ser actualizados:"
 
 #. TRANSLATORS: When processing, we might have to reinstall other dependencies
-#: ../lib/packagekit-glib2/pk-task-text.c:267
+#: ../lib/packagekit-glib2/pk-task-text.c:269
 msgid "The following packages have to be reinstalled:"
 msgstr "Os seguintes pacotes precisam de ser reinstalados:"
 
 #. TRANSLATORS: When processing, we might have to downgrade other dependencies
-#: ../lib/packagekit-glib2/pk-task-text.c:272
+#: ../lib/packagekit-glib2/pk-task-text.c:274
 msgid "The following packages have to be downgraded:"
 msgstr "Os seguintes pacotes precisam de ser desactualizados:"
 
 #. TRANSLATORS: ask the user if the proposed changes are okay
-#: ../lib/packagekit-glib2/pk-task-text.c:331
+#: ../lib/packagekit-glib2/pk-task-text.c:324
 msgid "Proceed with changes?"
 msgstr "Continuar com as alterações?"
 
 #. TRANSLATORS: tell the user we didn't do anything
-#: ../lib/packagekit-glib2/pk-task-text.c:336
+#: ../lib/packagekit-glib2/pk-task-text.c:329
 msgid "The transaction did not proceed."
 msgstr "A transacção não prosseguiu."
 
@@ -1911,8 +1927,6 @@ msgstr "Muitos pacotes"
 msgid "Only trusted"
 msgstr "Apenas de confiança"
 
-#~ msgid "Failed to launch:"
-#~ msgstr "Incapaz de iniciar:"
 #~ msgid "Transaction failed with no error"
 #~ msgstr "A transacção falhou sem erro"
 #~ msgid "Failed to get transaction list"
commit 584f310fcd3785ba4e71bf09db185410fc62afa7
Author: Sebastian Heinlein <devel at glatzor.de>
Date:   Thu Oct 29 10:12:46 2009 +0100

    Update feature matrix for APT backend

diff --git a/docs/html/pk-matrix.html b/docs/html/pk-matrix.html
index 1e6f5fa..e03a327 100644
--- a/docs/html/pk-matrix.html
+++ b/docs/html/pk-matrix.html
@@ -471,7 +471,7 @@
 </tr>
 <tr>
 <td><b>SimulateInstallFiles</b></td>
-<td><img src="img/status-bad.png" alt="[no]"/></td><!-- apt -->
+<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-bad.png" alt="[no]"/></td><!-- alpm -->
 <td><img src="img/status-bad.png" alt="[no]"/></td><!-- box -->
@@ -489,7 +489,7 @@
 </tr>
 <tr>
 <td><b>SimulateInstallPackages</b></td>
-<td><img src="img/status-bad.png" alt="[no]"/></td><!-- apt -->
+<td><img src="img/status-good.png" alt="[yes]"/></td><!-- apt -->
 <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 -->
@@ -507,7 +507,7 @@
 </tr>
 <tr>
 <td><b>SimulateRemovePackages</b></td>
-<td><img src="img/status-bad.png" alt="[no]"/></td><!-- apt -->
+<td><img src="img/status-good.png" alt="[yes]"/></td><!-- apt -->
 <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 -->
@@ -525,7 +525,7 @@
 </tr>
 <tr>
 <td><b>SimulateUpdatePackages</b></td>
-<td><img src="img/status-bad.png" alt="[no]"/></td><!-- apt -->
+<td><img src="img/status-good.png" alt="[yes]"/></td><!-- apt -->
 <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 -->
commit fe632124ae5ea1a54700d7adc91f9b014fabe650
Author: Sebastian Heinlein <devel at glatzor.de>
Date:   Thu Oct 29 10:11:25 2009 +0100

    APT: Add support for SimulateInstallFiles

diff --git a/backends/apt/aptBackend.py b/backends/apt/aptBackend.py
index 6985479..fadef25 100755
--- a/backends/apt/aptBackend.py
+++ b/backends/apt/aptBackend.py
@@ -1365,6 +1365,23 @@ class PackageKitAptBackend(PackageKitBaseBackend):
             return
         self.percentage(100)
 
+    def simulate_install_files(self, inst_files):
+        """Emit the change required for the installation of the given package
+        files.
+        """
+        pklog.info("Simulating installation of the package files: "
+                   "%s" % inst_files)
+        self.status(STATUS_DEP_RESOLVE)
+        self.allow_cancel(True)
+        self.percentage(None)
+        self._check_init(progress=False)
+        for path in inst_files:
+            deb = apt.debfile.DebPackage(path, self._cache)
+            if not deb.check():
+                self.error(ERROR_UNKNOWN, deb._failureString)
+                return
+        self._emit_changes()
+
     @lock_cache
     def refresh_cache(self, force):
         """
diff --git a/backends/apt/pk-backend-apt.c b/backends/apt/pk-backend-apt.c
index 9f8cddc..1370c78 100644
--- a/backends/apt/pk-backend-apt.c
+++ b/backends/apt/pk-backend-apt.c
@@ -205,6 +205,20 @@ backend_get_update_detail (PkBackend *backend, gchar **package_ids)
 	g_free (package_ids_temp);
 }
 
+ /**
+ * backend_simulate_install_files:
+ */
+static void
+backend_simulate_install_files (PkBackend *backend, gchar **full_paths)
+{
+	gchar *package_ids_temp;
+
+	/* send the complete list as stdin */
+	package_ids_temp = g_strjoinv (PK_BACKEND_SPAWN_FILENAME_DELIM, full_paths);
+	pk_backend_spawn_helper (spawn, "aptBackend.py", "install-files", package_ids_temp, NULL);
+	g_free (package_ids_temp);
+}
+
 /**
  * backend_simulate_install_packages:
  */
@@ -560,7 +574,7 @@ PK_BACKEND_OPTIONS (
 	backend_update_packages,		/* update_packages */
 	backend_update_system,			/* 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 */
commit 7b93c44efc00af8aeef62a88a8c139cf2b4064d3
Author: Sebastian Heinlein <devel at glatzor.de>
Date:   Thu Oct 29 09:45:36 2009 +0100

    APT: Add support for Simulate(Install|Remove|Update)

diff --git a/backends/apt/aptBackend.py b/backends/apt/aptBackend.py
index d2f057f..6985479 100755
--- a/backends/apt/aptBackend.py
+++ b/backends/apt/aptBackend.py
@@ -899,6 +899,16 @@ class PackageKitAptBackend(PackageKitBaseBackend):
                 return
         self.percentage(100)
 
+    def simulate_remove_packages(self, ids):
+        """Emit the change required for the removal of the given packages."""
+        pklog.info("Simulating removal of package with id %s" % ids)
+        self.status(STATUS_DEP_RESOLVE)
+        self.allow_cancel(True)
+        self.percentage(None)
+        self._check_init(progress=False)
+        pkgs = self._mark_for_removal(ids)
+        self._emit_changes()
+
     def _mark_for_removal(self, ids):
         """Resolve the given package ids and mark the packages for removal."""
         pkgs = []
@@ -1126,6 +1136,16 @@ class PackageKitAptBackend(PackageKitBaseBackend):
                 return
         pklog.debug("Sending success signal")
 
+    def simulate_update_packages(self, ids):
+        """Emit the changes required for the upgrade of the given packages."""
+        pklog.info("Simulating update of package with id %s" % ids)
+        self.status(STATUS_DEP_RESOLVE)
+        self.allow_cancel(True)
+        self.percentage(None)
+        self._check_init(progress=False)
+        pkgs = self._mark_for_update(ids)
+        self._emit_changes()
+
     def _mark_for_upgrade(self, ids):
         """Resolve the given package ids and mark the packages for upgrade."""
         pkgs = []
@@ -1239,6 +1259,18 @@ class PackageKitAptBackend(PackageKitBaseBackend):
                 self.error(ERROR_UNKNOWN, "%s was not installed" % p)
                 return
 
+    def simulate_install_packages(self, ids):
+        """Emit the changes required for the installation of the given
+        packages.
+        """
+        pklog.info("Simulating installing package with id %s" % ids)
+        self.status(STATUS_DEP_RESOLVE)
+        self.allow_cancel(True)
+        self.percentage(None)
+        self._check_init(progress=False)
+        pkgs = self._mark_for_installation(ids)
+        self._emit_changes()
+
     def _mark_for_installation(self, ids):
         """Resolve the given package ids and mark the packages for
         installation.
@@ -1794,6 +1826,20 @@ class PackageKitAptBackend(PackageKitBaseBackend):
                self._is_package_visible(self._cache[name], filters):
                 self._emit_package(self._cache[name], info)
 
+    def _emit_changes(self):
+        """Emit all changed packages."""
+        for pkg in self._cache:
+            if pkg.markedDelete:
+                self._emit_package(pkg, INFO_REMOVING, False)
+            elif pkg.markedInstall:
+                self._emit_package(pkg, INFO_INSTALLING, True)
+            elif pkg.markedUpgrade:
+                self._emit_package(pkg, INFO_UPDATING, True)
+            elif pkg.markedDowngrade:
+                self._emit_package(pkg, INFO_DOWNGRADING, True)
+            elif pkg.markedReinstall:
+                self._emit_package(pkg, INFO_REINSTALLING, True)
+
     def _is_package_visible(self, pkg, filters):
         """
         Return True if the package should be shown in the user interface
diff --git a/backends/apt/pk-backend-apt.c b/backends/apt/pk-backend-apt.c
index 87cd58f..9f8cddc 100644
--- a/backends/apt/pk-backend-apt.c
+++ b/backends/apt/pk-backend-apt.c
@@ -206,6 +206,48 @@ backend_get_update_detail (PkBackend *backend, gchar **package_ids)
 }
 
 /**
+ * backend_simulate_install_packages:
+ */
+static void
+backend_simulate_install_packages (PkBackend *backend, gchar **package_ids)
+{
+	gchar *package_ids_temp;
+
+	/* send the complete list as stdin */
+	package_ids_temp = pk_package_ids_to_text (package_ids);
+	pk_backend_spawn_helper (spawn, "aptBackend.py", "simulate-install-packages", package_ids_temp, NULL);
+	g_free (package_ids_temp);
+}
+
+/**
+ * backend_simulate_remove_packages:
+ */
+static void
+backend_simulate_remove_packages (PkBackend *backend, gchar **package_ids)
+{
+	gchar *package_ids_temp;
+
+	/* send the complete list as stdin */
+	package_ids_temp = pk_package_ids_to_text (package_ids);
+	pk_backend_spawn_helper (spawn, "aptBackend.py", "simulate-remove-packages", package_ids_temp, NULL);
+	g_free (package_ids_temp);
+}
+
+/**
+ * backend_simulate_update_packages:
+ */
+static void
+backend_simulate_update_packages (PkBackend *backend, gchar **package_ids)
+{
+	gchar *package_ids_temp;
+
+	/* send the complete list as stdin */
+	package_ids_temp = pk_package_ids_to_text (package_ids);
+	pk_backend_spawn_helper (spawn, "aptBackend.py", "simulate-update-packages", package_ids_temp, NULL);
+	g_free (package_ids_temp);
+}
+
+/**
  * backend_install_packages:
  */
 static void
@@ -519,9 +561,9 @@ PK_BACKEND_OPTIONS (
 	backend_update_system,			/* update_system */
 	backend_what_provides,			/* what_provides */
 	NULL,					/* simulate_install_files */
-	NULL,					/* simulate_install_packages */
-	NULL,					/* simulate_remove_packages */
-	NULL					/* simulate_update_packages */
+	backend_simulate_install_packages,	/* simulate_install_packages */
+	backend_simulate_remove_packages,	/* simulate_remove_packages */
+	backend_simulate_update_packages	/* simulate_update_packages */
 );
 
 
commit 03620e4b77f2194bb2a8f742af7eaecca88ce851
Author: Sebastian Heinlein <devel at glatzor.de>
Date:   Thu Oct 29 09:00:48 2009 +0100

    APT: Move the dependency resolution for install, remove and update to a
    separate method for easier reuse in Simulate*

diff --git a/backends/apt/aptBackend.py b/backends/apt/aptBackend.py
index 575a5ff..d2f057f 100755
--- a/backends/apt/aptBackend.py
+++ b/backends/apt/aptBackend.py
@@ -872,7 +872,36 @@ class PackageKitAptBackend(PackageKitBaseBackend):
         self.allow_cancel(False)
         self.percentage(0)
         self._check_init(prange=(0,10))
-        pkgs=[]
+        pkgs = self._mark_for_removal(ids)
+        # Error out if the installation would the installation or upgrade of
+        # other packages
+        if self._cache._depcache.InstCount:
+            installed = [pkg.name for pkg in self._cache.getChanges() if \
+                         pkg.markedInstall or pkg.markedUpgrade]
+            self.error(ERROR_DEP_RESOLUTION_FAILED,
+                       "The following packages would have to upgraded or "
+                       "installed and so block the removal: "
+                       "%s" % " ".join(installed))
+            return
+        # Check if the removal would remove further packages
+        if not allow_deps and self._cache.delete_count != len(ids):
+            dependencies = [pkg.name for pkg in self._cache.getChanges() \
+                            if pkg.name not in pkgs]
+            self.error(ERROR_DEP_RESOLUTION_FAILED,
+                       "The following packages would have also to be removed: "
+                       "%s" % " ".join(dependencies))
+        #FIXME: Should support only_trusted
+        self._commit_changes(fetch_range=(10,10), install_range=(10,90))
+        self._open_cache(prange=(90,99))
+        for p in pkgs:
+            if self._cache.has_key(p) and self._cache[p].isInstalled:
+                self.error(ERROR_UNKNOWN, "%s is still installed" % p)
+                return
+        self.percentage(100)
+
+    def _mark_for_removal(self, ids):
+        """Resolve the given package ids and mark the packages for removal."""
+        pkgs = []
         action_group = apt_pkg.GetPkgActionGroup(self._cache._depcache)
         resolver = apt_pkg.GetPkgProblemResolver(self._cache._depcache)
         for id in ids:
@@ -904,31 +933,7 @@ class PackageKitAptBackend(PackageKitBaseBackend):
                        "removal: %s" % " ".join(broken))
             return
         action_group.release()
-        # Error out if the installation would the installation or upgrade of
-        # other packages
-        if self._cache._depcache.InstCount:
-            installed = [pkg.name for pkg in self._cache.getChanges() if \
-                         pkg.markedInstall or pkg.markedUpgrade]
-            self.error(ERROR_DEP_RESOLUTION_FAILED,
-                       "The following packages would have to upgraded or "
-                       "installed and so block the removal: "
-                       "%s" % " ".join(installed))
-            return
-        # Check if the removal would remove further packages
-        if not allow_deps and self._cache.delete_count != len(ids):
-            dependencies = [pkg.name for pkg in self._cache.getChanges() \
-                            if pkg.name not in pkgs]
-            self.error(ERROR_DEP_RESOLUTION_FAILED,
-                       "The following packages would have also to be removed: "
-                       "%s" % " ".join(dependencies))
-        #FIXME: Should support only_trusted
-        self._commit_changes(fetch_range=(10,10), install_range=(10,90))
-        self._open_cache(prange=(90,99))
-        for p in pkgs:
-            if self._cache.has_key(p) and self._cache[p].isInstalled:
-                self.error(ERROR_UNKNOWN, "%s is still installed" % p)
-                return
-        self.percentage(100)
+        return pkgs
 
     def get_repo_list(self, filters):
         """
@@ -1099,7 +1104,31 @@ class PackageKitAptBackend(PackageKitBaseBackend):
         self.allow_cancel(False)
         self.percentage(0)
         self._check_init(prange=(0,10))
-        pkgs=[]
+        pkgs = self._mark_for_upgrade(ids)
+        # Error out if the updates would require the removal of already
+        # installed packages
+        if self._cache._depcache.DelCount:
+            deleted = [pkg.name for pkg in self._cache.getChanges() if \
+                       pkg.markedDelete]
+            self.error(ERROR_DEP_RESOLUTION_FAILED,
+                       "The following packages block the update: "
+                       "%s" % " ".join(deleted))
+            return
+        self._check_trusted(only_trusted)
+        self._commit_changes()
+        self._open_cache(prange=(90,100))
+        self.percentage(100)
+        pklog.debug("Checking success of operation")
+        for p in pkgs:
+            if not self._cache.has_key(p) or not self._cache[p].isInstalled \
+               or self._cache[p].isUpgradable:
+                self.error(ERROR_UNKNOWN, "%s was not updated" % p)
+                return
+        pklog.debug("Sending success signal")
+
+    def _mark_for_upgrade(self, ids):
+        """Resolve the given package ids and mark the packages for upgrade."""
+        pkgs = []
         ac = apt_pkg.GetPkgActionGroup(self._cache._depcache)
         resolver = apt_pkg.GetPkgProblemResolver(self._cache._depcache)
         for id in ids:
@@ -1128,26 +1157,7 @@ class PackageKitAptBackend(PackageKitBaseBackend):
                        "%s" % " ".join(broken))
             return
         ac.release()
-        # Error out if the updates would require the removal of already
-        # installed packages
-        if self._cache._depcache.DelCount:
-            deleted = [pkg.name for pkg in self._cache.getChanges() if \
-                       pkg.markedDelete]
-            self.error(ERROR_DEP_RESOLUTION_FAILED,
-                       "The following packages block the update: "
-                       "%s" % " ".join(deleted))
-            return
-        self._check_trusted(only_trusted)
-        self._commit_changes()
-        self._open_cache(prange=(90,100))
-        self.percentage(100)
-        pklog.debug("Checking success of operation")
-        for p in pkgs:
-            if not self._cache.has_key(p) or not self._cache[p].isInstalled \
-               or self._cache[p].isUpgradable:
-                self.error(ERROR_UNKNOWN, "%s was not updated" % p)
-                return
-        pklog.debug("Sending success signal")
+        return pkgs
 
     def download_packages(self, dest, ids):
         """
@@ -1209,7 +1219,31 @@ class PackageKitAptBackend(PackageKitBaseBackend):
         self.allow_cancel(False)
         self.percentage(0)
         self._check_init(prange=(0,10))
-        pkgs=[]
+        pkgs = self._mark_for_installation(ids)
+        # Error out if the installation would require the removal of already
+        # installed packages
+        if self._cache._depcache.DelCount:
+            deleted = [pkg.name for pkg in self._cache.getChanges() if \
+                       pkg.markedDelete]
+            self.error(ERROR_DEP_RESOLUTION_FAILED,
+                       "The following packages block the update: "
+                       "%s" % " ".join(deleted))
+            return
+        self._check_trusted(only_trusted)
+        self._commit_changes()
+        self._open_cache(prange=(90,100))
+        self.percentage(100)
+        pklog.debug("Checking success of operation")
+        for p in pkgs:
+            if not self._cache.has_key(p) or not self._cache[p].isInstalled:
+                self.error(ERROR_UNKNOWN, "%s was not installed" % p)
+                return
+
+    def _mark_for_installation(self, ids):
+        """Resolve the given package ids and mark the packages for
+        installation.
+        """
+        pkgs = []
         ac = apt_pkg.GetPkgActionGroup(self._cache._depcache)
         resolver = apt_pkg.GetPkgProblemResolver(self._cache._depcache)
         for id in ids:
@@ -1236,24 +1270,7 @@ class PackageKitAptBackend(PackageKitBaseBackend):
                        "%s" % " ".join(broken))
             return
         ac.release()
-        # Error out if the installation would require the removal of already
-        # installed packages
-        if self._cache._depcache.DelCount:
-            deleted = [pkg.name for pkg in self._cache.getChanges() if \
-                       pkg.markedDelete]
-            self.error(ERROR_DEP_RESOLUTION_FAILED,
-                       "The following packages block the update: "
-                       "%s" % " ".join(deleted))
-            return
-        self._check_trusted(only_trusted)
-        self._commit_changes()
-        self._open_cache(prange=(90,100))
-        self.percentage(100)
-        pklog.debug("Checking success of operation")
-        for p in pkgs:
-            if not self._cache.has_key(p) or not self._cache[p].isInstalled:
-                self.error(ERROR_UNKNOWN, "%s was not installed" % p)
-                return
+        return pkgs
 
     @lock_cache
     def install_files(self, only_trusted, inst_files):
commit fddf75341e8fa87ee149d5d5963d4167e4ab2a3d
Author: Sebastian Heinlein <devel at glatzor.de>
Date:   Thu Oct 29 08:45:54 2009 +0100

    APT: Don't fail if the syslog daemon is not available (Thanks mvo and
    scott)

diff --git a/backends/apt/aptBackend.py b/backends/apt/aptBackend.py
index dab7971..575a5ff 100755
--- a/backends/apt/aptBackend.py
+++ b/backends/apt/aptBackend.py
@@ -49,11 +49,14 @@ logging.basicConfig(format="%(levelname)s:%(message)s")
 pklog = logging.getLogger("PackageKitBackend")
 pklog.setLevel(logging.NOTSET)
 
-_syslog = logging.handlers.SysLogHandler("/dev/log",
+try:
+    _syslog = logging.handlers.SysLogHandler("/dev/log",
                                       logging.handlers.SysLogHandler.LOG_DAEMON)
-formatter = logging.Formatter('PackageKit: %(levelname)s: %(message)s')
-_syslog.setFormatter(formatter)
-pklog.addHandler(_syslog)
+    formatter = logging.Formatter('PackageKit: %(levelname)s: %(message)s')
+    _syslog.setFormatter(formatter)
+    pklog.addHandler(_syslog)
+except:
+    pass
 
 # Xapian database is optionally used to speed up package description search
 XAPIAN_DB_PATH = os.environ.get("AXI_DB_PATH", "/var/lib/apt-xapian-index")
commit 51ef74029ee35dca61776753e00d77cdaab7c189
Author: Sebastian Heinlein <devel at glatzor.de>
Date:   Thu Oct 29 08:44:28 2009 +0100

    APT: Make the InstallProgress more safe to not fail dpkg triggers
    messages

diff --git a/backends/apt/aptBackend.py b/backends/apt/aptBackend.py
index e688ecb..dab7971 100755
--- a/backends/apt/aptBackend.py
+++ b/backends/apt/aptBackend.py
@@ -382,7 +382,7 @@ class PackageKitInstallProgress(apt.progress.InstallProgress):
             self._backend.percentage(int(progress))
             self.pprev = progress
         # Emit a Package signal for the currently processed package
-        if pkg_name != self.last_pkg:
+        if pkg_name != self.last_pkg and self._backend._cache.has_key(pkg_name):
             pkg = self._backend._cache[pkg_name]
             # FIXME: We need an INFO enum for downgrades/rollbacks
             if pkg.markedInstall or pkg.markedReinstall or pkg.markedDowngrade:
commit b376f6232bd7eb58810f18b8ae650cf8a512b2bc
Author: Sebastian Heinlein <devel at glatzor.de>
Date:   Thu Oct 29 08:30:49 2009 +0100

    APT: Add support for allow_deps of RemovePackages

diff --git a/backends/apt/aptBackend.py b/backends/apt/aptBackend.py
index 8c728cf..e688ecb 100755
--- a/backends/apt/aptBackend.py
+++ b/backends/apt/aptBackend.py
@@ -860,11 +860,10 @@ class PackageKitAptBackend(PackageKitBaseBackend):
         self._commit_changes()
 
     @lock_cache
-    def remove_packages(self, allowdeps, autoremove, ids):
+    def remove_packages(self, allow_deps, auto_remove, ids):
         """
         Implement the {backend}-remove functionality
         """
-        # TODO: use autoremove
         pklog.info("Removing package(s): id %s" % ids)
         self.status(STATUS_REMOVE)
         self.allow_cancel(False)
@@ -912,6 +911,13 @@ class PackageKitAptBackend(PackageKitBaseBackend):
                        "installed and so block the removal: "
                        "%s" % " ".join(installed))
             return
+        # Check if the removal would remove further packages
+        if not allow_deps and self._cache.delete_count != len(ids):
+            dependencies = [pkg.name for pkg in self._cache.getChanges() \
+                            if pkg.name not in pkgs]
+            self.error(ERROR_DEP_RESOLUTION_FAILED,
+                       "The following packages would have also to be removed: "
+                       "%s" % " ".join(dependencies))
         #FIXME: Should support only_trusted
         self._commit_changes(fetch_range=(10,10), install_range=(10,90))
         self._open_cache(prange=(90,99))
commit f9cf5936365d58c8d11a331d1067b0250a13168b
Author: Sebastian Heinlein <devel at glatzor.de>
Date:   Thu Oct 29 08:12:21 2009 +0100

    APT: Add support for only_trusted

diff --git a/backends/apt/aptBackend.py b/backends/apt/aptBackend.py
index dfe1211..8c728cf 100755
--- a/backends/apt/aptBackend.py
+++ b/backends/apt/aptBackend.py
@@ -823,9 +823,6 @@ class PackageKitAptBackend(PackageKitBaseBackend):
         """
         Implement the {backend}-update-system functionality
         """
-
-        # FIXME: use only_trusted
-
         pklog.info("Upgrading system")
         self.status(STATUS_UPDATE)
         self.allow_cancel(False)
@@ -859,7 +856,8 @@ class PackageKitAptBackend(PackageKitBaseBackend):
                 continue
         resolver.InstallProtect()
         resolver.Resolve(True)
-        if not self._commit_changes(): return False
+        self._check_trusted(only_trusted)
+        self._commit_changes()
 
     @lock_cache
     def remove_packages(self, allowdeps, autoremove, ids):
@@ -914,9 +912,8 @@ class PackageKitAptBackend(PackageKitBaseBackend):
                        "installed and so block the removal: "
                        "%s" % " ".join(installed))
             return
-        if not self._commit_changes(fetch_range=(10,10),
-                                    install_range=(10,90)):
-            return False
+        #FIXME: Should support only_trusted
+        self._commit_changes(fetch_range=(10,10), install_range=(10,90))
         self._open_cache(prange=(90,99))
         for p in pkgs:
             if self._cache.has_key(p) and self._cache[p].isInstalled:
@@ -1088,9 +1085,6 @@ class PackageKitAptBackend(PackageKitBaseBackend):
         """
         Implement the {backend}-update functionality
         """
-
-        # FIXME: use only_trusted
-
         pklog.info("Updating package with id %s" % ids)
         self.status(STATUS_UPDATE)
         self.allow_cancel(False)
@@ -1134,7 +1128,8 @@ class PackageKitAptBackend(PackageKitBaseBackend):
                        "The following packages block the update: "
                        "%s" % " ".join(deleted))
             return
-        if not self._commit_changes(): return False
+        self._check_trusted(only_trusted)
+        self._commit_changes()
         self._open_cache(prange=(90,100))
         self.percentage(100)
         pklog.debug("Checking success of operation")
@@ -1200,9 +1195,6 @@ class PackageKitAptBackend(PackageKitBaseBackend):
         """
         Implement the {backend}-install functionality
         """
-
-        # FIXME: use only_trusted
-
         pklog.info("Installing package with id %s" % ids)
         self.status(STATUS_INSTALL)
         self.allow_cancel(False)
@@ -1244,7 +1236,8 @@ class PackageKitAptBackend(PackageKitBaseBackend):
                        "The following packages block the update: "
                        "%s" % " ".join(deleted))
             return
-        if not self._commit_changes(): return False
+        self._check_trusted(only_trusted)
+        self._commit_changes()
         self._open_cache(prange=(90,100))
         self.percentage(100)
         pklog.debug("Checking success of operation")
@@ -1286,9 +1279,9 @@ class PackageKitAptBackend(PackageKitBaseBackend):
                 self.message(MESSAGE_NEWER_PACKAGE_EXISTS, 
                              "There is a later version of %s "
                              "available in the repositories." % deb.pkgname)
-        if len(self._cache.getChanges()) > 0 and not \
-           self._commit_changes((10,25), (25,50)): 
-            return False
+        if self._cache.getChanges():
+            self._check_trusted(only_trusted)
+            self._commit_changes((10,25), (25,50))
         # Install the Debian package files
         d = PackageKitDpkgInstallProgress(self)
         try:
@@ -1629,19 +1622,27 @@ class PackageKitAptBackend(PackageKitBaseBackend):
             pass
         self._open_cache(prange)
 
-    def _check_trusted(self):
-        """Emit a message if untrusted packages would be installed."""
-        untrusted = [pkg.name for pkg in self._cache \
-                     if (pkg.markedInstall or pkg.markedUpgrade) and \
-                         not pkg.candidate.origins[0].trusted]
-        if untrusted:
-            self.message(MESSAGE_UNTRUSTED_PACKAGE, " ".join(untrusted))
+    def _check_trusted(self, only_trusted):
+        """Check if only trusted packages are allowed and fail if 
+        untrusted packages would be installed in this case.
+        """
+        untrusted = []
+        if only_trusted:
+            for pkg in self._cache:
+                if (pkg.markedInstall or pkg.markedUpgrade or
+                    pkg.markedDowngrade or pkg.markedReinstall):
+                     trusted = False
+                     for origin in pkg.candidate.origins:
+                          trusted |= origin.trusted
+                     if not trusted:
+                         untrusted.append(pkg.name)
+            if untrusted:
+                self.error(ERROR_MISSING_GPG_SIGNATURE, " ".join(untrusted))
 
     def _commit_changes(self, fetch_range=(5,50), install_range=(50,90)):
         """
         Commit changes to the cache and handle errors
         """
-        self._check_trusted()
         try:
             self._cache.commit(PackageKitFetchProgress(self, fetch_range), 
                                PackageKitInstallProgress(self, install_range))
commit 0d5c08d928eb25ae3fefb4111b43d6cd093ca010
Author: Sebastian Heinlein <devel at glatzor.de>
Date:   Thu Oct 29 07:38:33 2009 +0100

    APT: Instead of failing if the package cache is currently locked by
    another package manager wait until the lock is freed again

diff --git a/backends/apt/aptBackend.py b/backends/apt/aptBackend.py
index 87ba739..dfe1211 100755
--- a/backends/apt/aptBackend.py
+++ b/backends/apt/aptBackend.py
@@ -158,13 +158,24 @@ def lock_cache(func):
     """
     def _locked_cache(*args, **kwargs):
         backend = args[0]
-        try:
-            apt_pkg.PkgSystemLock()
-        except SystemError:
-            #FIXME: Show the blocking application in the details
-            backend.error(ERROR_CANNOT_GET_LOCK,
-                          "Only use one package management programme at the "
-                          "the same time.")
+        backend.status(STATUS_WAITING_FOR_LOCK)
+        while True:
+            try:
+                # see if the lock for the download dir can be acquired
+                # (work around bug in python-apt/apps that call _fetchArchives)
+                lockfile = apt_pkg.Config.FindDir("Dir::Cache::Archives") + \
+                           "lock"
+                lock = apt_pkg.GetLock(lockfile)
+                if lock < 0:
+                    raise SystemError("failed to lock '%s'" % lockfile)
+                else:
+                    os.close(lock)
+                # then lock the main package system
+                apt_pkg.PkgSystemLock()
+            except SystemError:
+                time.sleep(3)
+            else:
+                break
         try:
             func(*args, **kwargs)
         finally:
commit dcef9ae9313717e7e8c10ee0e154ef7aa4fa38e7
Merge: afcfeef... d218907...
Author: Sebastian Heinlein <devel at glatzor.de>
Date:   Thu Oct 29 00:36:40 2009 +0100

    Merge branch 'master' of git+ssh://git.packagekit.org/srv/git/PackageKit

commit afcfeef1e9dfa9cebac95fe0c9a6b1052afe7aef
Author: Sebastian Heinlein <devel at glatzor.de>
Date:   Thu Oct 29 00:31:41 2009 +0100

    APT: Only use apt-file when not searching exclusively for installed
    packages

diff --git a/backends/apt/aptBackend.py b/backends/apt/aptBackend.py
index 7f9295d..87ba739 100755
--- a/backends/apt/aptBackend.py
+++ b/backends/apt/aptBackend.py
@@ -501,7 +501,8 @@ class PackageKitAptBackend(PackageKitBaseBackend):
         # 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"):
+        if os.path.exists("/usr/bin/apt-file") and \
+           FILTER_INSTALLED not in filters.split(";"):
             #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
commit ba78c707f100f5cabcb302939483a2e228f6639d
Author: Sebastian Heinlein <devel at glatzor.de>
Date:   Thu Oct 29 00:28:02 2009 +0100

    APT: Allow file name alternation in SearchFile

diff --git a/backends/apt/aptBackend.py b/backends/apt/aptBackend.py
index a11c9c6..7f9295d 100755
--- a/backends/apt/aptBackend.py
+++ b/backends/apt/aptBackend.py
@@ -485,31 +485,33 @@ class PackageKitAptBackend(PackageKitBaseBackend):
 
     # Methods ( client -> engine -> backend )
 
-    def search_file(self, filters, filename):
+    def search_file(self, filters, filenames_string):
         """Search for files in packages.
 
         Works only for installed file if apt-file isn't installed.
         """
-        pklog.info("Searching for file: %s" % filename)
+        pklog.info("Searching for file: %s" % filenames_string)
         self.status(STATUS_QUERY)
         self.percentage(None)
         self._check_init(progress=False)
         self.allow_cancel(True)
 
+        filenames = filenames_string.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"):
             #FIXME: Make use of rapt-file on Debian if the network is available
-            #FIXME: apt-file regex doesn't seem to work with alternation.
-            #       This makes searching for several files a real pain.
             #FIXME: Show a warning to the user if the apt-file cache is several
             #       weeks old
             pklog.debug("Using apt-file")
-            apt_file = subprocess.Popen(["/usr/bin/apt-file", "--fixed-string",
+            filenames_regex = [path.lstrip("/").replace("/", "\/") \
+                               for path in filenames]
+            regex = "^(" + "|".join(filenames_regex) + ")$"
+            apt_file = subprocess.Popen(["/usr/bin/apt-file", "--regexp",
                                          "--non-interactive", "--package-only",
-                                         "find", filename],
+                                         "find", regex],
                                         stdout=subprocess.PIPE,
                                         stderr=subprocess.PIPE)
             stdout, stderr = apt_file.communicate()
@@ -527,7 +529,7 @@ class PackageKitAptBackend(PackageKitBaseBackend):
             if pkg.name in result_names:
                 continue
             for installed_file in self._get_installed_files(pkg):
-                if filename in installed_file:
+                if installed_file in filenames:
                     self._emit_visible_package(filters, pkg)
                     break
 
commit d21890741cad063e011e2d355706d0e81674666e
Author: Daniel Nicoletti <daniel at magie.tcp>
Date:   Wed Oct 28 17:43:07 2009 -0200

    aptcc: Emit a usefull message while conffiles are not well handled,
           emit dpkg errors.

diff --git a/backends/aptcc/apt.cpp b/backends/aptcc/apt.cpp
index d0a6def..7af6a90 100644
--- a/backends/aptcc/apt.cpp
+++ b/backends/aptcc/apt.cpp
@@ -911,7 +911,6 @@ void aptcc::updateInterface(int fd, int writeFd)
 {
 	char buf[2];
 	static char line[1024] = "";
-	int i=0;
 
 	while (1) {
 		// This algorithm should be improved (it's the same as the rpm one ;)
@@ -944,16 +943,45 @@ void aptcc::updateInterface(int fd, int writeFd)
 
 			// first check for errors and conf-file prompts
 			if (strstr(status, "pmerror") != NULL) {
-				// error from dpkg, needs to be parsed different
-cout << "PK: Error in package: " << split[1] << endl;
-//				str = g_strdup_printf(_("Error in package %s"), split[1]);
-//				string err = split[1] + string(": ") + split[3];
-//				_error->Error("%s",utf8(err.c_str()));
+				// error from dpkg
+				pk_backend_error_code(m_backend,
+						      PK_ERROR_ENUM_PACKAGE_FAILED_TO_INSTALL,
+						      str);
 			} else if (strstr(status, "pmconffile") != NULL) {
 				// conffile-request from dpkg, needs to be parsed different
-cout << "PK: Oops Conf file detected!!! -> PKG: " << pkg << " " << split[2] << " " << split[3] << endl;
-cout << "write " << write(writeFd, "n\n", 2);
-				//cout << split[2] << " " << split[3] << endl;
+				int i=0;
+				int count=0;
+				string orig_file, new_file;
+
+				// go to first ' and read until the end
+				for(;str[i] != '\'' || str[i] == 0; i++) 
+					/*nothing*/
+					;
+				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++) 
+					/*nothing*/
+				;
+				i++;
+				for(;str[i] != '\'' || str[i] == 0; i++) 
+					new_file.append(1, str[i]);
+				i++;
+
+				gchar *confmsg; 
+				confmsg = g_strdup_printf("The configuration file '%s' "
+							  "(modified by you or a script) "
+							  "has a newer version '%s'.\n"
+							  "Please verify your changes and update it manually.",
+							  orig_file.c_str(),
+							  new_file.c_str());
+				pk_backend_message(m_backend,
+						   PK_MESSAGE_ENUM_CONFIG_FILES_CHANGED,
+						   confmsg);
+				write(writeFd, "N\n", 2);
 			} else if (strstr(status, "pmstatus") != NULL) {
 				// Let's start parsing the status:
 				if (starts_with(str, "Preparing")) {
@@ -1032,7 +1060,7 @@ cout << "write " << write(writeFd, "n\n", 2);
 bool aptcc::installPackages(pkgDepCache &Cache,
 			    bool Safety)
 {
-cout << "installPackages() called" << endl;
+	//cout << "installPackages() called" << endl;
 	if (_config->FindB("APT::Get::Purge",false) == true)
 	{
 		pkgCache::PkgIterator I = Cache.PkgBegin();
@@ -1061,7 +1089,6 @@ cout << "installPackages() called" << endl;
 	// Sanity check
 	if (Cache.BrokenCount() != 0)
 	{
-// 	    ShowBroken(c1out,Cache,false);
 		show_broken(m_backend, this);
 		return _error->Error("Internal error, InstallPackages was called with broken packages!");
 	}
@@ -1084,8 +1111,7 @@ cout << "installPackages() called" << endl;
 
 	// Lock the archive directory
 	FileFd Lock;
-	if (_config->FindB("Debug::NoLocking",false) == false &&
-	    _config->FindB("APT::Get::Print-URIs") == false)
+	if (_config->FindB("Debug::NoLocking",false) == false)
 	{
 		Lock.Fd(GetLock(_config->FindDir("Dir::Cache::Archives") + "lock"));
 		if (_error->PendingError() == true) {
@@ -1135,7 +1161,8 @@ cout << "installPackages() called" << endl;
 	double DebBytes = fetcher.TotalNeeded();
 	if (DebBytes != Cache.DebSize())
 	{
-// 	    c0out << DebBytes << ',' << Cache.DebSize() << endl;
+ 	    cout << DebBytes << ',' << Cache.DebSize() << endl;
+cout << "How odd.. The sizes didn't match, email apt at packages.debian.org";
 		_error->Warning("How odd.. The sizes didn't match, email apt at packages.debian.org");
 	}
 
@@ -1250,13 +1277,8 @@ cout << "installPackages() called" << endl;
 	}
 
 	if (m_child_pid == 0) {
-		cout << "FORKED: installPackages(): DoInstall" << endl;
-		// close Forked stdout and the read end of the pipe
 		close(0);
-		close(1);
-		close(readFromChildFD[0]);
-		close(writeToChildFD[1]);
-
+		//cout << "FORKED: installPackages(): DoInstall" << endl;
 		// redirect writeToChildFD to stdin
 		if (dup(writeToChildFD[0]) != 0) {
 			cerr << "Aptcc: dup failed duplicate pipe to stdin" << endl;
@@ -1265,23 +1287,35 @@ cout << "installPackages() called" << endl;
 			_exit(1);
 		}
 
-		// Change the locale AND lang to not get it localized
-		setenv("LANG", "C", 1);
+		// close Forked stdout and the read end of the pipe
+		close(1);
+
+		// Change the locale to not get libapt localization
 		setlocale(LC_ALL, "C");
 
+		// Debconf handlying
+		setenv("DEBIAN_FRONTEND", "dbus", 1);
+		gchar *locale;
+		// Set the LANGUAGE so debconf messages get localization
+		if (locale = pk_backend_get_locale(m_backend)) {
+			setenv("LANGUAGE", locale, 1);
+			setenv("LANG", locale, 1);
+		//setenv("LANG", "C", 1);
+		}
+
 		// Pass the write end of the pipe to the install function
 		res = PM->DoInstallPostFork(readFromChildFD[1]);
 
 		// dump errors into cerr (pass it to the parent process)
 		_error->DumpErrors();
 
+		close(readFromChildFD[0]);
+		close(writeToChildFD[1]);
 		close(readFromChildFD[1]);
 		close(writeToChildFD[0]);
 
 		_exit(res);
 	}
-	close(readFromChildFD[1]);
-	close(writeToChildFD[0]);
 
 	cout << "PARENT proccess running..." << endl;
 	// make it nonblocking, verry important otherwise
@@ -1295,6 +1329,8 @@ cout << "installPackages() called" << endl;
 	}
 
 	close(readFromChildFD[0]);
+	close(readFromChildFD[1]);
+	close(writeToChildFD[0]);
 	close(writeToChildFD[1]);
 
 	cout << "Parent finished..." << endl;
@@ -1347,8 +1383,7 @@ bool aptcc::runTransaction(vector<pair<pkgCache::PkgIterator, pkgCache::VerItera
 			   bool simulate,
 			   bool remove)
 {
-	cout << "==============================================================" << endl;
-	cout << "runTransaction" << simulate << remove << endl;
+	//cout << "runTransaction" << simulate << remove << endl;
 	bool WithLock = !simulate; // Check to see if we are just simulating,
 				   //since for that no lock is needed
 
@@ -1383,7 +1418,6 @@ bool aptcc::runTransaction(vector<pair<pkgCache::PkgIterator, pkgCache::VerItera
 
 	// new scope for the ActionGroup
 	{
-		cout << "new scope for the ActionGroup" << endl;
 		pkgDepCache::ActionGroup group(Cache);
 		for(vector<pair<pkgCache::PkgIterator, pkgCache::VerIterator> >::iterator i=pkgs.begin();
 		    i != pkgs.end();
diff --git a/backends/aptcc/matcher.cpp b/backends/aptcc/matcher.cpp
index 823b6b9..427b72e 100644
--- a/backends/aptcc/matcher.cpp
+++ b/backends/aptcc/matcher.cpp
@@ -20,6 +20,7 @@
 
 #include "matcher.h"
 #include <stdio.h>
+#include <iostream>
 
 matcher::matcher(const string &matchers)
 	: m_hasError(false)
@@ -27,7 +28,7 @@ matcher::matcher(const string &matchers)
 	string::const_iterator start = matchers.begin();
 	parse_pattern(start, matchers.end());
 	if (m_hasError) {
-		printf("ERROR:%s:\n", m_error.c_str());
+		cerr << "ERROR: " << m_error << endl;
 	}
 }
 
@@ -100,7 +101,7 @@ bool matcher::parse_pattern(string::const_iterator &start,
 
 	while (start != end && *start != '|' && *start != ')') {
 		string subString = parse_substr(start, end);
-		printf("parse_pattern:%s:\n", subString.c_str());
+
 		if (subString.empty()) {
 			continue;
 		}
diff --git a/backends/aptcc/pk-backend-aptcc.cpp b/backends/aptcc/pk-backend-aptcc.cpp
index dfbf30a..d4e80fc 100644
--- a/backends/aptcc/pk-backend-aptcc.cpp
+++ b/backends/aptcc/pk-backend-aptcc.cpp
@@ -400,16 +400,17 @@ backend_update_system_thread (PkBackend *backend)
 		return false;
 	}
 
-	if (pkgAllUpgrade(*m_apt->packageDepCache) == false)
+	egg_debug ("Calculating upgrade... ");
+	if (pkgDistUpgrade(*m_apt->packageDepCache) == false)
 	{
 		show_broken(backend, m_apt);
-		egg_debug ("Internal error, AllUpgrade broke stuff");
+		egg_debug ("Failed");
 		delete m_apt;
 		pk_backend_finished (backend);
 		return false;
 	}
 
-	printf("4KKKKKKKKKKKKKKKKKKKK\n");
+	egg_debug ("Done");
 	bool res = m_apt->installPackages(*m_apt->packageDepCache, true);
 	delete m_apt;
 	 _error->DumpErrors();
@@ -460,7 +461,7 @@ backend_get_updates_thread (PkBackend *backend)
 	// resolver.
 // 	m_apt->mark_all_upgradable(false, true);
 
-	if (pkgAllUpgrade(*m_apt->packageDepCache) == false)
+	if (pkgDistUpgrade(*m_apt->packageDepCache) == false)
 	{
 		show_broken(backend, m_apt);
 		egg_debug ("Internal error, AllUpgrade broke stuff");
commit 32f3dbd334fcd9f38c25afd44e1ea3b9ef0c7422
Author: Sebastian Heinlein <devel at glatzor.de>
Date:   Wed Oct 28 11:34:30 2009 +0100

    APT: Optionally make use of apt-file to search for files in not
    installed packages

diff --git a/backends/apt/aptBackend.py b/backends/apt/aptBackend.py
index 6810a6d..a11c9c6 100755
--- a/backends/apt/aptBackend.py
+++ b/backends/apt/aptBackend.py
@@ -486,11 +486,9 @@ class PackageKitAptBackend(PackageKitBaseBackend):
     # Methods ( client -> engine -> backend )
 
     def search_file(self, filters, filename):
-        """
-        Implement the apt2-search-file functionality
+        """Search for files in packages.
 
-        Apt specific: Works only for installed files. Since config files are
-        not removed by default even not installed packages can be reported.
+        Works only for installed file if apt-file isn't installed.
         """
         pklog.info("Searching for file: %s" % filename)
         self.status(STATUS_QUERY)
@@ -498,7 +496,36 @@ class PackageKitAptBackend(PackageKitBaseBackend):
         self._check_init(progress=False)
         self.allow_cancel(True)
 
+        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"):
+            #FIXME: Make use of rapt-file on Debian if the network is available
+            #FIXME: apt-file regex doesn't seem to work with alternation.
+            #       This makes searching for several files a real pain.
+            #FIXME: Show a warning to the user if the apt-file cache is several
+            #       weeks old
+            pklog.debug("Using apt-file")
+            apt_file = subprocess.Popen(["/usr/bin/apt-file", "--fixed-string",
+                                         "--non-interactive", "--package-only",
+                                         "find", filename],
+                                        stdout=subprocess.PIPE,
+                                        stderr=subprocess.PIPE)
+            stdout, stderr = apt_file.communicate()
+            if apt_file.returncode == 0:
+                #FIXME: Actually we should check if the file is part of the
+                #       candidate, e.g. if unstable and experimental are
+                #       enabled and a file would only be part of the
+                #       experimental version
+                result_names.update(stdout.split())
+                self._emit_visible_packages_by_name(filters, result_names)
+            else:
+                self.error(ERROR_INTERNAL_ERROR, "%s %s" % (stdout, stderr))
+        # Search for installed files
         for pkg in self._cache:
+            if pkg.name in result_names:
+                continue
             for installed_file in self._get_installed_files(pkg):
                 if filename in installed_file:
                     self._emit_visible_package(filters, pkg)
commit 512dea1dc80755e9be1f21054146d0323a14c2dc
Author: Carlo Marcelo Arenas Belon <carenas at sajinet.com.pe>
Date:   Sun Oct 25 00:34:01 2009 -0700

    documentation: xhtml specific
    
    * alt attribute is required for img
    * hr and br need a valid closing tag

diff --git a/docs/html/pk-faq.html b/docs/html/pk-faq.html
index 055d0a4..9874d4c 100644
--- a/docs/html/pk-faq.html
+++ b/docs/html/pk-faq.html
@@ -51,7 +51,7 @@
 <li><a href="#corporate-sponsor">Is there an organization sponsoring development of PackageKit?</a></li>
 </ul>
 
-<hr>
+<hr/>
 <h3><a name="how-complete">How complete are the backends?</a></h3>
 <p>
 Backends do not have to be complete when they are added to PackageKit.
@@ -60,7 +60,7 @@ distributions the client tools look a little different to other distributions.
 You can see the latest feature matrix <a href="pk-matrix.html">here</a>.
 </p>
 
-<hr>
+<hr/>
 <h3><a name="repo-add-remove">Why can't I add or remove software sources?</a></h3>
 <p>
 In the software source viewer you can enable and disable repositories, but you
@@ -141,7 +141,7 @@ package lists that are asked to be installed, so there are no signing or trust i
 Note: this isn't designed to replace one click install, it just does something that is similar in
 a different way.
 </p>
-<hr>
+<hr/>
 
 <h3><a name="markup">Can I include formatting characters in package descriptions?</a></h3>
 <p>
@@ -190,8 +190,8 @@ The following <i>GUI</i> programs are provided:
 <p>
 Update descriptions are also processed for markdown, for example:
 </p>
-<img src="img/gpk-markdown.png"/>
-<hr>
+<img src="img/gpk-markdown.png" alt=""/>
+<hr/>
 
 <h3><a name="command-not-found">How does the command not found functionality work?</a></h3>
 <p>
@@ -199,8 +199,8 @@ The command not found functionality is a bash extension that allows PackageKit
 to suggest similar commands, or to offer to install packages to provide commands.
 It's probably best to click on the image and watch the video.
 </p>
-<a href="videos/pk-command-not-found.ogv"><img src="img/pk-command-not-found.png"/></a>
-<hr>
+<a href="videos/pk-command-not-found.ogv"><img src="img/pk-command-not-found.png" alt=""/></a>
+<hr/>
 
 <h3><a name="1-click-install">Does PackageKit support 1-Click Install?</a></h3>
 <p>
@@ -240,7 +240,7 @@ certification infrastructure is like opening the gates to hell.
 Most user just don't have got the technical understanding to handle this well.</i>
 </p>
 
-<hr>
+<hr/>
 <h3><a name="run-as-root">When run as root, <code>gpk-application</code> and <code>pkcon</code> do not work!</a></h3>
 <p>
 GTK+ tools should not be run as the root user, <b>PERIOD</b>.
@@ -253,7 +253,7 @@ insane and insecure things.
 Please see <a href="http://www.gtk.org/setuid.html">the GTK+ explanation</a> for more rationale.
 </p>
 
-<hr>
+<hr/>
 <h3><a name="session-system">Why is there a session service <b>and</b> and a system service?</a></h3>
 <p>
 PackageKit runs a process <code>packagekitd</code> that is a daemon that runs per-system.
@@ -293,7 +293,7 @@ gcc -o session -Wall session.c `pkg-config --cflags --libs dbus-glib-1`
 gcc -o system -Wall system.c `pkg-config --cflags --libs packagekit-glib`
 </pre>
 
-<hr>
+<hr/>
 <h3><a name="session-methods">How do I use PackageKit in my application?</a></h3>
 <p>
 If you are using <a href="http://www.gnome.org/">GNOME</a>, or running the
@@ -375,18 +375,18 @@ Please email me or the
 if you have any other questions
 </p>
 
-<hr>
+<hr/>
 <h3><a name="tray-icons">What do the tray icons mean?</a></h3>
 <table>
  <tr>
-  <td><img src="img/pk-update-bugfix.png"/></td><td>Bugfix update</td>
-  <td><img src="img/pk-update-enhancement.png"/></td><td>Enhancement update</td>
-  <td><img src="img/pk-update-high.png"/></td><td>High priority update</td>
+  <td><img src="img/pk-update-bugfix.png" alt=""/></td><td>Bugfix update</td>
+  <td><img src="img/pk-update-enhancement.png" alt=""/></td><td>Enhancement update</td>
+  <td><img src="img/pk-update-high.png" alt=""/></td><td>High priority update</td>
  </tr>
  <tr>
-  <td><img src="img/pk-update-low.png"/></td><td>Low priority update</td>
-  <td><img src="img/pk-update-normal.png"/></td><td>Normal update</td>
-  <td><img src="img/pk-update-security.png"/></td><td>Security update</td>
+  <td><img src="img/pk-update-low.png" alt=""/></td><td>Low priority update</td>
+  <td><img src="img/pk-update-normal.png" alt=""/></td><td>Normal update</td>
+  <td><img src="img/pk-update-security.png" alt=""/></td><td>Security update</td>
  </tr>
 </table>
 <p>
@@ -397,7 +397,7 @@ If you are using Fedora rawhide then only the bugfix icon will be show due to mi
 In the released versions of Fedora metadata is added to updates and the type of update can be found.
 </p>
 
-<hr>
+<hr/>
 <h3><a name="rawhide-updates">Why don't I get update details with Fedora Rawhide?</a></h3>
 <p>
 The Rawhide repository does not supply metadata needed for the update-viewer to display extra
@@ -405,7 +405,7 @@ information about the update, such as changelogs, CVE and bugzilla references.
 Only released versions of Fedora have this metadata.
 </p>
 
-<hr>
+<hr/>
 <h3><a name="selinux">Why doesn't PackageKit work with SELinux?</a></h3>
 <p>
 The process <code>packagekitd</code> is not recognized by SELinux if you are
@@ -418,7 +418,7 @@ See <a href="https://bugzilla.redhat.com/show_bug.cgi?id=361151">Red Hat Bugzill
 for further information.
 </p>
 
-<hr>
+<hr/>
 <h3><a name="no-percentage-updates">What if the backend package manager doesn't support percentage updates?</a></h3>
 <p>
 You don't have to have a backend that supports percentage updates.
@@ -426,7 +426,7 @@ If you don't know the progress, just emit NoPercentageUpdates and then the UI
 should just do the right thing and spin backwards and forwards.
 </p>
 
-<hr>
+<hr/>
 <h3><a name="remaining-times">Why are the remaining times sometimes not present or wildly wrong?</a></h3>
 <p>
 The remaining time to completion of the transaction is calculated using an
@@ -445,14 +445,14 @@ It is up to the backends to map the transaction progress to fine-granularity
 accurate percentage updates, at least as best as possible.
 </p>
 
-<hr>
+<hr/>
 <h3><a name="different-options">With all the differences between backends, how will PackageKit support all the different options?</a></h3>
 <p>
 Backends don't have to support all options of all methods.
 Just set an error and return false if not implemented.
 </p>
 
-<hr>
+<hr/>
 <h3><a name="error-codes">But error codes are different on each backend?</a></h3>
 <p>
 Error codes have to be standardized so they can be localized.
@@ -461,7 +461,7 @@ If you are creating a backend and you need another error enum, mention it
 and we can add it to the supported list.
 </p>
 
-<hr>
+<hr/>
 <h3><a name="user-interaction">How will PackageKit handle installation an application that needs user interaction?</a></h3>
 <p>
 Upgrading, installing or removing packages <b>has to be 100% silent</b>.
@@ -523,7 +523,7 @@ of ignoring duplicate messages of this type. We really don't what to be doing th
 or <a href="http://weblogs.mozillazine.org/gerv/archives/2008/04/upgrading_to_hardy.html">this</a>.
 </p>
 
-<hr>
+<hr/>
 <h3><a name="up2date">Does PackageKit replace up2date?</a></h3>
 <p>
 PackageKit does not replace up2date.
@@ -531,7 +531,7 @@ PackageKit is a way for users to interact with the packaging system, not for an
 administrator to install software on remote machines.
 </p>
 
-<hr>
+<hr/>
 <h3><a name="system-daemon">Is PackageKit a system daemon, always running and using resources?</a></h3>
 <p>
 PackageKit is not yet another system daemon.
@@ -539,7 +539,7 @@ It quits when not doing anything, and only starts when something wants
 information or a task completed.
 </p>
 
-<hr>
+<hr/>
 <h3><a name="dependencies">How does PackageKit handle dependencies?</a></h3>
 <p>
 PackageKit <b>does not do</b> dependency resolution.
@@ -552,7 +552,7 @@ For instance, synaptic should still use libapt as can do much more than can be
 provided by PackageKit.
 </p>
 
-<hr>
+<hr/>
 <h3><a name="rcd">Does PackageKit replace the Red Carpet service?</a></h3>
 <p>
 PackageKit is not a replacement to red carpet.
@@ -562,7 +562,7 @@ centralized management model.
 Although cool, this latter point made things too political in my opinion.
 </p>
 
-<hr>
+<hr/>
 <h3><a name="how-fast">How fast is PackageKit?</a></h3>
 <p>
 PackageKit is really fast.
@@ -572,7 +572,7 @@ all asynchronous.
 All the applications start instantly with no root password needed at startup.
 </p>
 
-<hr>
+<hr/>
 <h3><a name="multiple-users">How does PackageKit work with multiple users?</a></h3>
 <p>
 PackageKit is designed from the ground up to work with fast user switching and
@@ -581,7 +581,7 @@ You can start a system upgrade, log out, log in as another user, and be notified
 when the upgrade is complete, all without risking your rpmdb.
 </p>
 
-<hr>
+<hr/>
 <h3><a name="use-existing-tools">Can users still use their normal package managers and backends, such as Yum, APT or Conary?</a></h3>
 <p>
 PackageKit does not stop you using the low level tools yourself.
@@ -591,7 +591,7 @@ No more fighting over <code>yum</code>, <code>yum-updatesd</code>,
 <code>pup</code> and <code>pirut</code>.
 </p>
 
-<hr>
+<hr/>
 <h3><a name="service-pack">What is a Service Pack?</a></h3>
 <p>
 A service pack is a tarball which contains the particular package and its dependencies.
@@ -601,7 +601,7 @@ the distribution name and version and the date of creation of the pack.
 Service packs are generated using the command line client <code>pkgenpack</code>.
 </p>
 
-<hr>
+<hr/>
 <h3><a name="hughsies-law">What is Hughsie's law?</a></h3>
 <p>
 A joke that started on IRC late one night in '07.
@@ -610,14 +610,14 @@ transaction has started, and messages or notices about the transaction
 can only be shown after the transaction has completed.</i>
 </p>
 
-<hr>
+<hr/>
 <h3><a name="translation">How do I translate gnome-packagekit?</a></h3>
 <p>
 See the <a href="http://l10n.gnome.org/teams">GNOME Translation Team</a>
 web pages for how to contribute to GNOME localisation.
 </p>
 
-<hr>
+<hr/>
 <h3><a name="corporate-sponsor">Is there an organization or corporation sponsoring development of PackageKit?</a></h3>
 <p>
 PackageKit is not sponsored by anyone.
@@ -629,10 +629,10 @@ I now work at Red Hat full time.
 <p>Back to the <a href="index.html">main page</a></p>
 
 <!-- space for the links to be at the top -->
-<br><br><br><br><br><br><br><br><br><br><br>
-<br><br><br><br><br><br><br><br><br><br><br>
-<br><br><br><br><br><br><br><br><br><br><br>
-<br><br><br><br><br><br><br><br><br><br><br>
+<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
+<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
+<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
+<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>
 
 <p class="footer">
  Copyright <a href="mailto:richard at hughsie.com">Richard Hughes 2007-2009</a><br/>
diff --git a/docs/html/pk-profiles.html b/docs/html/pk-profiles.html
index 08fb3ab..c80a6c4 100644
--- a/docs/html/pk-profiles.html
+++ b/docs/html/pk-profiles.html
@@ -19,7 +19,7 @@
 
 <h2>User Profile: Suzan</h2>
 <table cellpadding="10px"><tr>
-<td><img src="img/profile-suzan.png"/></td>
+<td><img src="img/profile-suzan.png" alt=""/></td>
 <td>
 <p>
 <b>Suzan is a 23 year old 4th year medical student.</b>
@@ -50,7 +50,7 @@ up to 40 minutes.
 
 <h2>User Profile: Bevan</h2>
 <table cellpadding="10px"><tr>
-<td><img src="img/profile-bevan.png"/></td>
+<td><img src="img/profile-bevan.png" alt=""/></td>
 <td>
 <p>
 <b>Bevan is a 30 year old computer wizz and an adrenaline junkie.</b>
@@ -82,7 +82,7 @@ Bevan has a unlimited bandwidth high speed broadband internet connection.
 
 <h2>User Profile: Graham</h2>
 <table cellpadding="10px"><tr>
-<td><img src="img/profile-graham.png"/></td>
+<td><img src="img/profile-graham.png" alt=""/></td>
 <td>
 <p>
 <b>Graham is a 55 year old retired painter and decorator.</b>
commit 3da2ddef79a2b81ff7aefb1ab94a1955ee2bcc6b
Author: Carlo Marcelo Arenas Belon <carenas at sajinet.com.pe>
Date:   Sat Oct 24 23:29:24 2009 -0700

    documentation: invalid entities

diff --git a/docs/html/pk-authors.html b/docs/html/pk-authors.html
index 3d84dea..3b95d17 100644
--- a/docs/html/pk-authors.html
+++ b/docs/html/pk-authors.html
@@ -160,7 +160,7 @@
   <h2>Grzegorz DÄ…browski</h2>
   <p>
    Grzegorz has 5 years of experience developing open source software. He has a M.Sc. degree in Computer Science.
-   Since 2005 he has been working as an an engineer in <a href="http://adbglobal.com/">Advanced Digital Broadcast</a> in R&D group.
+   Since 2005 he has been working as an an engineer in <a href="http://adbglobal.com/">Advanced Digital Broadcast</a> in R&amp;D group.
    He is also the founder and the main developer of <a href="http://home.gna.org/pingwinek/">Pingwinek Linux</a> independent distribution.
    He is also interested in <a href="http://haiku-os.org/">Haiku OS</a> project.
   </p>
diff --git a/docs/html/pk-faq.html b/docs/html/pk-faq.html
index 79d4035..055d0a4 100644
--- a/docs/html/pk-faq.html
+++ b/docs/html/pk-faq.html
@@ -332,7 +332,7 @@ proxy = dbus_g_proxy_new_for_name (connection,
                              "/org/freedesktop/PackageKit",
                              "org.freedesktop.PackageKit.Modify");
 /* execute sync method */
-ret = dbus_g_proxy_call (proxy, "InstallPackageNames", &error,
+ret = dbus_g_proxy_call (proxy, "InstallPackageNames", &amp;error,
                          G_TYPE_STRV, {"openoffice-clipart", NULL},
                          G_TYPE_STRING, "",
                          G_TYPE_INVALID, G_TYPE_INVALID);
diff --git a/docs/html/pk-screenshots.html b/docs/html/pk-screenshots.html
index 7c71fe6..c1286e8 100644
--- a/docs/html/pk-screenshots.html
+++ b/docs/html/pk-screenshots.html
@@ -161,8 +161,8 @@
   <center><a href="img/gpk-client-firmware.png"><img src="img/thumbnails/gpk-client-firmware.png" alt=""/></a></center>
   <p class="caption">Search for required firmware in packages</p>
 </td>
-<td width="300">&nbsp</td>
-<td width="300">&nbsp</td>
+<td width="300">&nbsp;</td>
+<td width="300">&nbsp;</td>
 </tr>
 </table>
 </center>
commit a90cce3f8915927289b1ee3e2577e8f4a22097a0
Author: Carlo Marcelo Arenas Belon <carenas at sajinet.com.pe>
Date:   Sat Oct 24 23:59:05 2009 -0700

    documentation: incorrect html

diff --git a/docs/html/pk-authors.html b/docs/html/pk-authors.html
index cd60e14..3d84dea 100644
--- a/docs/html/pk-authors.html
+++ b/docs/html/pk-authors.html
@@ -332,7 +332,6 @@
 </tr>
 
 </table>
-</table>
 
 <p>Back to the <a href="index.html">main page</a></p>
 
diff --git a/docs/html/pk-download.html b/docs/html/pk-download.html
index 323db44..44d0754 100644
--- a/docs/html/pk-download.html
+++ b/docs/html/pk-download.html
@@ -164,7 +164,7 @@ public git repositories on freedesktop:
 </p>
 <pre>
 git clone git://anongit.freedesktop.org/git/packagekit/PackageKit
-git clone git://git.gnome.org/gnome-packagekit</pre>
+git clone git://git.gnome.org/gnome-packagekit
 </pre>
 <p>
 <a href="http://www.kde-apps.org/content/show.php/KPackageKit?content=84745">KPackageKit</a>
diff --git a/docs/html/pk-faq.html b/docs/html/pk-faq.html
index 4a6f7e0..79d4035 100644
--- a/docs/html/pk-faq.html
+++ b/docs/html/pk-faq.html
@@ -497,7 +497,6 @@ The reasons for this are as follows:
   but not agree to EULAs, thus making the transaction invalid and impossible.
  </li>
 </ul>
-</p>
 <p>
 EULAs or other agreements will have to be agreed to <b>before</b> the
 transaction is processed using the <code>EulaRequired</code> signal.
@@ -533,7 +532,7 @@ administrator to install software on remote machines.
 </p>
 
 <hr>
-<h3><a name="system=daemon">Is PackageKit a system daemon, always running and using resources?</a></h3>
+<h3><a name="system-daemon">Is PackageKit a system daemon, always running and using resources?</a></h3>
 <p>
 PackageKit is not yet another system daemon.
 It quits when not doing anything, and only starts when something wants
diff --git a/docs/html/pk-screenshots.html b/docs/html/pk-screenshots.html
index 1cec01b..7c71fe6 100644
--- a/docs/html/pk-screenshots.html
+++ b/docs/html/pk-screenshots.html
@@ -238,9 +238,11 @@
   <center><a href="img/pk-web-plugin.png"><img src="img/thumbnails/pk-web-plugin.png" alt=""/></a></center>
   <p class="caption">Mozilla web plugin</p>
 </td>
-<p>Back to the <a href="index.html">main page</a></p>
 </tr>
 </table>
+</center>
+
+<p>Back to the <a href="index.html">main page</a></p>
 
 <p class="footer">
  Copyright <a href="mailto:richard at hughsie.com">Richard Hughes 2007-2009</a><br/>
diff --git a/docs/html/pk-users.html b/docs/html/pk-users.html
index dd90246..982e22f 100644
--- a/docs/html/pk-users.html
+++ b/docs/html/pk-users.html
@@ -99,6 +99,7 @@
    Uses latest version (0.4.8 in GNOME:Factory)
   </p>
  </td>
+</tr>
 <tr>
  <td>
   <a href="http://www.novell.com/linux"><img src="img/users-sles.png" alt=""/></a>
@@ -114,7 +115,6 @@
   </p>
  </td>
 </tr>
-</tr>
 <!--
 <tr>
  <td>
commit d8d2385cc452b4bffb980a8036d7d4147bb09394
Author: Richard Hughes <richard at hughsie.com>
Date:   Tue Oct 27 10:24:25 2009 +0000

    Copy the check for .src.rpm packages to the simulate phase to fix rh#530264

diff --git a/backends/yum/yumBackend.py b/backends/yum/yumBackend.py
index 5625089..411e094 100755
--- a/backends/yum/yumBackend.py
+++ b/backends/yum/yumBackend.py
@@ -2565,6 +2565,11 @@ class PackageKitYumBackend(PackageKitBaseBackend, PackagekitPackage):
         self.percentage(0)
         self.status(STATUS_RUNNING)
 
+        for inst_file in inst_files:
+            if inst_file.endswith('.src.rpm'):
+                self.error(ERROR_CANNOT_INSTALL_SOURCE_PACKAGE, 'Backend will not install a src rpm file', exit=False)
+                return
+
         # common checks copied from yum
         for inst_file in inst_files:
             if not self._check_local_file(inst_file):
commit f7ad658d5a5070d08be178cfa9704ca29418c885
Author: Richard Hughes <richard at hughsie.com>
Date:   Tue Oct 27 09:59:01 2009 +0000

    Add the missing InstallSignature role from the backend auto-detection. Fixes rh#530945

diff --git a/backends/yum/pk-backend-yum.c b/backends/yum/pk-backend-yum.c
index 00a4227..d9b7256 100644
--- a/backends/yum/pk-backend-yum.c
+++ b/backends/yum/pk-backend-yum.c
@@ -146,6 +146,7 @@ backend_get_roles (PkBackend *backend)
 		PK_ROLE_ENUM_GET_UPDATE_DETAIL,
 		PK_ROLE_ENUM_INSTALL_PACKAGES,
 		PK_ROLE_ENUM_INSTALL_FILES,
+		PK_ROLE_ENUM_INSTALL_SIGNATURE,
 		PK_ROLE_ENUM_REFRESH_CACHE,
 		PK_ROLE_ENUM_REMOVE_PACKAGES,
 		PK_ROLE_ENUM_DOWNLOAD_PACKAGES,
diff --git a/src/pk-backend.c b/src/pk-backend.c
index 1e0c7f2..e93f9d8 100644
--- a/src/pk-backend.c
+++ b/src/pk-backend.c
@@ -247,6 +247,8 @@ pk_backend_get_roles (PkBackend *backend)
 		pk_bitfield_add (roles, PK_ROLE_ENUM_GET_UPDATE_DETAIL);
 	if (desc->install_packages != NULL)
 		pk_bitfield_add (roles, PK_ROLE_ENUM_INSTALL_PACKAGES);
+	if (desc->install_signature != NULL)
+		pk_bitfield_add (roles, PK_ROLE_ENUM_INSTALL_SIGNATURE);
 	if (desc->install_files != NULL)
 		pk_bitfield_add (roles, PK_ROLE_ENUM_INSTALL_FILES);
 	if (desc->refresh_cache != NULL)
commit 7b23500a55ab6e370ef788c0ebc8393bee5c87c6
Author: Richard Hughes <richard at hughsie.com>
Date:   Tue Oct 27 09:44:16 2009 +0000

    trivial script to properly clean the gtk-doc generated files

diff --git a/docs/api/clean.sh b/docs/api/clean.sh
new file mode 100755
index 0000000..b90dd93
--- /dev/null
+++ b/docs/api/clean.sh
@@ -0,0 +1,7 @@
+rm -f *.txt
+rm -f PackageKit-scan.*
+rm -f PackageKit.types
+rm -f html/*.html
+rm -f html/*.png
+rm -f tmpl/*
+
commit 17cf7c2bfadef59690c0c96a6af18ae2fb3430a2
Author: Richard Hughes <richard at hughsie.com>
Date:   Tue Oct 20 15:47:36 2009 +0100

    yum: disable repos that are not contactable

diff --git a/backends/yum/yumBackend.py b/backends/yum/yumBackend.py
index 8632e53..5625089 100755
--- a/backends/yum/yumBackend.py
+++ b/backends/yum/yumBackend.py
@@ -2667,6 +2667,13 @@ class PackageKitYumBackend(PackageKitBaseBackend, PackagekitPackage):
                     continue
                 repo.metadata_expire = 60 * 60 * 1.5 # 1.5 hours, the default
 
+        # disable repos that are not contactable
+        for repo in self.yumbase.repos.listEnabled():
+            try:
+                repo.repoXML
+            except yum.Errors.RepoError, e:
+                self.yumbase.repos.disableRepo(repo.id)
+
         # should we suggest yum-complete-transaction?
         unfinished = yum.misc.find_unfinished_transactions(yumlibpath=self.yumbase.conf.persistdir)
         if unfinished and not lazy_cache:
commit 3de3a264e9cc5e62f6d270d1f4f74ac49590ed72
Author: Richard Hughes <richard at hughsie.com>
Date:   Tue Oct 20 08:55:05 2009 +0100

    cnf: don't exit before we try to search if no alternatives were found

diff --git a/contrib/PackageKit.spec.in b/contrib/PackageKit.spec.in
index afee47d..3c255a6 100644
--- a/contrib/PackageKit.spec.in
+++ b/contrib/PackageKit.spec.in
@@ -245,7 +245,9 @@ user to restart the computer or remove and re-insert the device.
 	--disable-local \
 	--disable-ruck \
 	--disable-strict \
+%if 0
 	--disable-glib \
+%endif
 	--disable-tests
 
 make %{?_smp_mflags}
@@ -421,6 +423,7 @@ update-mime-database %{_datadir}/mime &> /dev/null || :
 %{_libdir}/libpackagekit-glib*.so
 %{_libdir}/pkgconfig/packagekit-glib*.pc
 %dir %{_includedir}/PackageKit
+%dir %{_includedir}/PackageKit/packagekit-glib
 %dir %{_includedir}/PackageKit/packagekit-glib2
 %{_includedir}/PackageKit/packagekit-glib*/*.h
 
diff --git a/contrib/command-not-found/pk-command-not-found.c b/contrib/command-not-found/pk-command-not-found.c
index 2cdbc10..3b91e15 100644
--- a/contrib/command-not-found/pk-command-not-found.c
+++ b/contrib/command-not-found/pk-command-not-found.c
@@ -696,13 +696,6 @@ main (int argc, char *argv[])
 	/* TRANSLATORS: the prefix of all the output telling the user why it's not executing */
 	g_print ("%s ", _("Command not found."));
 
-	/* no possibilities */
-	if (array->len == 0) {
-		retval = EXIT_COMMAND_NOT_FOUND;
-		g_print ("\n");
-		goto out;
-	}
-
 	/* one exact possibility */
 	if (array->len == 1) {
 		possible = g_ptr_array_index (array, 0);
commit 524bcbce7d47cc57a40d6efd9456cc234f75f02d
Author: Richard Hughes <richard at hughsie.com>
Date:   Wed Oct 14 12:48:45 2009 +0100

    yum: add a few more entries in the yum-comps mapping

diff --git a/backends/yum/yum-comps-groups.conf b/backends/yum/yum-comps-groups.conf
index e1ca846..248c388 100644
--- a/backends/yum/yum-comps-groups.conf
+++ b/backends/yum/yum-comps-groups.conf
@@ -14,9 +14,9 @@ localization=base-system;input-methods,language-support;khmer-support,language-s
 multimedia=apps;sound-and-video,rpmfusion_free;sound-and-video
 office=apps;office,apps;editors
 other=apps;engineering-and-scientific,rpmfusion_free;misc-libs,rpmfusion_nonfree;emulators
-programming=development;haskell,development;kde-software-development,development;gnome-software-development,development;development-tools,development;eclipse,development;development-libs,development;x-software-development,development;web-development,development;legacy-software-development,development;ruby,development;java-development,development;xfce-software-development,development;fedora-packager,development;mingw32,development;ocaml
+programming=development;haskell,development;kde-software-development,development;gnome-software-development,development;development-tools,development;eclipse,development;development-libs,development;x-software-development,development;web-development,development;legacy-software-development,development;ruby,development;java-development,development;xfce-software-development,development;fedora-packager,development;mingw32,development;ocaml;development;perl;development;books
 publishing=apps;authoring-and-publishing,apps;font-design
-servers=servers;clustering,servers;dns-server,servers;server-cfg,servers;news-server,servers;web-server,servers;smb-server,servers;sql-server,servers;ftp-server,servers;printing,servers;mysql,servers;mail-server,servers;network-server,servers;legacy-network-server
+servers=servers;clustering,servers;dns-server,servers;server-cfg,servers;news-server,servers;web-server,servers;smb-server,servers;sql-server,servers;ftp-server,servers;printing,servers;mysql,servers;mail-server,servers;network-server,servers;legacy-network-server;servers;directory-server
 system=base-system;java,base-system;base-x,base-system;hardware-support,base-system;dial-up,base-system;base,rpmfusion_free;base,rpmfusion_free;system-tools,rpmfusion_nonfree;hardware-support,rpmfusion_nonfree;misc-tools,rpmfusion_nonfree;base
 virtualization=base-system;virtualization
 
commit 644f9f1257f662e42b0892f89a57913dbcaedb08
Author: Richard Hughes <richard at hughsie.com>
Date:   Wed Oct 14 10:09:05 2009 +0100

    yum: only advertise GetDistroUpgrades if the preupgrade binary is present

diff --git a/backends/yum/pk-backend-yum.c b/backends/yum/pk-backend-yum.c
index 24af7a3..00a4227 100644
--- a/backends/yum/pk-backend-yum.c
+++ b/backends/yum/pk-backend-yum.c
@@ -23,6 +23,8 @@
 #include <pk-backend-spawn.h>
 #include <string.h>
 
+#define PREUPGRADE_BINARY	"/usr/bin/preupgrade"
+
 static PkBackendSpawn *spawn;
 
 /**
@@ -126,6 +128,49 @@ backend_get_filters (PkBackend *backend)
 }
 
 /**
+ * backend_get_roles:
+ */
+static PkBitfield
+backend_get_roles (PkBackend *backend)
+{
+	PkBitfield roles;
+	roles = pk_bitfield_from_enums (
+		PK_ROLE_ENUM_CANCEL,
+		PK_ROLE_ENUM_GET_DEPENDS,
+		PK_ROLE_ENUM_GET_DETAILS,
+		PK_ROLE_ENUM_GET_FILES,
+		PK_ROLE_ENUM_GET_REQUIRES,
+		PK_ROLE_ENUM_GET_PACKAGES,
+		PK_ROLE_ENUM_WHAT_PROVIDES,
+		PK_ROLE_ENUM_GET_UPDATES,
+		PK_ROLE_ENUM_GET_UPDATE_DETAIL,
+		PK_ROLE_ENUM_INSTALL_PACKAGES,
+		PK_ROLE_ENUM_INSTALL_FILES,
+		PK_ROLE_ENUM_REFRESH_CACHE,
+		PK_ROLE_ENUM_REMOVE_PACKAGES,
+		PK_ROLE_ENUM_DOWNLOAD_PACKAGES,
+		PK_ROLE_ENUM_RESOLVE,
+		PK_ROLE_ENUM_SEARCH_DETAILS,
+		PK_ROLE_ENUM_SEARCH_FILE,
+		PK_ROLE_ENUM_SEARCH_GROUP,
+		PK_ROLE_ENUM_SEARCH_NAME,
+		PK_ROLE_ENUM_UPDATE_PACKAGES,
+		PK_ROLE_ENUM_UPDATE_SYSTEM,
+		PK_ROLE_ENUM_GET_REPO_LIST,
+		PK_ROLE_ENUM_REPO_ENABLE,
+		PK_ROLE_ENUM_REPO_SET_DATA,
+		PK_ROLE_ENUM_GET_CATEGORIES,
+		PK_ROLE_ENUM_SIMULATE_INSTALL_FILES,
+		-1);
+
+	/* only add GetDistroUpgrades if the binary is present */
+	if (g_file_test (PREUPGRADE_BINARY, G_FILE_TEST_EXISTS))
+		pk_bitfield_add (roles, PK_ROLE_ENUM_GET_DISTRO_UPGRADES);
+
+	return roles;
+}
+
+/**
  * backend_get_mime_types:
  */
 static gchar *
@@ -492,7 +537,7 @@ PK_BACKEND_OPTIONS (
 	backend_destroy,			/* destroy */
 	backend_get_groups,			/* get_groups */
 	backend_get_filters,			/* get_filters */
-	NULL,					/* get_roles */
+	backend_get_roles,			/* get_roles */
 	backend_get_mime_types,			/* get_mime_types */
 	backend_cancel,				/* cancel */
 	backend_download_packages,		/* download_packages */
commit e8381809bf333017ef984c35dff867cda09bcd11
Author: thalia <thalia at fedoraproject.org>
Date:   Fri Oct 23 10:01:01 2009 +0000

    Sending translation for Greek

diff --git a/po/el.po b/po/el.po
index 5984da1..ae0f7b0 100644
--- a/po/el.po
+++ b/po/el.po
@@ -9,8 +9,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: packagekit.master\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-10-22 15:58+0000\n"
-"PO-Revision-Date: 2009-10-22 22:11+0200\n"
+"POT-Creation-Date: 2009-10-23 04:23+0000\n"
+"PO-Revision-Date: 2009-10-23 12:59+0200\n"
 "Last-Translator: Thalia Papoutsaki <saliyath at gmail.com>\n"
 "Language-Team: Ελληνικά <team at gnome.gr>\n"
 "MIME-Version: 1.0\n"
@@ -677,13 +677,14 @@ msgstr "Εγκατάσταση..."
 
 #. TRANSLATORS: downloading repo data so we can search
 #: ../contrib/command-not-found/pk-command-not-found.c:365
+#, fuzzy
 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:369
 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:373
@@ -1179,8 +1180,9 @@ msgstr "Έλεγχος αλλαγών..."
 
 #. TRANSLATORS: transaction state, when we're writing to the system package database
 #: ../lib/packagekit-glib2/pk-console-shared.c:310
+#, fuzzy
 msgid "Committing changes"
-msgstr ""
+msgstr "Ολοκλήρωση αλλαγών"
 
 #. TRANSLATORS: transaction state, requesting data from a server
 #: ../lib/packagekit-glib2/pk-console-shared.c:314
@@ -1201,7 +1203,7 @@ msgstr "Ακύρωση"
 #. TRANSLATORS: transaction state, downloading metadata
 #: ../lib/packagekit-glib2/pk-console-shared.c:326
 msgid "Downloading repository information"
-msgstr ""
+msgstr "Λήψη πληροφοριών αποθετηρίου"
 
 #. TRANSLATORS: transaction state, downloading metadata
 #: ../lib/packagekit-glib2/pk-console-shared.c:330
@@ -1264,7 +1266,7 @@ msgstr "Εύρεση ονόματος πακέτου..."
 #. TRANSLATORS: transaction state, waiting for user to type in a password
 #: ../lib/packagekit-glib2/pk-console-shared.c:370
 msgid "Waiting for authentication"
-msgstr ""
+msgstr "Αναμονή για πιστοποίηση"
 
 #. TRANSLATORS: transaction state, we are updating the list of processes
 #: ../lib/packagekit-glib2/pk-console-shared.c:374
@@ -1274,18 +1276,17 @@ msgstr ""
 #. TRANSLATORS: transaction state, we are checking executable files currently in use
 #: ../lib/packagekit-glib2/pk-console-shared.c:378
 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:382
 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:386
-#, fuzzy
 msgid "Copying files"
-msgstr "Χωρίς αρχεία"
+msgstr "Αντιγραφή αρχείων"
 
 #. TRANSLATORS: The type of update
 #: ../lib/packagekit-glib2/pk-console-shared.c:404
@@ -1294,8 +1295,9 @@ msgstr "Ασήμαντο"
 
 #. TRANSLATORS: The type of update
 #: ../lib/packagekit-glib2/pk-console-shared.c:408
+#, fuzzy
 msgid "Normal"
-msgstr ""
+msgstr "Κανονική"
 
 #. TRANSLATORS: The type of update
 #: ../lib/packagekit-glib2/pk-console-shared.c:412
@@ -1304,8 +1306,9 @@ msgstr "Σημαντικό"
 
 #. TRANSLATORS: The type of update
 #: ../lib/packagekit-glib2/pk-console-shared.c:416
+#, fuzzy
 msgid "Security"
-msgstr ""
+msgstr "Ασφάλειας"
 
 #. TRANSLATORS: The type of update
 #: ../lib/packagekit-glib2/pk-console-shared.c:420
@@ -1334,7 +1337,7 @@ msgstr "Εγκατεστημένη έκδοση"
 #. TRANSLATORS: The state of a package, i.e. not installed
 #: ../lib/packagekit-glib2/pk-console-shared.c:438
 msgid "Available"
-msgstr ""
+msgstr "Διαθέσιμο"
 
 #. TRANSLATORS: The action of the package, in present tense
 #: ../lib/packagekit-glib2/pk-console-shared.c:456
@@ -1381,9 +1384,8 @@ msgstr "Εγκατάσταση..."
 
 #. TRANSLATORS: The action of the package, in past tense
 #: ../lib/packagekit-glib2/pk-console-shared.c:498
-#, fuzzy
 msgid "Downloaded"
-msgstr "Λήψη..."
+msgstr "Λήφθηκε"
 
 #. TRANSLATORS: The action of the package, in past tense
 #: ../lib/packagekit-glib2/pk-console-shared.c:510
@@ -1397,20 +1399,19 @@ msgstr ""
 
 #. TRANSLATORS: The action of the package, in past tense
 #: ../lib/packagekit-glib2/pk-console-shared.c:518
-#, fuzzy
 msgid "Obsoleted"
-msgstr "Αντικαθιστά"
+msgstr "Αντικαταστάθηκε"
 
 #. TRANSLATORS: The action of the package, in past tense
 #: ../lib/packagekit-glib2/pk-console-shared.c:522
 #, fuzzy
 msgid "Reinstalled"
-msgstr "Προς εγκατάσταση"
+msgstr "Εγκαταστάθηκε ξανά"
 
 #. TRANSLATORS: The role of the transaction, in present tense
 #: ../lib/packagekit-glib2/pk-console-shared.c:540
 msgid "Unknown role type"
-msgstr ""
+msgstr "Άγνωστος τύπος ρόλου"
 
 #. TRANSLATORS: The role of the transaction, in present tense
 #: ../lib/packagekit-glib2/pk-console-shared.c:544
@@ -1441,7 +1442,7 @@ msgstr "Λήψη ενημερώσεων"
 #. TRANSLATORS: The role of the transaction, in present tense
 #: ../lib/packagekit-glib2/pk-console-shared.c:564
 msgid "Searching by details"
-msgstr ""
+msgstr "Αναζήτηση βάσει λεπτομερειών"
 
 #. TRANSLATORS: The role of the transaction, in present tense
 #: ../lib/packagekit-glib2/pk-console-shared.c:568
@@ -1602,7 +1603,7 @@ msgstr "Κλειδί ID "
 #. TRANSLATORS: the key fingerprint, again, yet more hex
 #: ../lib/packagekit-glib2/pk-task-text.c:122
 msgid "Key fingerprint"
-msgstr ""
+msgstr "Αποτύπωμα κλειδιού"
 
 #. TRANSLATORS: the timestamp (a bit like a machine readable time)
 #: ../lib/packagekit-glib2/pk-task-text.c:125
commit e9cb36a03b2e019bc7d2671b79b36a687b05895e
Author: thalia <thalia at fedoraproject.org>
Date:   Thu Oct 22 19:14:29 2009 +0000

    Sending translation for Greek

diff --git a/po/el.po b/po/el.po
index c9c5e56..5984da1 100644
--- a/po/el.po
+++ b/po/el.po
@@ -4,13 +4,14 @@
 #
 # Dimitris Glezos <dimitris at glezos.com>, 2008, 2009.
 # Jennie Petoumenou <epetoumenou at gmail.com>, 2009.
+# Thalia Papoutsaki <saliyath at gmail.com>, 2009
 msgid ""
 msgstr ""
 "Project-Id-Version: packagekit.master\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-08-24 11:06+0100\n"
-"PO-Revision-Date: 2009-08-04 15:47+0300\n"
-"Last-Translator: Jennie Petoumenou <epetoumenou at gmail.com>\n"
+"POT-Creation-Date: 2009-10-22 15:58+0000\n"
+"PO-Revision-Date: 2009-10-22 22:11+0200\n"
+"Last-Translator: Thalia Papoutsaki <saliyath at gmail.com>\n"
 "Language-Team: Ελληνικά <team at gnome.gr>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -19,1158 +20,947 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
 #. TRANSLATORS: this is an atomic transaction
-#: ../client/pk-console.c:235
+#: ../client/pk-console.c:143
 msgid "Transaction"
 msgstr "Εργασία"
 
 #. TRANSLATORS: this is the time the transaction was started in system timezone
-#: ../client/pk-console.c:237
+#: ../client/pk-console.c:145
 msgid "System time"
 msgstr "Ώρα συστήματος"
 
 #. TRANSLATORS: this is if the transaction succeeded or not
-#: ../client/pk-console.c:239
+#: ../client/pk-console.c:147
 msgid "Succeeded"
 msgstr "Επιτυχής"
 
-#. TRANSLATORS: if the repo is enabled
-#: ../client/pk-console.c:239 ../client/pk-console.c:406
+#: ../client/pk-console.c:147
 msgid "True"
 msgstr "Αληθές"
 
-#: ../client/pk-console.c:239 ../client/pk-console.c:406
+#: ../client/pk-console.c:147
 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:241 ../src/pk-polkit-action-lookup.c:327
+#: ../client/pk-console.c:149
+#: ../src/pk-polkit-action-lookup.c:336
 msgid "Role"
 msgstr "Ρόλος"
 
 #. TRANSLATORS: this is The duration of the transaction
-#: ../client/pk-console.c:246
+#: ../client/pk-console.c:154
 msgid "Duration"
 msgstr "Διάρκεια"
 
-#: ../client/pk-console.c:246
+#: ../client/pk-console.c:154
 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:250 ../src/pk-polkit-action-lookup.c:341
+#: ../client/pk-console.c:158
+#: ../src/pk-polkit-action-lookup.c:350
 msgid "Command line"
 msgstr "Γραμμή εντολών"
 
 #. TRANSLATORS: this is the user ID of the user that started the action
-#: ../client/pk-console.c:252
+#: ../client/pk-console.c:160
 msgid "User ID"
 msgstr "ID χρήστη"
 
 #. TRANSLATORS: this is the username, e.g. hughsie
-#: ../client/pk-console.c:259
+#: ../client/pk-console.c:167
 msgid "Username"
 msgstr "Όνομα χρήστη"
 
 #. TRANSLATORS: this is the users real name, e.g. "Richard Hughes"
-#: ../client/pk-console.c:263
+#: ../client/pk-console.c:171
 msgid "Real name"
 msgstr "Πραγματικό όνομα"
 
-#: ../client/pk-console.c:271
+#: ../client/pk-console.c:179
 msgid "Affected packages:"
 msgstr "Επηρεαζόμενα πακέτα:"
 
-#: ../client/pk-console.c:273
+#: ../client/pk-console.c:181
 msgid "Affected packages: None"
 msgstr "Επηρεαζόμενα πακέτα: Κανένα"
 
 #. TRANSLATORS: this is the distro, e.g. Fedora 10
-#: ../client/pk-console.c:298
+#: ../client/pk-console.c:201
 msgid "Distribution"
 msgstr "Διανομή"
 
 #. TRANSLATORS: this is type of update, stable or testing
-#: ../client/pk-console.c:300
+#: ../client/pk-console.c:203
 msgid "Type"
 msgstr "Τύπος"
 
 #. TRANSLATORS: this is any summary text describing the upgrade
 #. TRANSLATORS: this is the summary of the group
-#: ../client/pk-console.c:302 ../client/pk-console.c:325
+#: ../client/pk-console.c:205
+#: ../client/pk-console.c:226
 msgid "Summary"
 msgstr "Περίληψη"
 
 #. TRANSLATORS: this is the group category name
-#: ../client/pk-console.c:314
+#: ../client/pk-console.c:215
 msgid "Category"
 msgstr "Κατηγορία"
 
 #. TRANSLATORS: this is group identifier
-#: ../client/pk-console.c:316
+#: ../client/pk-console.c:217
 msgid "ID"
 msgstr "ID"
 
 #. TRANSLATORS: this is the parent group
-#: ../client/pk-console.c:319
+#: ../client/pk-console.c:220
 msgid "Parent"
 msgstr "Γονική"
 
 #. TRANSLATORS: this is the name of the parent group
-#: ../client/pk-console.c:322
+#: ../client/pk-console.c:223
 msgid "Name"
 msgstr "Όνομα"
 
 #. TRANSLATORS: this is preferred icon for the group
-#: ../client/pk-console.c:328
+#: ../client/pk-console.c:229
 msgid "Icon"
 msgstr "Εικονίδιο"
 
 #. TRANSLATORS: this is a header for the package that can be updated
-#: ../client/pk-console.c:343
+#: ../client/pk-console.c:243
 msgid "Details about the update:"
 msgstr "Λεπτομέρειες ενημέρωσης:"
 
 #. TRANSLATORS: details about the update, package name and version
+#. 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:345 ../src/pk-polkit-action-lookup.c:352
-#, fuzzy
+#: ../client/pk-console.c:249
+#: ../lib/packagekit-glib2/pk-task-text.c:107
+#: ../lib/packagekit-glib2/pk-task-text.c:174
+#: ../src/pk-polkit-action-lookup.c:361
 msgid "Package"
 msgid_plural "Packages"
 msgstr[0] "Πακέτο"
 msgstr[1] "Πακέτο"
 
 #. TRANSLATORS: details about the update, any packages that this update updates
-#: ../client/pk-console.c:348
+#: ../client/pk-console.c:252
 msgid "Updates"
 msgstr "Ενημερώνει"
 
 #. TRANSLATORS: details about the update, any packages that this update obsoletes
-#: ../client/pk-console.c:352
+#: ../client/pk-console.c:256
 msgid "Obsoletes"
 msgstr "Αντικαθιστά"
 
 #. TRANSLATORS: details about the update, the vendor URLs
-#: ../client/pk-console.c:356
+#. TRANSLATORS: the vendor (e.g. vmware) that is providing the EULA
+#: ../client/pk-console.c:260
+#: ../lib/packagekit-glib2/pk-task-text.c:177
 msgid "Vendor"
 msgstr "Κατασκευαστής"
 
 #. TRANSLATORS: details about the update, the bugzilla URLs
-#: ../client/pk-console.c:360
+#: ../client/pk-console.c:264
 msgid "Bugzilla"
 msgstr "Bugzilla"
 
 #. TRANSLATORS: details about the update, the CVE URLs
-#: ../client/pk-console.c:364
+#: ../client/pk-console.c:268
 msgid "CVE"
 msgstr "CVE"
 
 #. TRANSLATORS: details about the update, if the package requires a restart
-#: ../client/pk-console.c:368
+#: ../client/pk-console.c:272
 msgid "Restart"
 msgstr "Επανεκκίνηση"
 
 #. TRANSLATORS: details about the update, any description of the update
-#: ../client/pk-console.c:372
+#: ../client/pk-console.c:276
 msgid "Update text"
 msgstr "Ενημέρωση περιγραφής"
 
 #. TRANSLATORS: details about the update, the changelog for the package
-#: ../client/pk-console.c:376
+#: ../client/pk-console.c:280
 msgid "Changes"
 msgstr "Αλλαγές"
 
 #. TRANSLATORS: details about the update, the ongoing state of the update
-#: ../client/pk-console.c:380
+#: ../client/pk-console.c:284
 msgid "State"
 msgstr "Κατάσταση"
 
 #. TRANSLATORS: details about the update, date the update was issued
-#: ../client/pk-console.c:385
+#: ../client/pk-console.c:289
 msgid "Issued"
 msgstr "Δημοσίευση"
 
 #. TRANSLATORS: details about the update, date the update was updated
-#: ../client/pk-console.c:390
+#. TRANSLATORS: The action of the package, in past tense
+#: ../client/pk-console.c:294
+#: ../lib/packagekit-glib2/pk-console-shared.c:502
 msgid "Updated"
 msgstr "Ενημέρωση"
 
-#: ../client/pk-console.c:477 ../client/pk-console.c:479
-msgid "Percentage"
-msgstr "Ποσοστό"
+#. TRANSLATORS: if the repo is enabled
+#: ../client/pk-console.c:312
+msgid "Enabled"
+msgstr "Ενεργοποιημένο"
 
-#: ../client/pk-console.c:479
-msgid "Unknown"
-msgstr "Άγνωστο"
+#. TRANSLATORS: if the repo is disabled
+#: ../client/pk-console.c:315
+msgid "Disabled"
+msgstr "Απενεργοποιημένο"
 
 #. TRANSLATORS: a package requires the system to be restarted
-#: ../client/pk-console.c:521
+#: ../client/pk-console.c:337
 msgid "System restart required by:"
 msgstr "Απαιτείται επανεκκίνηση του συστήματος από το:"
 
 #. TRANSLATORS: a package requires the session to be restarted
-#: ../client/pk-console.c:524
+#: ../client/pk-console.c:340
 msgid "Session restart required:"
 msgstr "Απαιτείται επανεκκίνηση της συνεδρίας από το:"
 
 #. TRANSLATORS: a package requires the system to be restarted due to a security update
-#: ../client/pk-console.c:527
+#: ../client/pk-console.c:343
 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:530
+#: ../client/pk-console.c:346
 msgid "Session restart (security) required:"
 msgstr "Απαιτείται επανεκκίνηση της συνεδρίας (για λόγους ασφαλείας) από το:"
 
 #. TRANSLATORS: a package requires the application to be restarted
-#: ../client/pk-console.c:533
+#: ../client/pk-console.c:349
 msgid "Application restart required by:"
 msgstr "Απαιτείται επανεκκίνηση της εφαρμογής από το:"
 
-#. TRANSLATORS: a package needs to restart their system
-#: ../client/pk-console.c:588
-msgid "Please restart the computer to complete the update."
-msgstr ""
-"Παρακαλώ, επανεκκινήστε τον υπολογιστή σας για να ολοκληρωθεί η ενημέρωση."
-
-#. TRANSLATORS: a package needs to restart the session
-#: ../client/pk-console.c:591
-msgid "Please logout and login to complete the update."
-msgstr ""
-"Παρακαλώ, αποσυνδεθείτε και συνδεθείτε εκ νέου για να ολοκληρωθεί η "
-"ενημέρωση."
-
-#. TRANSLATORS: a package needs to restart the application
-#: ../client/pk-console.c:594
-msgid "Please restart the application as it is being used."
-msgstr "Παρακαλώ, επανεκκινήστε την εφαρμογή, γιατί χρησιμοποιείται."
-
-#. TRANSLATORS: a package needs to restart their system (due to security)
-#: ../client/pk-console.c:597
-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:600
-msgid ""
-"Please logout and login to complete the update as important security updates "
-"have been installed."
-msgstr ""
-"Παρακαλώ, αποσυνδεθείτε και συνδεθείτε εκ νέου για να ολοκληρωθεί η "
-"ενημέρωση, γιατί εγκαταστάθηκαν σημαντικές ενημερώσεις ασφαλείας."
-
-#. TRANSLATORS: The package is already installed on the system
-#: ../client/pk-console.c:727
-#, c-format
-msgid "The package %s is already installed"
-msgstr "Το πακέτο %s είναι ήδη εγκατεστημένο"
+#. TRANSLATORS: This a list of details about the package
+#: ../client/pk-console.c:366
+msgid "Package description"
+msgstr "Περιγραφή πακέτου"
 
-#. TRANSLATORS: The package name was not found in any software sources. The detailed error follows
-#: ../client/pk-console.c:735
-#, c-format
-msgid "The package %s could not be installed: %s"
-msgstr "Δεν ήταν δυνατή η εγκατάσταση του πακέτου %s: %s"
-
-#. TRANSLATORS: There was a programming error that shouldn't happen. The detailed error follows
-#: ../client/pk-console.c:760 ../client/pk-console.c:783
-#: ../client/pk-console.c:879 ../client/pk-console.c:996
-#: ../client/pk-tools-common.c:62 ../client/pk-tools-common.c:81
-#: ../client/pk-tools-common.c:89
-#, c-format
-msgid "Internal error: %s"
-msgstr "Εσωτερικό σφάλμα: %s"
+#. TRANSLATORS: This a message (like a little note that may be of interest) from the transaction
+#: ../client/pk-console.c:384
+msgid "Message:"
+msgstr "Μήνυμα:"
 
-#. TRANSLATORS: There was an error installing the packages. The detailed error follows
-#: ../client/pk-console.c:768 ../client/pk-console.c:1392
-#, c-format
-msgid "This tool could not install the packages: %s"
-msgstr "Δεν ήταν δυνατή η εγκατάσταση των πακέτων: %s"
+#. TRANSLATORS: This where the package has no files
+#: ../client/pk-console.c:398
+msgid "No files"
+msgstr "Χωρίς αρχεία"
 
-#. TRANSLATORS: There was an error installing the files. The detailed error follows
-#: ../client/pk-console.c:791
-#, c-format
-msgid "This tool could not install the files: %s"
-msgstr "Δεν ήταν δυνατή η εγκατάσταση των αρχείων: %s"
+#. TRANSLATORS: This a list files contained in the package
+#: ../client/pk-console.c:403
+msgid "Package files"
+msgstr "Αρχεία πακέτου"
 
-#. TRANSLATORS: The package name was not found in the installed list. The detailed error follows
-#: ../client/pk-console.c:847
-#, c-format
-msgid "This tool could not remove %s: %s"
-msgstr "Δεν ήταν δυνατή η αφαίρεση του %s: %s"
+#. TRANSLATORS: we failed to get any results, which is pretty fatal in my book
+#: ../client/pk-console.c:475
+msgid "Fatal error"
+msgstr "Εσωτερικό σφάλμα"
 
-#. TRANSLATORS: There was an error removing the packages. The detailed error follows
-#: ../client/pk-console.c:870 ../client/pk-console.c:908
-#: ../client/pk-console.c:941
-#, c-format
-msgid "This tool could not remove the packages: %s"
-msgstr "Δεν ήταν δυνατή η αφαίρεση των πακέτων: %s"
+#. TRANSLATORS: the transaction failed in a way we could not expect
+#: ../client/pk-console.c:484
+#: ../contrib/command-not-found/pk-command-not-found.c:430
+#: ../contrib/command-not-found/pk-command-not-found.c:597
+msgid "The transaction failed"
+msgstr "Η εργασία απέτυχε"
 
-#. TRANSLATORS: When removing, we might have to remove other dependencies
-#: ../client/pk-console.c:920
-msgid "The following packages have to be removed:"
-msgstr "Τα παρακάτω πακέτα πρέπει να αφαιρεθούν:"
+#. TRANSLATORS: a package needs to restart their system
+#: ../client/pk-console.c:552
+msgid "Please restart the computer to complete the update."
+msgstr "Παρακαλώ, επανεκκινήστε τον υπολογιστή σας για να ολοκληρωθεί η ενημέρωση."
 
-#. TRANSLATORS: We are checking if it's okay to remove a list of packages
-#: ../client/pk-console.c:927
-msgid "Proceed removing additional packages?"
-msgstr "Μπορούν να αφαιρεθούν τα επιπλέον πακέτα;"
+#. TRANSLATORS: a package needs to restart the session
+#: ../client/pk-console.c:555
+msgid "Please logout and login to complete the update."
+msgstr "Παρακαλώ, αποσυνδεθείτε και συνδεθείτε εκ νέου για να ολοκληρωθεί η ενημέρωση."
 
-#. TRANSLATORS: We did not remove any packages
-#: ../client/pk-console.c:932
-msgid "The package removal was canceled!"
-msgstr "Η αφαίρεση των πακέτων ακυρώθηκε!"
+#. TRANSLATORS: a package needs to restart their system (due to security)
+#: ../client/pk-console.c:558
+msgid "Please restart the computer to complete the update as important security updates have been installed."
+msgstr "Παρακαλώ, επανεκκινήστε τον υπολογιστή σας για να ολοκληρωθεί η ενημέρωση, γιατί εγκαταστάθηκαν σημαντικές ενημερώσεις ασφαλείας."
 
-#. TRANSLATORS: The package name was not found in any software sources
-#: ../client/pk-console.c:973
-#, c-format
-msgid "This tool could not download the package %s as it could not be found"
-msgstr "Δεν ήταν δυνατή η λήψη του πακέτου %s, γιατί δε βρέθηκε"
+#. TRANSLATORS: a package needs to restart the session (due to security)
+#: ../client/pk-console.c:561
+msgid "Please logout and login to complete the update as important security updates have been installed."
+msgstr "Παρακαλώ, αποσυνδεθείτε και συνδεθείτε εκ νέου για να ολοκληρωθεί η ενημέρωση, γιατί εγκαταστάθηκαν σημαντικές ενημερώσεις ασφαλείας."
 
-#. TRANSLATORS: Could not download the packages for some reason. The detailed error follows
-#: ../client/pk-console.c:1004
+#. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
+#: ../client/pk-console.c:584
 #, c-format
-msgid "This tool could not download the packages: %s"
-msgstr "Δεν ήταν δυνατή η λήψη των πακέτων: %s"
+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:1031 ../client/pk-console.c:1040
+#: ../client/pk-console.c:612
 #, c-format
-msgid "This tool could not update %s: %s"
-msgstr "Δεν ήταν δυνατή η ενημέρωση του %s: %s"
+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:1062 ../client/pk-console.c:1070
+#: ../client/pk-console.c:640
+#: ../client/pk-console.c:668
 #, c-format
-msgid "This tool could not get the requirements for %s: %s"
-msgstr "Δεν ήταν δυνατή η λήψη των απαιτούμενων για το %s: %s"
+msgid "This tool could not find the package: %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
-#: ../client/pk-console.c:1092 ../client/pk-console.c:1100
-#, c-format
-msgid "This tool could not get the dependencies for %s: %s"
-msgstr "Δεν ήταν δυνατή η λήψη των εξαρτήσεων του %s: %s"
-
 #. TRANSLATORS: There was an error getting the details about the package. The detailed error follows
-#: ../client/pk-console.c:1122 ../client/pk-console.c:1130
-#, c-format
-msgid "This tool could not get package details for %s: %s"
-msgstr "Δεν ήταν δυνατή η λήψη των λεπτομερειών πακέτου του %s: %s"
-
-#. TRANSLATORS: The package name was not found in any software sources. The detailed error follows
-#: ../client/pk-console.c:1152
-#, c-format
-msgid "This tool could not find the files for %s: %s"
-msgstr "Δε βρέθηκαν τα αρχεία για το %s: %s"
-
-#. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
-#: ../client/pk-console.c:1160
-#, c-format
-msgid "This tool could not get the file list for %s: %s"
-msgstr "Δεν ήταν δυνατή η λήψη της λίστας αρχείων για το %s: %s"
-
-#. TRANSLATORS: There was an error getting the list of packages. The filename follows
-#: ../client/pk-console.c:1182
-#, c-format
-msgid "File already exists: %s"
-msgstr "Το αρχείο υπάρχει ήδη: %s"
-
-#. TRANSLATORS: follows a list of packages to install
-#: ../client/pk-console.c:1187 ../client/pk-console.c:1243
-#: ../client/pk-console.c:1318
-msgid "Getting package list"
-msgstr "Λήψη της λίστας πακέτων..."
-
-#. TRANSLATORS: There was an error getting the list of packages. The detailed error follows
-#: ../client/pk-console.c:1193 ../client/pk-console.c:1249
-#: ../client/pk-console.c:1324
-#, c-format
-msgid "This tool could not get package list: %s"
-msgstr "Δεν ήταν δυνατή η λήψη της λίστας πακέτων: %s"
-
-#. TRANSLATORS: There was an error saving the list
-#: ../client/pk-console.c:1204
-#, c-format
-msgid "Failed to save to disk"
-msgstr "Απέτυχε η αποθήκευση στο δίσκο"
-
-#. TRANSLATORS: There was an error getting the list. The filename follows
-#: ../client/pk-console.c:1238 ../client/pk-console.c:1313
-#, c-format
-msgid "File does not exist: %s"
-msgstr "Δεν υπάρχει το αρχείο: %s"
-
-#. TRANSLATORS: header to a list of packages newly added
-#: ../client/pk-console.c:1270
-msgid "Packages to add"
-msgstr "Πακέτα προς εγκατάσταση"
-
-#. TRANSLATORS: header to a list of packages removed
-#: ../client/pk-console.c:1278
-msgid "Packages to remove"
-msgstr "Πακέτα προς αφαίρεση"
-
-#. TRANSLATORS: We didn't find any differences
-#: ../client/pk-console.c:1346
-#, c-format
-msgid "No new packages need to be installed"
-msgstr "Δεν χρειάζεται να εγκατασταθούν νέα πακέτα"
-
-#. TRANSLATORS: follows a list of packages to install
-#: ../client/pk-console.c:1352
-msgid "To install"
-msgstr "Προς εγκατάσταση"
-
-#. TRANSLATORS: searching takes some time....
-#: ../client/pk-console.c:1364
-msgid "Searching for package: "
-msgstr "Αναζήτηση για το πακέτο:"
-
-#. TRANSLATORS: package was not found -- this is the end of a string ended in ...
-#: ../client/pk-console.c:1368
-msgid "not found."
-msgstr "δε βρέθηκε."
-
-#. TRANSLATORS: We didn't find any packages to install
-#: ../client/pk-console.c:1379
-#, c-format
-msgid "No packages can be found to install"
-msgstr "Δε βρέθηκαν πακέτα προς εγκατάσταση"
-
-#. TRANSLATORS: installing new packages from package list
-#. TRANSLATORS: we are now installing the debuginfo packages we found earlier
-#: ../client/pk-console.c:1385
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:886
-#, c-format
-msgid "Installing packages"
-msgstr "Εγκατάσταση πακέτων..."
-
 #. TRANSLATORS: The package name was not found in any software sources. The detailed error follows
-#: ../client/pk-console.c:1421
+#: ../client/pk-console.c:696
+#: ../client/pk-console.c:724
+#: ../client/pk-console.c:752
+#: ../client/pk-console.c:780
+#: ../client/pk-console.c:808
 #, c-format
-msgid "This tool could not find the update details for %s: %s"
-msgstr "Δε βρέθηκαν οι λεπτομέρειες ενημέρωσης του %s: %s"
-
-#. TRANSLATORS: There was an error getting the details about the update for the package. The detailed error follows
-#: ../client/pk-console.c:1429
-#, c-format
-msgid "This tool could not get the update details for %s: %s"
-msgstr "Δεν ήταν δυνατή η λήψη των λεπτομερειών ενημέρωσης του %s: %s"
-
-#. TRANSLATORS: This was an unhandled error, and we don't have _any_ context
-#: ../client/pk-console.c:1460
-msgid "Error:"
-msgstr "Σφάλμα:"
-
-#. TRANSLATORS: This a list of details about the package
-#: ../client/pk-console.c:1474
-msgid "Package description"
-msgstr "Περιγραφή πακέτου"
-
-#. TRANSLATORS: This a message (like a little note that may be of interest) from the transaction
-#: ../client/pk-console.c:1490
-msgid "Message:"
-msgstr "Μήνυμα:"
-
-#. TRANSLATORS: This a list files contained in the package
-#: ../client/pk-console.c:1518
-msgid "Package files"
-msgstr "Αρχεία πακέτου"
-
-#. TRANSLATORS: This where the package has no files
-#: ../client/pk-console.c:1526
-msgid "No files"
-msgstr "Χωρίς αρχεία"
-
-#. TRANSLATORS: This a request for a GPG key signature from the backend, which the client will prompt for later
-#: ../client/pk-console.c:1549
-msgid "Repository signature required"
-msgstr "Απαιτείται η υπογραφή του αποθετηρίου"
-
-#. TRANSLATORS: This a prompt asking the user to import the security key
-#: ../client/pk-console.c:1559
-msgid "Do you accept this signature?"
-msgstr "Αποδέχεστε την υπογραφή;"
-
-#. TRANSLATORS: This is where the user declined the security key
-#: ../client/pk-console.c:1563
-msgid "The signature was not accepted."
-msgstr "Η υπογραφή δεν έγινε δεκτή."
-
-#. TRANSLATORS: This a request for a EULA
-#: ../client/pk-console.c:1597
-msgid "End user license agreement required"
-msgstr "Απαιτείται αποδοχή της άδειας τελικού χρήστη"
-
-#. TRANSLATORS: This a prompt asking the user to agree to the license
-#: ../client/pk-console.c:1604
-msgid "Do you agree to this license?"
-msgstr "Αποδέχεστε την άδεια χρήσης;"
-
-#. TRANSLATORS: This is where the user declined the license
-#: ../client/pk-console.c:1608
-msgid "The license was refused."
-msgstr "Η άδεια χρήσης δεν έγινε δεκτή."
+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:1637
+#: ../client/pk-console.c:837
 msgid "The daemon crashed mid-transaction!"
 msgstr "Η υπηρεσία κατέρρευσε κατά τη διάρκεια της εργασίας!"
 
 #. TRANSLATORS: This is the header to the --help menu
-#: ../client/pk-console.c:1690
+#: ../client/pk-console.c:871
 msgid "PackageKit Console Interface"
 msgstr "Διεπαφή κονσόλας Packagekit"
 
 #. these are commands we can use with pkcon
-#: ../client/pk-console.c:1692
+#: ../client/pk-console.c:873
 msgid "Subcommands:"
 msgstr "Υποεντολές:"
 
+#. TRANSLATORS: we keep a database updated with the time that an action was last executed
+#: ../client/pk-console.c:952
+msgid "Failed to get the time since this action was last completed"
+msgstr "Δε βρέθηκε ο χρόνος που είχε ολοκληρωθεί για τελευταία φορά η ενέργεια"
+
 #. TRANSLATORS: command line argument, if we should show debugging information
 #. TRANSLATORS: if we should show debugging data
-#: ../client/pk-console.c:1785 ../client/pk-generate-pack.c:185
-#: ../client/pk-monitor.c:128
-#: ../contrib/command-not-found/pk-command-not-found.c:616
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:550
-#: ../contrib/device-rebind/pk-device-rebind.c:293 ../src/pk-main.c:211
+#: ../client/pk-console.c:989
+#: ../client/pk-generate-pack.c:223
+#: ../client/pk-monitor.c:281
+#: ../contrib/command-not-found/pk-command-not-found.c:651
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:512
+#: ../contrib/device-rebind/pk-device-rebind.c:293
+#: ../src/pk-main.c:211
 msgid "Show extra debugging information"
 msgstr "Εμφάνιση επιπρόσθετων πληροφοριών αποσφαλμάτωσης"
 
 #. TRANSLATORS: command line argument, just show the version string
-#: ../client/pk-console.c:1788 ../client/pk-monitor.c:130
+#: ../client/pk-console.c:992
+#: ../client/pk-monitor.c:283
 msgid "Show the program version and exit"
 msgstr "Εμφάνιση της έκδοσης του προγράμματος και έξοδος"
 
 #. TRANSLATORS: command line argument, use a filter to narrow down results
-#: ../client/pk-console.c:1791
+#: ../client/pk-console.c:995
 msgid "Set the filter, e.g. installed"
 msgstr "Ορισμός του φίλτρου, π.χ. εγκατεστημένα"
 
 #. TRANSLATORS: command line argument, work asynchronously
-#: ../client/pk-console.c:1794
+#: ../client/pk-console.c:998
 msgid "Exit without waiting for actions to complete"
 msgstr "Έξοδος χωρίς να περιμένετε να ολοκληρωθούν οι ενέργειες"
 
-#. TRANSLATORS: This is when we could not connect to the system bus, and is fatal
-#: ../client/pk-console.c:1821
-msgid "This tool could not connect to system DBUS."
-msgstr "Δεν ήταν δυνατή η σύνδεση στο DBUS του συστήματος."
+#. command line argument, do we ask questions
+#: ../client/pk-console.c:1001
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:524
+msgid "Install the packages without asking for confirmation"
+msgstr "Εγκαταστείστε τα πακέτα χωρίς να ζητήσετε επιβεβαίωση"
+
+#. TRANSLATORS: command line argument, this command is not a priority
+#: ../client/pk-console.c:1004
+msgid "Run the command using idle network bandwidth and also using less power"
+msgstr ""
+
+#. TRANSLATORS: we failed to contact the daemon
+#: ../client/pk-console.c:1030
+msgid "Failed to contact PackageKit"
+msgstr "Απέτυχε η επικοινωνία με το PackageKit"
 
 #. TRANSLATORS: The user specified an incorrect filter
-#: ../client/pk-console.c:1911
+#: ../client/pk-console.c:1086
 msgid "The filter specified was invalid"
 msgstr "Το φίλτρο που ορίστηκε δεν ήταν έγκυρο"
 
 #. TRANSLATORS: a search type can be name, details, file, etc
-#: ../client/pk-console.c:1930
+#: ../client/pk-console.c:1105
 msgid "A search type is required, e.g. name"
 msgstr "Πρέπει να οριστεί ο τύπος της αναζήτησης, π.χ. όνομα"
 
 #. TRANSLATORS: the user needs to provide a search term
-#: ../client/pk-console.c:1937 ../client/pk-console.c:1946
-#: ../client/pk-console.c:1955 ../client/pk-console.c:1964
+#: ../client/pk-console.c:1112
+#: ../client/pk-console.c:1124
+#: ../client/pk-console.c:1136
+#: ../client/pk-console.c:1148
 msgid "A search term is required"
 msgstr "Πρέπει να οριστεί όρος προς αναζήτηση"
 
 #. TRANSLATORS: the search type was provided, but invalid
-#: ../client/pk-console.c:1971
+#: ../client/pk-console.c:1158
 msgid "Invalid search type"
 msgstr "Μη έγκυρος τύπος αναζήτησης"
 
 #. TRANSLATORS: the user did not specify what they wanted to install
-#: ../client/pk-console.c:1977
-msgid "A package name or filename to install is required"
-msgstr "Πρέπει να οριστεί όνομα πακέτου ή αρχείου προς εγκατάσταση"
+#: ../client/pk-console.c:1164
+msgid "A package name to install is required"
+msgstr "Πρέπει να οριστεί όνομα πακέτου για τον καθορισμό"
+
+#. TRANSLATORS: the user did not specify what they wanted to install
+#: ../client/pk-console.c:1173
+msgid "A filename to install is required"
+msgstr "Πρέπει να οριστεί όνομα αρχείου προς εγκατάσταση"
 
 #. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:1986
+#: ../client/pk-console.c:1185
 msgid "A type, key_id and package_id are required"
-msgstr ""
-"Πρέπει να οριστεί ο τύπος, το όνομα κλειδιού (key_id) και το όνομα πακέτου "
-"(package_id)"
+msgstr "Πρέπει να οριστεί ο τύπος, το όνομα κλειδιού (key_id) και το όνομα πακέτου (package_id)"
 
 #. TRANSLATORS: the user did not specify what they wanted to remove
-#: ../client/pk-console.c:1995
+#: ../client/pk-console.c:1196
 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:2003
+#: ../client/pk-console.c:1205
 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:2010
+#: ../client/pk-console.c:1212
 msgid "Directory not found"
 msgstr "Δε βρέθηκε ο κατάλογος"
 
 #. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:2018
+#: ../client/pk-console.c:1221
 msgid "A licence identifier (eula-id) is required"
 msgstr "Πρέπει να οριστεί αναγνωριστικό EULA (eula-id)"
 
 #. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:2028
+#: ../client/pk-console.c:1232
 msgid "A transaction identifier (tid) is required"
 msgstr "Πρέπει να οριστεί αναγνωριστικό εργασίας (tid)"
 
 #. TRANSLATORS: The user did not specify a package name
-#: ../client/pk-console.c:2045
+#: ../client/pk-console.c:1253
 msgid "A package name to resolve is required"
 msgstr "Πρέπει να οριστεί όνομα πακέτου για τον καθορισμό"
 
 #. TRANSLATORS: The user did not specify a repository (software source) name
-#: ../client/pk-console.c:2054 ../client/pk-console.c:2063
+#: ../client/pk-console.c:1264
+#: ../client/pk-console.c:1275
 msgid "A repository name is required"
 msgstr "Πρέπει να οριστεί όνομα αποθετηρίου"
 
 #. TRANSLATORS: The user didn't provide any data
-#: ../client/pk-console.c:2072
+#: ../client/pk-console.c:1286
 msgid "A repo name, parameter and value are required"
 msgstr "Πρέπει να οριστούν όνομα, παράμετρος και τιμή αποθετηρίου"
 
 #. TRANSLATORS: The user didn't specify what action to use
-#: ../client/pk-console.c:2086
+#: ../client/pk-console.c:1303
 msgid "An action, e.g. 'update-system' is required"
 msgstr "Πρέπει να οριστεί μια ενέργεια, π.χ. 'ενημέρωση συστήματος'"
 
 #. TRANSLATORS: The user specified an invalid action
-#: ../client/pk-console.c:2093
+#: ../client/pk-console.c:1310
 msgid "A correct role is required"
 msgstr "Πρέπει να οριστεί έγκυρη ενέργεια"
 
-#. TRANSLATORS: we keep a database updated with the time that an action was last executed
-#: ../client/pk-console.c:2100
-msgid "Failed to get the time since this action was last completed"
-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:2110 ../client/pk-console.c:2122
-#: ../client/pk-console.c:2131 ../client/pk-console.c:2149
-#: ../client/pk-console.c:2158 ../client/pk-generate-pack.c:241
+#: ../client/pk-console.c:1320
+#: ../client/pk-console.c:1335
+#: ../client/pk-console.c:1344
+#: ../client/pk-console.c:1364
+#: ../client/pk-console.c:1373
+#: ../client/pk-generate-pack.c:287
 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:2140
+#: ../client/pk-console.c:1353
 msgid "A package provide string is required"
 msgstr "Πρέπει να οριστεί αλφαριθμητικό με το τι παρέχει το αρχείο"
 
-#. TRANSLATORS: The user didn't specify a filename to create as a list
-#: ../client/pk-console.c:2167
-msgid "A list file name to create is required"
-msgstr "Πρέπει να οριστεί το όνομα του νέου αρχείου λίστας"
-
-#. TRANSLATORS: The user didn't specify a filename to open as a list
-#: ../client/pk-console.c:2177 ../client/pk-console.c:2187
-msgid "A list file to open is required"
-msgstr "Πρέπει να οριστεί το αρχείο λίστας που θα ανοίξει"
-
 #. TRANSLATORS: The user tried to use an unsupported option on the command line
-#: ../client/pk-console.c:2241
+#: ../client/pk-console.c:1433
 #, c-format
 msgid "Option '%s' is not supported"
 msgstr "Η επιλογή '%s' δεν υποστηρίζεται"
 
-#. TRANSLATORS: User does not have permission to do this
-#: ../client/pk-console.c:2254
-msgid "Incorrect privileges for this operation"
-msgstr "Δεν έχετε τα κατάλληλα προνόμια για αυτή την ενέργεια"
-
 #. TRANSLATORS: Generic failure of what they asked to do
-#: ../client/pk-console.c:2257
+#: ../client/pk-console.c:1443
 msgid "Command failed"
 msgstr "Η εντολή απέτυχε"
 
-#. TRANSLATORS: This is the state of the transaction
-#: ../client/pk-generate-pack.c:101
-msgid "Downloading"
-msgstr "Λήψη..."
-
-#. TRANSLATORS: This is when the main packages are being downloaded
-#: ../client/pk-generate-pack.c:121
-msgid "Downloading packages"
-msgstr "Λήψη πακέτων..."
-
-#. TRANSLATORS: This is when the dependency packages are being downloaded
-#: ../client/pk-generate-pack.c:126
-msgid "Downloading dependencies"
-msgstr "Λήψη εξαρτήσεων..."
-
 #. TRANSLATORS: we can exclude certain packages (glibc) when we know they'll exist on the target
-#: ../client/pk-generate-pack.c:188
+#: ../client/pk-generate-pack.c:226
 msgid "Set the file name of dependencies to be excluded"
 msgstr "Ορισμός ονομάτων αρχείων των εξαρτήσεων που εξαιρούνται"
 
 #. TRANSLATORS: the output location
-#: ../client/pk-generate-pack.c:191
-msgid ""
-"The output file or directory (the current directory is used if ommitted)"
-msgstr ""
-"Το αρχείο ή ο κατάλογος εξόδου (αν μείνει κενό, χρησιμοποιείται ο τρέχων "
-"κατάλογος)"
+#: ../client/pk-generate-pack.c:229
+msgid "The output file or directory (the current directory is used if ommitted)"
+msgstr "Το αρχείο ή ο κατάλογος εξόδου (αν μείνει κενό, χρησιμοποιείται ο τρέχων κατάλογος)"
 
 #. TRANSLATORS: put a list of packages in the pack
-#: ../client/pk-generate-pack.c:194
+#: ../client/pk-generate-pack.c:232
 msgid "The package to be put into the service pack"
 msgstr "Πακέτο που θα προστεθεί στο πακέτο ενημερώσεων"
 
 #. TRANSLATORS: put all pending updates in the pack
-#: ../client/pk-generate-pack.c:197
+#: ../client/pk-generate-pack.c:235
 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:225
+#: ../client/pk-generate-pack.c:271
 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:233
+#: ../client/pk-generate-pack.c:279
 msgid "Both options selected."
 msgstr "Έχουν οριστεί και οι δύο επιλογές."
 
 #. TRANSLATORS: This is when the user fails to supply the output
-#: ../client/pk-generate-pack.c:249
+#: ../client/pk-generate-pack.c:295
 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:313
+msgid "The dameon failed to startup"
+msgstr "Το dameon απέτυχε κατά την εκκίνηση"
+
 #. 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:267 ../client/pk-generate-pack.c:273
+#: ../client/pk-generate-pack.c:324
+#: ../client/pk-generate-pack.c:330
 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:280
-msgid ""
-"Service packs cannot be created as PackageKit was not built with libarchive "
-"support."
-msgstr ""
-"Δεν μπορούν να δημιουργηθούν πακέτα ενημερώσεων, γιατί δεν εγκαταστάθηκε η "
-"υποστήριξη libarchive για το PackageKit."
+#: ../client/pk-generate-pack.c:337
+msgid "Service packs cannot be created as PackageKit was not built with libarchive support."
+msgstr "Δεν μπορούν να δημιουργηθούν πακέτα ενημερώσεων, γιατί δεν εγκαταστάθηκε η υποστήριξη libarchive για το PackageKit."
 
 #. TRANSLATORS: the user specified an absolute path, but didn't get the extension correct
-#: ../client/pk-generate-pack.c:291
+#: ../client/pk-generate-pack.c:348
 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:307
+#: ../client/pk-generate-pack.c:364
 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:310
+#: ../client/pk-generate-pack.c:367
 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:323
+#: ../client/pk-generate-pack.c:380
 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:333
+#: ../client/pk-generate-pack.c:392
 msgid "Failed to open package list."
 msgstr "Απέτυχε το άνοιγμα της λίστας πακέτων."
 
 #. TRANSLATORS: The package name is being matched up to available packages
-#: ../client/pk-generate-pack.c:344
+#: ../client/pk-generate-pack.c:401
 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:348
+#: ../client/pk-generate-pack.c:405
 #, 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:365
+#: ../client/pk-generate-pack.c:413
 msgid "Creating service pack..."
 msgstr "Δημιουργία πακέτου ενημερώσεων..."
 
 #. TRANSLATORS: we succeeded in making the file
-#: ../client/pk-generate-pack.c:372
+#: ../client/pk-generate-pack.c:428
 #, c-format
 msgid "Service pack created '%s'"
 msgstr "Δημιουργήθηκε το πακέτο ενημερώσεων '%s'"
 
 #. TRANSLATORS: we failed to make te file
-#: ../client/pk-generate-pack.c:377
+#: ../client/pk-generate-pack.c:433
 #, c-format
 msgid "Failed to create '%s': %s"
 msgstr "Απέτυχε η δημιουργία του '%s': %s"
 
+#: ../client/pk-monitor.c:211
+#, fuzzy
+msgid "Failed to get daemon state"
+msgstr "Απέτυχε το άνοιγμα της λίστας πακέτων."
+
 #. TRANSLATORS: this is a program that monitors PackageKit
-#: ../client/pk-monitor.c:146
+#: ../client/pk-monitor.c:299
 msgid "PackageKit Monitor"
 msgstr "Παρακολούθηση PackageKit"
 
-#: ../client/pk-monitor.c:183
-msgid "Cannot show the list of transactions"
-msgstr "Δεν είναι δυνατή η εμφάνιση της λίστας εργασιών"
-
-#. TRANSLATORS: The package was not found in any software sources
-#: ../client/pk-tools-common.c:118
-#, c-format
-msgid "The package could not be found"
-msgstr "Δε βρέθηκε το πακέτο"
-
-#. TRANSLATORS: more than one package could be found that matched, to follow is a list of possible packages
-#: ../client/pk-tools-common.c:130
-msgid "More than one package matches:"
-msgstr "Βρέθηκαν πολλαπλά πακέτα:"
-
-#. TRANSLATORS: This finds out which package in the list to use
-#: ../client/pk-tools-common.c:137
-msgid "Please choose the correct package: "
-msgstr "Παρακαλώ, επιλέξτε το σωστό πακέτο: "
-
-#: ../client/pk-tools-common.c:162
-#, c-format
-msgid "Please enter a number from 1 to %i: "
-msgstr "Παρακαλώ, εισάγετε έναν αριθμό από το 1 μέχρι το %i: "
-
 #. TRANSLATORS: when we are getting data from the daemon
-#: ../contrib/browser-plugin/pk-plugin-install.c:466
+#: ../contrib/browser-plugin/pk-plugin-install.c:491
 msgid "Getting package information..."
 msgstr "Λήψη πληροφοριών πακέτου..."
 
 #. TRANSLATORS: run an applicaiton
-#: ../contrib/browser-plugin/pk-plugin-install.c:472
+#: ../contrib/browser-plugin/pk-plugin-install.c:497
 #, c-format
 msgid "Run %s"
 msgstr "Εκτέλεση %s"
 
 #. TRANSLATORS: show the installed version of a package
-#: ../contrib/browser-plugin/pk-plugin-install.c:478
+#: ../contrib/browser-plugin/pk-plugin-install.c:503
 msgid "Installed version"
 msgstr "Εγκατεστημένη έκδοση"
 
 #. TRANSLATORS: run the application now
-#: ../contrib/browser-plugin/pk-plugin-install.c:486
+#: ../contrib/browser-plugin/pk-plugin-install.c:511
 #, c-format
 msgid "Run version %s now"
 msgstr "Εκτέλεση της έκδοσης %s τώρα"
 
 #. TRANSLATORS: run the application now
-#: ../contrib/browser-plugin/pk-plugin-install.c:492
+#: ../contrib/browser-plugin/pk-plugin-install.c:517
 msgid "Run now"
 msgstr "Εκτέλεση τώρα"
 
 #. TRANSLATORS: update to a new version of the package
-#: ../contrib/browser-plugin/pk-plugin-install.c:498
+#: ../contrib/browser-plugin/pk-plugin-install.c:523
 #, c-format
 msgid "Update to version %s"
 msgstr "Εγκατάσταση της ενημερωμένης έκδοσης %s"
 
 #. TRANSLATORS: To install a package
-#: ../contrib/browser-plugin/pk-plugin-install.c:504
+#: ../contrib/browser-plugin/pk-plugin-install.c:529
 #, c-format
 msgid "Install %s now"
 msgstr "Εγκατάσταση %s τώρα"
 
 #. TRANSLATORS: the version of the package
-#: ../contrib/browser-plugin/pk-plugin-install.c:507
+#: ../contrib/browser-plugin/pk-plugin-install.c:532
 msgid "Version"
 msgstr "Έκδοση"
 
 #. TRANSLATORS: noting found, so can't install
-#: ../contrib/browser-plugin/pk-plugin-install.c:512
+#: ../contrib/browser-plugin/pk-plugin-install.c:537
 msgid "No packages found for your system"
 msgstr "Δε βρέθηκαν πακέτα για το σύστημά σας"
 
 #. TRANSLATORS: package is being installed
-#: ../contrib/browser-plugin/pk-plugin-install.c:517
+#: ../contrib/browser-plugin/pk-plugin-install.c:542
 msgid "Installing..."
 msgstr "Εγκατάσταση..."
 
 #. TRANSLATORS: downloading repo data so we can search
-#: ../contrib/command-not-found/pk-command-not-found.c:349
+#: ../contrib/command-not-found/pk-command-not-found.c:365
 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:353
+#: ../contrib/command-not-found/pk-command-not-found.c:369
 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:357
+#: ../contrib/command-not-found/pk-command-not-found.c:373
 #, fuzzy
 msgid "Waiting for package manager lock."
 msgstr "Εύρεση ονόματος πακέτου..."
 
 #. TRANSLATORS: loading package cache so we can search
-#: ../contrib/command-not-found/pk-command-not-found.c:361
+#: ../contrib/command-not-found/pk-command-not-found.c:377
 #, fuzzy
 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:420
+#: ../contrib/command-not-found/pk-command-not-found.c:421
 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:557
+#: ../contrib/command-not-found/pk-command-not-found.c:560
 msgid "Failed to launch:"
 msgstr "Δεν ήταν δυνατή η εκκίνηση:"
 
+#. TRANSLATORS: we failed to install the package
+#: ../contrib/command-not-found/pk-command-not-found.c:588
+#, fuzzy
+msgid "Failed to install packages"
+msgstr "Δεν ήταν δυνατή η εγκατάσταση των πακέτων: %s"
+
 #. TRANSLATORS: tool that gets called when the command is not found
-#: ../contrib/command-not-found/pk-command-not-found.c:632
+#: ../contrib/command-not-found/pk-command-not-found.c:667
 msgid "PackageKit Command Not Found"
 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:658
+#: ../contrib/command-not-found/pk-command-not-found.c:697
 msgid "Command not found."
 msgstr "Η εντολή δε βρέθηκε."
 
 #. TRANSLATORS: tell the user what we think the command is
-#: ../contrib/command-not-found/pk-command-not-found.c:665
+#: ../contrib/command-not-found/pk-command-not-found.c:711
 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:674
+#: ../contrib/command-not-found/pk-command-not-found.c:721
 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:686
-#: ../contrib/command-not-found/pk-command-not-found.c:695
+#: ../contrib/command-not-found/pk-command-not-found.c:735
+#: ../contrib/command-not-found/pk-command-not-found.c:744
 msgid "Similar commands are:"
 msgstr "Παρόμοιες εντολές:"
 
 #. TRANSLATORS: ask the user to choose a file to run
-#: ../contrib/command-not-found/pk-command-not-found.c:702
+#: ../contrib/command-not-found/pk-command-not-found.c:751
 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:721
+#: ../contrib/command-not-found/pk-command-not-found.c:767
 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:726
+#: ../contrib/command-not-found/pk-command-not-found.c:772
 #, c-format
 msgid "Install package '%s' to provide command '%s'?"
 msgstr "Εγκατάσταση του πακέτου '%s' που παρέχει την εντολή '%s';"
 
 #. TRANSLATORS: Show the user a list of packages that provide this command
-#: ../contrib/command-not-found/pk-command-not-found.c:747
+#: ../contrib/command-not-found/pk-command-not-found.c:796
 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:756
+#: ../contrib/command-not-found/pk-command-not-found.c:806
 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:764
+#: ../contrib/command-not-found/pk-command-not-found.c:815
 msgid "Please choose a package to install"
 msgstr "Παρακαλώ, επιλέξτε πακέτο προς εγκατάσταση"
 
 #. TRANSLATORS: we are starting to install the packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:187
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:197
 msgid "Starting install"
 msgstr "Εκκίνηση εγκατάστασης..."
 
 #. TRANSLATORS: we couldn't find the package name, non-fatal
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:397
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:409
 #, c-format
 msgid "Failed to find the package %s, or already installed: %s"
 msgstr "Το πακέτο %s δε βρέθηκε ή είναι ήδη εγκατεστημένο: %s"
 
 #. command line argument, simulate what would be done, but don't actually do it
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:553
-msgid ""
-"Don't actually install any packages, only simulate what would be installed"
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:515
+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
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:556
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:518
 msgid "Do not install dependencies of the core packages"
 msgstr "Να μην εγκατασταθούν οι εξαρτήσεις των πακέτων"
 
 #. command line argument, do we operate quietly
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:559
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:521
 msgid "Do not display information or progress"
 msgstr "Να μην εμφανίζονται πληροφορίες ή η πρόοδος"
 
 #. TRANSLATORS: tool that gets called when the command is not found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:577
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:539
 msgid "PackageKit Debuginfo Installer"
 msgstr "Εγκατάσταση πληροφοριών αποσφαλμάτωσης Packagekit"
 
 #. TRANSLATORS: the use needs to specify a list of package names on the command line
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:589
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:554
 #, c-format
 msgid "ERROR: Specify package names to install."
 msgstr "ΣΦΑΛΜΑ: Πρέπει να οριστούν ονόματα πακέτων προς εγκατάσταση"
 
 #. TRANSLATORS: we are getting the list of repositories
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:623
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:590
 #, c-format
 msgid "Getting sources list"
 msgstr "Λήψη λίστας πηγών..."
 
+#. TRANSLATORS: operation was not successful
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:600
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:675
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:759
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:803
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:870
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:914
+msgid "FAILED."
+msgstr "ΑΠΟΤΥΧΙΑ."
+
 #. TRANSLATORS: all completed 100%
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:641
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:681
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:716
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:800
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:844
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:911
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:955
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:615
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:655
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:690
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:774
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:818
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:885
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:929
 #, c-format
 msgid "OK."
 msgstr "Εντάξει."
 
 #. TRANSLATORS: tell the user what we found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:644
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:618
 #, c-format
 msgid "Found %i enabled and %i disabled sources."
 msgstr "Βρέθηκαν %i ενεργοποιημένες και %i απενεργοποιημένες πηγές."
 
 #. TRANSLATORS: we're finding repositories that match out pattern
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:651
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:625
 #, c-format
 msgid "Finding debugging sources"
 msgstr "Εύρεση πηγών αποσφαλμάτωσης..."
 
 #. TRANSLATORS: tell the user what we found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:684
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:658
 #, c-format
 msgid "Found %i disabled debuginfo repos."
 msgstr "Βρέθηκαν %i απενεργοποιημένα αποθετήρια πληροφοριών αποσφαλμάτωσης."
 
 #. TRANSLATORS: we're now enabling all the debug sources we found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:691
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:665
 #, c-format
 msgid "Enabling debugging sources"
 msgstr "Ενεργοποίηση πηγών αποσφαλμάτωσης..."
 
-#. TRANSLATORS: operation was not successful
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:701
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:785
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:829
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:896
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:940
-msgid "FAILED."
-msgstr "ΑΠΟΤΥΧΙΑ."
-
 #. TRANSLATORS: tell the user how many we enabled
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:719
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:693
 #, c-format
 msgid "Enabled %i debugging sources."
 msgstr "Ενεργοποιήθηκαν %i πηγές αποσφαλμάτωσης."
 
 #. TRANSLATORS: we're now finding packages that match in all the repos
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:726
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:700
 #, c-format
 msgid "Finding debugging packages"
 msgstr "Εύρεση πακέτων αποσφαλμάτωσης"
 
 #. TRANSLATORS: we couldn't find the package name, non-fatal
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:738
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:712
 #, c-format
 msgid "Failed to find the package %s: %s"
 msgstr "Δε βρέθηκε το πακέτο %s: %s"
 
 #. TRANSLATORS: we couldn't find the debuginfo package name, non-fatal
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:761
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:735
 #, c-format
 msgid "Failed to find the debuginfo package %s: %s"
 msgstr "Δε βρέθηκε το πακέτο πληροφοριών αποσφαλμάτωσης %s: %s"
 
 #. TRANSLATORS: no debuginfo packages could be found to be installed
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:789
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:763
 #, c-format
 msgid "Found no packages to install."
 msgstr "Δε βρέθηκαν πακέτα προς εγκατάσταση."
 
 #. TRANSLATORS: tell the user we found some packages, and then list them
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:803
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:777
 #, c-format
 msgid "Found %i packages:"
 msgstr "Βρέθηκαν %i πακέτα:"
 
 #. TRANSLATORS: tell the user we are searching for deps
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:819
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:793
 #, c-format
 msgid "Finding packages that depend on these packages"
 msgstr "Εύρεση πακέτων που εξαρτώνται από αυτά τα πακέτα..."
 
 #. TRANSLATORS: could not install, detailed error follows
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:832
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:806
 #, c-format
 msgid "Could not find dependant packages: %s"
 msgstr "Δε βρέθηκαν τα εξαρτώμενα πακέτα: %s"
 
 #. TRANSLATORS: tell the user we found some more packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:848
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:822
 #, c-format
 msgid "Found %i extra packages."
 msgstr "Βρέθηκαν %i επιπλέον πακέτα."
 
 #. TRANSLATORS: tell the user we found some more packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:852
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:826
 #, c-format
 msgid "No extra packages required."
 msgstr "Δεν απαιτούνται επιπλέον πακέτα."
 
 #. TRANSLATORS: tell the user we found some packages (and deps), and then list them
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:861
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:835
 #, c-format
 msgid "Found %i packages to install:"
 msgstr "Βρέθηκαν %i πακέτα προς εγκατάσταση:"
 
 #. TRANSLATORS: simulate mode is a testing mode where we quit before the action
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:874
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:848
 #, c-format
 msgid "Not installing packages in simulate mode"
 msgstr "Δεν εγκαθίστανται πακέτα κατά τη λειτουργία προσομοίωσης"
 
+#. TRANSLATORS: we are now installing the debuginfo packages we found earlier
+#. TRANSLATORS: transaction state, installing packages
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:860
+#: ../lib/packagekit-glib2/pk-console-shared.c:274
+#, c-format
+msgid "Installing packages"
+msgstr "Εγκατάσταση πακέτων..."
+
 #. TRANSLATORS: could not install, detailed error follows
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:899
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:873
 #, c-format
 msgid "Could not install packages: %s"
 msgstr "Δεν ήταν δυνατή η εγκατάσταση των πακέτων: %s"
 
 #. TRANSLATORS: we are now disabling all debuginfo repos we previously enabled
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:931
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:905
 #, c-format
 msgid "Disabling sources previously enabled"
 msgstr "Απενεργοποίηση των πηγών που είχαν ενεργοποιηθεί"
 
 #. TRANSLATORS: no debuginfo packages could be found to be installed, detailed error follows
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:943
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:917
 #, c-format
 msgid "Could not disable the debugging sources: %s"
 msgstr "Δεν ήταν δυνατή η απενεργοποίηση των πηγών αποσφαλμάτωσης: %s"
 
 #. TRANSLATORS: we disabled all the debugging repos that we enabled before
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:958
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:932
 #, c-format
 msgid "Disabled %i debugging sources."
 msgstr "Απενεργοποιήθηκαν %i πηγές αποσφαλμάτωσης."
@@ -1284,6 +1074,643 @@ msgstr "Λίστα πακέτων PackageKit"
 msgid "PackageKit Service Pack"
 msgstr "Πακέτο τεκμηρίωσης PackageKit"
 
+#: ../lib/packagekit-glib2/pk-console-shared.c:59
+#, 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:181
+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:190
+msgid "Please choose the correct package: "
+msgstr "Παρακαλώ, επιλέξτε το σωστό πακέτο: "
+
+#. TRANSLATORS: This is when the transaction status is not known
+#: ../lib/packagekit-glib2/pk-console-shared.c:242
+msgid "Unknown state"
+msgstr "Άγνωστη κατάσταση"
+
+#. TRANSLATORS: transaction state, the daemon is in the process of starting
+#: ../lib/packagekit-glib2/pk-console-shared.c:246
+msgid "Starting"
+msgstr "Εκκίνηση..."
+
+#. TRANSLATORS: transaction state, the transaction is waiting for another to complete
+#: ../lib/packagekit-glib2/pk-console-shared.c:250
+msgid "Waiting in queue"
+msgstr "Αναμονή στην ουρά"
+
+#. TRANSLATORS: transaction state, just started
+#: ../lib/packagekit-glib2/pk-console-shared.c:254
+msgid "Running"
+msgstr "Εκτελείται"
+
+#. TRANSLATORS: transaction state, is querying data
+#: ../lib/packagekit-glib2/pk-console-shared.c:258
+msgid "Querying"
+msgstr ""
+
+#. TRANSLATORS: transaction state, getting data from a server
+#: ../lib/packagekit-glib2/pk-console-shared.c:262
+msgid "Getting information"
+msgstr "Λήψη πληροφοριών..."
+
+#. TRANSLATORS: transaction state, removing packages
+#: ../lib/packagekit-glib2/pk-console-shared.c:266
+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:270
+#: ../lib/packagekit-glib2/pk-console-shared.c:648
+msgid "Downloading packages"
+msgstr "Λήψη πακέτων..."
+
+#. TRANSLATORS: transaction state, refreshing internal lists
+#: ../lib/packagekit-glib2/pk-console-shared.c:278
+#, fuzzy
+msgid "Refreshing software list"
+msgstr "Ανανέωση λίστας λογισμικού..."
+
+#. TRANSLATORS: transaction state, installing updates
+#: ../lib/packagekit-glib2/pk-console-shared.c:282
+msgid "Installing updates"
+msgstr "Εγκατάσταση ενημερώσεων..."
+
+#. TRANSLATORS: transaction state, removing old packages, and cleaning config files
+#: ../lib/packagekit-glib2/pk-console-shared.c:286
+#, fuzzy
+msgid "Cleaning up packages"
+msgstr "Λήψη πακέτων..."
+
+#. TRANSLATORS: transaction state, obsoleting old packages
+#: ../lib/packagekit-glib2/pk-console-shared.c:290
+#, fuzzy
+msgid "Obsoleting packages"
+msgstr "Εγκατάσταση πακέτων..."
+
+#. TRANSLATORS: transaction state, checking the transaction before we do it
+#: ../lib/packagekit-glib2/pk-console-shared.c:294
+#, fuzzy
+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:298
+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:302
+#: ../lib/packagekit-glib2/pk-console-shared.c:608
+msgid "Rolling back"
+msgstr ""
+
+#. TRANSLATORS: transaction state, when we're doing a test transaction
+#: ../lib/packagekit-glib2/pk-console-shared.c:306
+msgid "Testing changes"
+msgstr "Έλεγχος αλλαγών..."
+
+#. TRANSLATORS: transaction state, when we're writing to the system package database
+#: ../lib/packagekit-glib2/pk-console-shared.c:310
+msgid "Committing changes"
+msgstr ""
+
+#. TRANSLATORS: transaction state, requesting data from a server
+#: ../lib/packagekit-glib2/pk-console-shared.c:314
+#, fuzzy
+msgid "Requesting data"
+msgstr "Αίτηση για δεδομένα"
+
+#. TRANSLATORS: transaction state, all done!
+#: ../lib/packagekit-glib2/pk-console-shared.c:318
+msgid "Finished"
+msgstr "Ολοκληρώθηκε"
+
+#. TRANSLATORS: transaction state, in the process of cancelling
+#: ../lib/packagekit-glib2/pk-console-shared.c:322
+msgid "Cancelling"
+msgstr "Ακύρωση"
+
+#. TRANSLATORS: transaction state, downloading metadata
+#: ../lib/packagekit-glib2/pk-console-shared.c:326
+msgid "Downloading repository information"
+msgstr ""
+
+#. TRANSLATORS: transaction state, downloading metadata
+#: ../lib/packagekit-glib2/pk-console-shared.c:330
+msgid "Downloading list of packages"
+msgstr "Λήψη λίστας πακέτων..."
+
+#. TRANSLATORS: transaction state, downloading metadata
+#: ../lib/packagekit-glib2/pk-console-shared.c:334
+#, fuzzy
+msgid "Downloading file lists"
+msgstr "Λήψη..."
+
+#. TRANSLATORS: transaction state, downloading metadata
+#: ../lib/packagekit-glib2/pk-console-shared.c:338
+#, fuzzy
+msgid "Downloading lists of changes"
+msgstr "Λήψη πακέτων..."
+
+#. TRANSLATORS: transaction state, downloading metadata
+#: ../lib/packagekit-glib2/pk-console-shared.c:342
+#, fuzzy
+msgid "Downloading groups"
+msgstr "Λήψη..."
+
+#. TRANSLATORS: transaction state, downloading metadata
+#: ../lib/packagekit-glib2/pk-console-shared.c:346
+#, fuzzy
+msgid "Downloading update information"
+msgstr "Λήψη πληροφοριών πακέτου..."
+
+#. TRANSLATORS: transaction state, repackaging delta files
+#: ../lib/packagekit-glib2/pk-console-shared.c:350
+#, fuzzy
+msgid "Repackaging files"
+msgstr "Αρχεία πακέτου"
+
+#. TRANSLATORS: transaction state, loading databases
+#: ../lib/packagekit-glib2/pk-console-shared.c:354
+#, fuzzy
+msgid "Loading cache"
+msgstr "Λήψη πακέτων..."
+
+#. TRANSLATORS: transaction state, scanning for running processes
+#: ../lib/packagekit-glib2/pk-console-shared.c:358
+msgid "Scanning applications"
+msgstr ""
+
+#. TRANSLATORS: transaction state, generating a list of packages installed on the system
+#: ../lib/packagekit-glib2/pk-console-shared.c:362
+#, fuzzy
+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:366
+#, fuzzy
+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:370
+msgid "Waiting for authentication"
+msgstr ""
+
+#. TRANSLATORS: transaction state, we are updating the list of processes
+#: ../lib/packagekit-glib2/pk-console-shared.c:374
+msgid "Updating running applications"
+msgstr ""
+
+#. TRANSLATORS: transaction state, we are checking executable files currently in use
+#: ../lib/packagekit-glib2/pk-console-shared.c:378
+msgid "Checking applications in use"
+msgstr ""
+
+#. TRANSLATORS: transaction state, we are checking for libraries currently in use
+#: ../lib/packagekit-glib2/pk-console-shared.c:382
+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:386
+#, fuzzy
+msgid "Copying files"
+msgstr "Χωρίς αρχεία"
+
+#. TRANSLATORS: The type of update
+#: ../lib/packagekit-glib2/pk-console-shared.c:404
+msgid "Trivial"
+msgstr "Ασήμαντο"
+
+#. TRANSLATORS: The type of update
+#: ../lib/packagekit-glib2/pk-console-shared.c:408
+msgid "Normal"
+msgstr ""
+
+#. TRANSLATORS: The type of update
+#: ../lib/packagekit-glib2/pk-console-shared.c:412
+msgid "Important"
+msgstr "Σημαντικό"
+
+#. TRANSLATORS: The type of update
+#: ../lib/packagekit-glib2/pk-console-shared.c:416
+msgid "Security"
+msgstr ""
+
+#. TRANSLATORS: The type of update
+#: ../lib/packagekit-glib2/pk-console-shared.c:420
+msgid "Bug fix "
+msgstr ""
+
+#. TRANSLATORS: The type of update
+#: ../lib/packagekit-glib2/pk-console-shared.c:424
+msgid "Enhancement"
+msgstr ""
+
+#. TRANSLATORS: The type of update
+#: ../lib/packagekit-glib2/pk-console-shared.c:428
+#, fuzzy
+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:433
+#: ../lib/packagekit-glib2/pk-console-shared.c:506
+#, fuzzy
+msgid "Installed"
+msgstr "Εγκατεστημένη έκδοση"
+
+#. TRANSLATORS: The state of a package, i.e. not installed
+#: ../lib/packagekit-glib2/pk-console-shared.c:438
+msgid "Available"
+msgstr ""
+
+#. TRANSLATORS: The action of the package, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:456
+msgid "Downloading"
+msgstr "Λήψη..."
+
+#. TRANSLATORS: The action of the package, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:460
+#, fuzzy
+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:464
+#: ../lib/packagekit-glib2/pk-console-shared.c:584
+#, fuzzy
+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:468
+#: ../lib/packagekit-glib2/pk-console-shared.c:580
+msgid "Removing"
+msgstr "Αφαίρεση"
+
+#. TRANSLATORS: The action of the package, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:472
+msgid "Cleaning up"
+msgstr ""
+
+#. TRANSLATORS: The action of the package, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:476
+#, fuzzy
+msgid "Obsoleting"
+msgstr "Αντικαθιστά"
+
+#. TRANSLATORS: The action of the package, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:480
+#, fuzzy
+msgid "Reinstalling"
+msgstr "Εγκατάσταση..."
+
+#. TRANSLATORS: The action of the package, in past tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:498
+#, fuzzy
+msgid "Downloaded"
+msgstr "Λήψη..."
+
+#. TRANSLATORS: The action of the package, in past tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:510
+msgid "Removed"
+msgstr "Έχει αφαιρεθεί"
+
+#. TRANSLATORS: The action of the package, in past tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:514
+msgid "Cleaned up"
+msgstr ""
+
+#. TRANSLATORS: The action of the package, in past tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:518
+#, fuzzy
+msgid "Obsoleted"
+msgstr "Αντικαθιστά"
+
+#. TRANSLATORS: The action of the package, in past tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:522
+#, fuzzy
+msgid "Reinstalled"
+msgstr "Προς εγκατάσταση"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:540
+msgid "Unknown role type"
+msgstr ""
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:544
+msgid "Getting dependencies"
+msgstr "Λήψη εξαρτήσεων"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:548
+msgid "Getting update details"
+msgstr "Λήψη λεπτομερειών ενημέρωσης"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:552
+msgid "Getting details"
+msgstr "Λήψη λεπτομερειών"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:556
+#, fuzzy
+msgid "Getting requires"
+msgstr "Λήψη προϋποθέσεων"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:560
+msgid "Getting updates"
+msgstr "Λήψη ενημερώσεων"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:564
+msgid "Searching by details"
+msgstr ""
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:568
+msgid "Searching by file"
+msgstr "Αναζήτηση κατά αρχείο:"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:572
+msgid "Searching groups"
+msgstr "Αναζήτηση ομάδων:"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:576
+msgid "Searching by name"
+msgstr "Αναζήτηση κατά όνομα:"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:588
+msgid "Installing files"
+msgstr "Εγκατάσταση αρχείων"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:592
+msgid "Refreshing cache"
+msgstr ""
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:596
+msgid "Updating packages"
+msgstr "Ενημέρωση πακέτων"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:600
+msgid "Updating system"
+msgstr "Ενημέρωση συστήματος"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:604
+msgid "Canceling"
+msgstr "Ακύρωση"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:612
+msgid "Getting repositories"
+msgstr "Λήψη αποθετηρίων"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:616
+msgid "Enabling repository"
+msgstr "Ενεργοποίηση του αποθετηρίου"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:620
+#, fuzzy
+msgid "Setting data"
+msgstr "Εκκίνηση εγκατάστασης..."
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:624
+msgid "Resolving"
+msgstr ""
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:628
+msgid "Getting file list"
+msgstr "Λήψη λίστας αρχείων"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:632
+#, fuzzy
+msgid "Getting provides"
+msgstr "Λήψη της λίστας πακέτων..."
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:636
+msgid "Installing signature"
+msgstr "Εγκατάσταση υπογραφής"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:640
+msgid "Getting packages"
+msgstr "Λήψη πακέτων..."
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:644
+msgid "Accepting EULA"
+msgstr "Αποδοχή άδειας χρήσης (EULA)"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:652
+msgid "Getting upgrades"
+msgstr "Λήψη αναβαθμίσεων"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:656
+msgid "Getting categories"
+msgstr "Λήψη κατηγοριών"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:660
+msgid "Getting transactions"
+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:668
+#, fuzzy
+msgid "Simulating install"
+msgstr "Εκκίνηση εγκατάστασης..."
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:672
+msgid "Simulating remove"
+msgstr ""
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:676
+msgid "Simulating update"
+msgstr ""
+
+#. TRANSLATORS: ask the user if they are comfortable installing insecure packages
+#: ../lib/packagekit-glib2/pk-task-text.c:66
+msgid "Do you want to allow installing of unsigned software?"
+msgstr "Θέλετε να επιτρέπεται η εγκατάσταση μη ασφαλών πακέτων?"
+
+#. TRANSLATORS: tell the user we've not done anything
+#: ../lib/packagekit-glib2/pk-task-text.c:71
+#, fuzzy
+msgid "The unsigned software will not be installed."
+msgstr "Τα με υπογεγραμμένα πακέτα δεν θα εγκατασταθούν."
+
+#. TRANSLATORS: the package repository is signed by a key that is not recognised
+#: ../lib/packagekit-glib2/pk-task-text.c:104
+msgid "Software source signature required"
+msgstr "Απαιτείται η υπογραφή του αποθετηρίου"
+
+#. TRANSLATORS: the package repository name
+#: ../lib/packagekit-glib2/pk-task-text.c:110
+#, fuzzy
+msgid "Software source name"
+msgstr "Αλλαγή παραμέτρων πηγών λογισμικού"
+
+#. TRANSLATORS: the key URL
+#: ../lib/packagekit-glib2/pk-task-text.c:113
+msgid "Key URL"
+msgstr "Κλειδί URL"
+
+#. TRANSLATORS: the username of the key
+#: ../lib/packagekit-glib2/pk-task-text.c:116
+msgid "Key user"
+msgstr "Κλειδί χρήστη"
+
+#. TRANSLATORS: the key ID, usually a few hex digits
+#: ../lib/packagekit-glib2/pk-task-text.c:119
+msgid "Key ID"
+msgstr "Κλειδί ID "
+
+#. TRANSLATORS: the key fingerprint, again, yet more hex
+#: ../lib/packagekit-glib2/pk-task-text.c:122
+msgid "Key fingerprint"
+msgstr ""
+
+#. TRANSLATORS: the timestamp (a bit like a machine readable time)
+#: ../lib/packagekit-glib2/pk-task-text.c:125
+msgid "Key Timestamp"
+msgstr ""
+
+#. TRANSLATORS: ask the user if they want to import
+#: ../lib/packagekit-glib2/pk-task-text.c:131
+msgid "Do you accept this signature?"
+msgstr "Αποδέχεστε την υπογραφή;"
+
+#. TRANSLATORS: tell the user we've not done anything
+#: ../lib/packagekit-glib2/pk-task-text.c:136
+msgid "The signature was not accepted."
+msgstr "Η υπογραφή δεν έγινε δεκτή."
+
+#. TRANSLATORS: this is another name for a software licence that has to be read before installing
+#: ../lib/packagekit-glib2/pk-task-text.c:171
+#, fuzzy
+msgid "End user licence agreement required"
+msgstr "Απαιτείται αποδοχή της άδειας τελικού χρήστη"
+
+#. TRANSLATORS: the EULA text itself (long and boring)
+#: ../lib/packagekit-glib2/pk-task-text.c:180
+msgid "Agreement"
+msgstr "Συμφωνία"
+
+#. TRANSLATORS: ask the user if they've read and accepted the EULA
+#: ../lib/packagekit-glib2/pk-task-text.c:186
+#, fuzzy
+msgid "Do you accept this agreement?"
+msgstr "Αποδέχεστε την υπογραφή;"
+
+#. TRANSLATORS: tell the user we've not done anything
+#: ../lib/packagekit-glib2/pk-task-text.c:191
+#, fuzzy
+msgid "The agreement was not accepted."
+msgstr "Η υπογραφή δεν έγινε δεκτή."
+
+#. TRANSLATORS: the user needs to change media inserted into the computer
+#: ../lib/packagekit-glib2/pk-task-text.c:221
+#, fuzzy
+msgid "Media change required"
+msgstr "Δεν απαιτούνται επιπλέον πακέτα."
+
+#. TRANSLATORS: the type, e.g. DVD, CD, etc
+#: ../lib/packagekit-glib2/pk-task-text.c:224
+msgid "Media type"
+msgstr "Τύπος media"
+
+#. TRANSLATORS: the media label, usually like 'disk-1of3'
+#: ../lib/packagekit-glib2/pk-task-text.c:227
+msgid "Media label"
+msgstr "Ετικέτα media"
+
+#. TRANSLATORS: the media description, usually like 'Fedora 12 disk 5'
+#: ../lib/packagekit-glib2/pk-task-text.c:230
+msgid "Text"
+msgstr "Κείμενο"
+
+#. TRANSLATORS: ask the user to insert the media
+#: ../lib/packagekit-glib2/pk-task-text.c:234
+#, fuzzy
+msgid "Please insert the correct media"
+msgstr "Παρακαλώ, επιλέξτε το σωστό πακέτο: "
+
+#. TRANSLATORS: tell the user we've not done anything as they are lazy
+#: ../lib/packagekit-glib2/pk-task-text.c:239
+#, fuzzy
+msgid "The correct media was not inserted."
+msgstr "Η υπογραφή δεν έγινε δεκτή."
+
+#. TRANSLATORS: When processing, we might have to remove other dependencies
+#: ../lib/packagekit-glib2/pk-task-text.c:254
+msgid "The following packages have to be removed:"
+msgstr "Τα παρακάτω πακέτα πρέπει να αφαιρεθούν:"
+
+#. TRANSLATORS: When processing, we might have to install other dependencies
+#: ../lib/packagekit-glib2/pk-task-text.c:259
+msgid "The following packages have to be installed:"
+msgstr "Τα παρακάτω πακέτα πρέπει να εγκατασταθούν:"
+
+#. TRANSLATORS: When processing, we might have to update other dependencies
+#: ../lib/packagekit-glib2/pk-task-text.c:264
+msgid "The following packages have to be updated:"
+msgstr "Τα παρακάτω πακέτα πρέπει να ενημερωθούν:"
+
+#. TRANSLATORS: When processing, we might have to reinstall other dependencies
+#: ../lib/packagekit-glib2/pk-task-text.c:269
+msgid "The following packages have to be reinstalled:"
+msgstr "Τα παρακάτω πακέτα πρέπει να εγκατασταθούν ξανά:"
+
+#. TRANSLATORS: When processing, we might have to downgrade other dependencies
+#: ../lib/packagekit-glib2/pk-task-text.c:274
+#, fuzzy
+msgid "The following packages have to be downgraded:"
+msgstr "Τα παρακάτω πακέτα πρέπει να υποβαθμιστούν:"
+
+#. TRANSLATORS: ask the user if the proposed changes are okay
+#: ../lib/packagekit-glib2/pk-task-text.c:324
+msgid "Proceed with changes?"
+msgstr "Να προχωρήσουν οι αλλαγές?"
+
+#. TRANSLATORS: tell the user we didn't do anything
+#: ../lib/packagekit-glib2/pk-task-text.c:329
+msgid "The transaction did not proceed."
+msgstr ""
+
 #. SECURITY:
 #. - Normal users do not require admin authentication to accept new
 #. licence agreements.
@@ -1299,24 +1726,16 @@ msgid "Authentication is required to accept a EULA"
 msgstr "Απαιτείται πιστοποίηση για την αποδοχή της άδειας χρήσης (EULA)"
 
 #: ../policy/org.freedesktop.packagekit.policy.in.h:9
-msgid ""
-"Authentication is required to cancel a task that was not started by yourself"
-msgstr ""
-"Απαιτείται πιστοποίηση για την ακύρωση ενέργειας που δεν είχατε εκκινήσει "
-"εσείς"
+msgid "Authentication is required to cancel a task that was not started by yourself"
+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 consider a key used for signing packages as "
-"trusted"
-msgstr ""
-"Απαιτείται πιστοποίηση για να οριστούν ως έμπιστα τα κλειδιά για την "
-"υπογραφή πακέτων"
+msgid "Authentication is required to consider a key used for signing packages as trusted"
+msgstr "Απαιτείται πιστοποίηση για να οριστούν ως έμπιστα τα κλειδιά για την υπογραφή πακέτων"
 
 #: ../policy/org.freedesktop.packagekit.policy.in.h:12
 msgid "Authentication is required to install a signed package"
@@ -1341,16 +1760,11 @@ msgstr "Απαιτείται πιστοποίηση για την αφαίρεσ
 
 #: ../policy/org.freedesktop.packagekit.policy.in.h:17
 msgid "Authentication is required to rollback a transaction"
-msgstr ""
-"Απαιτείται πιστοποίηση για την επαναφορά στην κατάσταση πριν από την εργασία"
+msgstr "Απαιτείται πιστοποίηση για την επαναφορά στην κατάσταση πριν από την εργασία"
 
 #: ../policy/org.freedesktop.packagekit.policy.in.h:18
-msgid ""
-"Authentication is required to set the network proxy used for downloading "
-"packages"
-msgstr ""
-"Απαιτείται πιστοποίηση για τον ορισμό διαμεσολαβητή δικτύου για τη λήψη "
-"πακέτων"
+msgid "Authentication is required to set the network proxy used for downloading packages"
+msgstr "Απαιτείται πιστοποίηση για τον ορισμό διαμεσολαβητή δικτύου για τη λήψη πακέτων"
 
 #: ../policy/org.freedesktop.packagekit.policy.in.h:19
 msgid "Authentication is required to update packages"
@@ -1467,8 +1881,7 @@ 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
@@ -1478,18 +1891,12 @@ 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
-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:205
@@ -1536,49 +1943,117 @@ msgstr "Δεν είναι δυνατή η σύνδεση στο δίαυλο Ï„Î
 msgid "Error trying to start:"
 msgstr "Σφάλμα κατα την προσπάθεια έναρξης:"
 
-#: ../src/pk-polkit-action-lookup.c:147
+#: ../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:168 ../src/pk-polkit-action-lookup.c:187
+#: ../src/pk-polkit-action-lookup.c:171
+#: ../src/pk-polkit-action-lookup.c:190
 msgid "The software is not from a trusted source."
 msgstr "Το λογισμικό δεν προέρχεται από έμπιστη πηγή."
 
-#: ../src/pk-polkit-action-lookup.c:173
+#: ../src/pk-polkit-action-lookup.c:176
 msgid "Do not update this package unless you are sure it is safe to do so."
 msgstr "Ενημερώστε αυτό το πακέτο μόνο αν είστε βέβαιοι ότι είναι ασφαλές."
 
-#: ../src/pk-polkit-action-lookup.c:174
-#, fuzzy
+#: ../src/pk-polkit-action-lookup.c:177
 msgid "Do not update these packages unless you are sure it is safe to do so."
 msgstr "Ενημερώστε αυτό το πακέτο μόνο αν είστε βέβαιοι ότι είναι ασφαλές."
 
-#: ../src/pk-polkit-action-lookup.c:192
+#: ../src/pk-polkit-action-lookup.c:195
 msgid "Do not install this package unless you are sure it is safe to do so."
 msgstr "Εγκαταστήστε αυτό το πακέτο μόνο αν είστε βέβαιοι ότι είναι ασφαλές."
 
-#: ../src/pk-polkit-action-lookup.c:193
-#, fuzzy
+#: ../src/pk-polkit-action-lookup.c:196
 msgid "Do not install these packages unless you are sure it is safe to do so."
 msgstr "Εγκαταστήστε αυτό το πακέτο μόνο αν είστε βέβαιοι ότι είναι ασφαλές."
 
 #. TRANSLATORS: warn the user that all bets are off
-#: ../src/pk-polkit-action-lookup.c:199
+#: ../src/pk-polkit-action-lookup.c:202
 msgid "Malicious software can damage your computer or cause other harm."
-msgstr ""
-"Η εγκατάσταση κακόβουλου λογισμικού μπορεί να προκαλέσει ζημιές στον "
-"υπολογιστή σας ή και αλλού."
+msgstr "Η εγκατάσταση κακόβουλου λογισμικού μπορεί να προκαλέσει ζημιές στον υπολογιστή σας ή και αλλού."
 
 #. TRANSLATORS: too many packages to list each one
-#: ../src/pk-polkit-action-lookup.c:274
-#, fuzzy
+#: ../src/pk-polkit-action-lookup.c:277
 msgid "Many packages"
-msgstr "Ενημέρωση πακέτων"
+msgstr "Πολλά πακέτα"
 
 #. TRANSLATORS: if the transaction is forced to install only trusted packages
-#: ../src/pk-polkit-action-lookup.c:334
+#: ../src/pk-polkit-action-lookup.c:343
 msgid "Only trusted"
 msgstr "Μόνο έμπιστα"
+
+#~ msgid "Percentage"
+#~ msgstr "Ποσοστό"
+#~ msgid "Please restart the application as it is being used."
+#~ msgstr "Παρακαλώ, επανεκκινήστε την εφαρμογή, γιατί χρησιμοποιείται."
+#~ msgid "The package %s is already installed"
+#~ msgstr "Το πακέτο %s είναι ήδη εγκατεστημένο"
+#~ msgid "This tool could not install the files: %s"
+#~ msgstr "Δεν ήταν δυνατή η εγκατάσταση των αρχείων: %s"
+#~ msgid "This tool could not remove %s: %s"
+#~ msgstr "Δεν ήταν δυνατή η αφαίρεση του %s: %s"
+#~ msgid "This tool could not remove the packages: %s"
+#~ msgstr "Δεν ήταν δυνατή η αφαίρεση των πακέτων: %s"
+#~ msgid "Proceed removing additional packages?"
+#~ msgstr "Μπορούν να αφαιρεθούν τα επιπλέον πακέτα;"
+#~ msgid "The package removal was canceled!"
+#~ msgstr "Η αφαίρεση των πακέτων ακυρώθηκε!"
+#~ msgid "This tool could not download the package %s as it could not be found"
+#~ msgstr "Δεν ήταν δυνατή η λήψη του πακέτου %s, γιατί δε βρέθηκε"
+#~ msgid "This tool could not download the packages: %s"
+#~ msgstr "Δεν ήταν δυνατή η λήψη των πακέτων: %s"
+#~ msgid "This tool could not update %s: %s"
+#~ msgstr "Δεν ήταν δυνατή η ενημέρωση του %s: %s"
+#~ msgid "This tool could not get the requirements for %s: %s"
+#~ msgstr "Δεν ήταν δυνατή η λήψη των απαιτούμενων για το %s: %s"
+#~ msgid "This tool could not get the dependencies for %s: %s"
+#~ msgstr "Δεν ήταν δυνατή η λήψη των εξαρτήσεων του %s: %s"
+#~ msgid "This tool could not get package details for %s: %s"
+#~ msgstr "Δεν ήταν δυνατή η λήψη των λεπτομερειών πακέτου του %s: %s"
+#~ msgid "This tool could not find the files for %s: %s"
+#~ msgstr "Δε βρέθηκαν τα αρχεία για το %s: %s"
+#~ msgid "This tool could not get the file list for %s: %s"
+#~ msgstr "Δεν ήταν δυνατή η λήψη της λίστας αρχείων για το %s: %s"
+#~ msgid "File already exists: %s"
+#~ msgstr "Το αρχείο υπάρχει ήδη: %s"
+#~ msgid "This tool could not get package list: %s"
+#~ msgstr "Δεν ήταν δυνατή η λήψη της λίστας πακέτων: %s"
+#~ msgid "Failed to save to disk"
+#~ msgstr "Απέτυχε η αποθήκευση στο δίσκο"
+#~ msgid "File does not exist: %s"
+#~ msgstr "Δεν υπάρχει το αρχείο: %s"
+#~ msgid "Packages to add"
+#~ msgstr "Πακέτα προς εγκατάσταση"
+#~ msgid "Packages to remove"
+#~ msgstr "Πακέτα προς αφαίρεση"
+#~ msgid "No new packages need to be installed"
+#~ msgstr "Δεν χρειάζεται να εγκατασταθούν νέα πακέτα"
+#~ msgid "not found."
+#~ msgstr "δε βρέθηκε."
+#~ msgid "No packages can be found to install"
+#~ msgstr "Δε βρέθηκαν πακέτα προς εγκατάσταση"
+#~ msgid "This tool could not find the update details for %s: %s"
+#~ msgstr "Δε βρέθηκαν οι λεπτομέρειες ενημέρωσης του %s: %s"
+#~ msgid "This tool could not get the update details for %s: %s"
+#~ msgstr "Δεν ήταν δυνατή η λήψη των λεπτομερειών ενημέρωσης του %s: %s"
+#~ msgid "Error:"
+#~ msgstr "Σφάλμα:"
+#~ msgid "Do you agree to this license?"
+#~ msgstr "Αποδέχεστε την άδεια χρήσης;"
+#~ msgid "The license was refused."
+#~ msgstr "Η άδεια χρήσης δεν έγινε δεκτή."
+#~ msgid "This tool could not connect to system DBUS."
+#~ msgstr "Δεν ήταν δυνατή η σύνδεση στο DBUS του συστήματος."
+#~ msgid "A list file name to create is required"
+#~ msgstr "Πρέπει να οριστεί το όνομα του νέου αρχείου λίστας"
+#~ msgid "A list file to open is required"
+#~ msgstr "Πρέπει να οριστεί το αρχείο λίστας που θα ανοίξει"
+#~ msgid "Incorrect privileges for this operation"
+#~ msgstr "Δεν έχετε τα κατάλληλα προνόμια για αυτή την ενέργεια"
+#~ msgid "Cannot show the list of transactions"
+#~ msgstr "Δεν είναι δυνατή η εμφάνιση της λίστας εργασιών"
+#~ msgid "The package could not be found"
+#~ msgstr "Δε βρέθηκε το πακέτο"
+
commit a41cd06a78a8531d6795fa91aac9262dab8b3807
Author: perplex <perplex at fedoraproject.org>
Date:   Sun Oct 18 21:33:45 2009 +0000

    Sending translation for Italian

diff --git a/po/it.po b/po/it.po
index 1e46ad7..9aa49f8 100644
--- a/po/it.po
+++ b/po/it.po
@@ -12,7 +12,7 @@ msgstr ""
 "Project-Id-Version: packagekit\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2009-10-18 09:50+0000\n"
-"PO-Revision-Date: 2009-10-18 11:51+0200\n"
+"PO-Revision-Date: 2009-10-18 22:38+0200\n"
 "Last-Translator: Milo Casagrande <milo at ubuntu.com>\n"
 "Language-Team: Italian <tp at lists.linux.it>\n"
 "MIME-Version: 1.0\n"
@@ -1578,7 +1578,7 @@ msgstr "URL chiave"
 #. TRANSLATORS: the username of the key
 #: ../lib/packagekit-glib2/pk-task-text.c:116
 msgid "Key user"
-msgstr "Chiave utente"
+msgstr "Utente chiave"
 
 #. TRANSLATORS: the key ID, usually a few hex digits
 #: ../lib/packagekit-glib2/pk-task-text.c:119
@@ -1678,7 +1678,7 @@ msgstr "I seguenti pacchetti devono essere reinstallati:"
 #. TRANSLATORS: When processing, we might have to downgrade other dependencies
 #: ../lib/packagekit-glib2/pk-task-text.c:274
 msgid "The following packages have to be downgraded:"
-msgstr "I seguenti pacchetti devono essere rimossi:"
+msgstr "I seguenti pacchetti devono essere portati a una vecchia versione:"
 
 #. TRANSLATORS: ask the user if the proposed changes are okay
 #: ../lib/packagekit-glib2/pk-task-text.c:324
commit 3ad3fe0705d040a991dc5ef5f77263d5a9f5fca2
Author: perplex <perplex at fedoraproject.org>
Date:   Sun Oct 18 12:21:53 2009 +0000

    Sending translation for Italian

diff --git a/po/it.po b/po/it.po
index 335bad8..1e46ad7 100644
--- a/po/it.po
+++ b/po/it.po
@@ -11,8 +11,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: packagekit\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-08-11 15:25+0200\n"
-"PO-Revision-Date: 2009-08-11 15:26+0200\n"
+"POT-Creation-Date: 2009-10-18 09:50+0000\n"
+"PO-Revision-Date: 2009-10-18 11:51+0200\n"
 "Last-Translator: Milo Casagrande <milo at ubuntu.com>\n"
 "Language-Team: Italian <tp at lists.linux.it>\n"
 "MIME-Version: 1.0\n"
@@ -21,124 +21,127 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
 #. TRANSLATORS: this is an atomic transaction
-#: ../client/pk-console.c:231
+#: ../client/pk-console.c:143
 msgid "Transaction"
 msgstr "Transazione"
 
 #. TRANSLATORS: this is the time the transaction was started in system timezone
-#: ../client/pk-console.c:233
+#: ../client/pk-console.c:145
 msgid "System time"
 msgstr "Ora di sistema"
 
 # (ndt) la transazione
 #. TRANSLATORS: this is if the transaction succeeded or not
-#: ../client/pk-console.c:235
+#: ../client/pk-console.c:147
 msgid "Succeeded"
 msgstr "Completata con successo"
 
-#. TRANSLATORS: if the repo is enabled
-#: ../client/pk-console.c:235 ../client/pk-console.c:402
+#: ../client/pk-console.c:147
 msgid "True"
 msgstr "Vero"
 
-#: ../client/pk-console.c:235 ../client/pk-console.c:402
+#: ../client/pk-console.c:147
 msgid "False"
 msgstr "Falso"
 
 # (ndt) metto azione come da commento in una stringa dopo, dovrebbe essere l'azione eseguita dalla transazione
 #. TRANSLATORS: this is the transactions role, e.g. "update-system"
 #. TRANSLATORS: the trasaction role, e.g. update-system
-#: ../client/pk-console.c:237 ../src/pk-polkit-action-lookup.c:331
+#: ../client/pk-console.c:149 ../src/pk-polkit-action-lookup.c:336
 msgid "Role"
 msgstr "Azione"
 
 #. TRANSLATORS: this is The duration of the transaction
-#: ../client/pk-console.c:242
+#: ../client/pk-console.c:154
 msgid "Duration"
 msgstr "Durata"
 
-#: ../client/pk-console.c:242
+#: ../client/pk-console.c:154
 msgid "(seconds)"
 msgstr "(secondi)"
 
 #. 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:246 ../src/pk-polkit-action-lookup.c:345
+#: ../client/pk-console.c:158 ../src/pk-polkit-action-lookup.c:350
 msgid "Command line"
 msgstr "Riga di comando"
 
 #. TRANSLATORS: this is the user ID of the user that started the action
-#: ../client/pk-console.c:248
+#: ../client/pk-console.c:160
 msgid "User ID"
 msgstr "ID utente"
 
 #. TRANSLATORS: this is the username, e.g. hughsie
-#: ../client/pk-console.c:255
+#: ../client/pk-console.c:167
 msgid "Username"
 msgstr "Nome utente"
 
 #. TRANSLATORS: this is the users real name, e.g. "Richard Hughes"
-#: ../client/pk-console.c:259
+#: ../client/pk-console.c:171
 msgid "Real name"
 msgstr "Nome reale"
 
-#: ../client/pk-console.c:267
+#: ../client/pk-console.c:179
 msgid "Affected packages:"
 msgstr "Pacchetti interessati:"
 
-#: ../client/pk-console.c:269
+#: ../client/pk-console.c:181
 msgid "Affected packages: None"
 msgstr "Pacchetti interessati: nessuno"
 
 #. TRANSLATORS: this is the distro, e.g. Fedora 10
-#: ../client/pk-console.c:294
+#: ../client/pk-console.c:201
 msgid "Distribution"
 msgstr "Distribuzione"
 
 #. TRANSLATORS: this is type of update, stable or testing
-#: ../client/pk-console.c:296
+#: ../client/pk-console.c:203
 msgid "Type"
 msgstr "Tipo"
 
 #. TRANSLATORS: this is any summary text describing the upgrade
 #. TRANSLATORS: this is the summary of the group
-#: ../client/pk-console.c:298 ../client/pk-console.c:321
+#: ../client/pk-console.c:205 ../client/pk-console.c:226
 msgid "Summary"
 msgstr "Sommario"
 
 #. TRANSLATORS: this is the group category name
-#: ../client/pk-console.c:310
+#: ../client/pk-console.c:215
 msgid "Category"
 msgstr "Categoria"
 
 #. TRANSLATORS: this is group identifier
-#: ../client/pk-console.c:312
+#: ../client/pk-console.c:217
 msgid "ID"
 msgstr "ID"
 
 #. TRANSLATORS: this is the parent group
-#: ../client/pk-console.c:315
+#: ../client/pk-console.c:220
 msgid "Parent"
 msgstr "Gruppo superiore"
 
 #. TRANSLATORS: this is the name of the parent group
-#: ../client/pk-console.c:318
+#: ../client/pk-console.c:223
 msgid "Name"
 msgstr "Nome"
 
 #. TRANSLATORS: this is preferred icon for the group
-#: ../client/pk-console.c:324
+#: ../client/pk-console.c:229
 msgid "Icon"
 msgstr "Icona"
 
 #. TRANSLATORS: this is a header for the package that can be updated
-#: ../client/pk-console.c:339
+#: ../client/pk-console.c:243
 msgid "Details about the update:"
 msgstr "Dettagli sull'aggiornamento:"
 
 #. TRANSLATORS: details about the update, package name and version
+#. 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:341 ../src/pk-polkit-action-lookup.c:356
+#: ../client/pk-console.c:249 ../lib/packagekit-glib2/pk-task-text.c:107
+#: ../lib/packagekit-glib2/pk-task-text.c:174
+#: ../src/pk-polkit-action-lookup.c:361
 msgid "Package"
 msgid_plural "Packages"
 msgstr[0] "Pacchetto"
@@ -146,115 +149,146 @@ msgstr[1] "Pacchetti"
 
 # (ndt) credo siano delle 'spiegazioni' da intendere tipo: 'questo aggiornamento aggiorna XX pacchetti' , ma non ne sono sicuro, quindi restano così per ora...
 #. TRANSLATORS: details about the update, any packages that this update updates
-#: ../client/pk-console.c:344
+#: ../client/pk-console.c:252
 msgid "Updates"
 msgstr "Aggiornamenti"
 
 #. TRANSLATORS: details about the update, any packages that this update obsoletes
-#: ../client/pk-console.c:348
+#: ../client/pk-console.c:256
 msgid "Obsoletes"
 msgstr "Obsoleti"
 
 # (ndt) messo fornitore al posto di produttore
 #. TRANSLATORS: details about the update, the vendor URLs
-#: ../client/pk-console.c:352
+#. TRANSLATORS: the vendor (e.g. vmware) that is providing the EULA
+#: ../client/pk-console.c:260 ../lib/packagekit-glib2/pk-task-text.c:177
 msgid "Vendor"
 msgstr "Fornitore"
 
 #. TRANSLATORS: details about the update, the bugzilla URLs
-#: ../client/pk-console.c:356
+#: ../client/pk-console.c:264
 msgid "Bugzilla"
 msgstr "Bugzilla"
 
 #. TRANSLATORS: details about the update, the CVE URLs
-#: ../client/pk-console.c:360
+#: ../client/pk-console.c:268
 msgid "CVE"
 msgstr "CVE"
 
 #. TRANSLATORS: details about the update, if the package requires a restart
-#: ../client/pk-console.c:364
+#: ../client/pk-console.c:272
 msgid "Restart"
 msgstr "Riavvio"
 
 #. TRANSLATORS: details about the update, any description of the update
-#: ../client/pk-console.c:368
+#: ../client/pk-console.c:276
 msgid "Update text"
 msgstr "Dettagli aggiornamento"
 
 #. TRANSLATORS: details about the update, the changelog for the package
-#: ../client/pk-console.c:372
+#: ../client/pk-console.c:280
 msgid "Changes"
 msgstr "Modifiche"
 
 #. TRANSLATORS: details about the update, the ongoing state of the update
-#: ../client/pk-console.c:376
+#: ../client/pk-console.c:284
 msgid "State"
 msgstr "Stato"
 
 # (ndt) messo pubblicato per differenziare con "release" inteso come vero rilascio (tipo della distribuzione), qui si tratta di un aggiornamento
 #. TRANSLATORS: details about the update, date the update was issued
-#: ../client/pk-console.c:381
+#: ../client/pk-console.c:289
 msgid "Issued"
 msgstr "Pubblicato"
 
 #. TRANSLATORS: details about the update, date the update was updated
-#: ../client/pk-console.c:386
+#. TRANSLATORS: The action of the package, in past tense
+#: ../client/pk-console.c:294 ../lib/packagekit-glib2/pk-console-shared.c:502
 msgid "Updated"
 msgstr "Aggiornato"
 
-#: ../client/pk-console.c:473 ../client/pk-console.c:475
-msgid "Percentage"
-msgstr "Percentuale"
+#. TRANSLATORS: if the repo is enabled
+#: ../client/pk-console.c:312
+msgid "Enabled"
+msgstr "Abilitato"
 
-#: ../client/pk-console.c:475
-msgid "Unknown"
-msgstr "Sconosciuto"
+#. TRANSLATORS: if the repo is disabled
+#: ../client/pk-console.c:315
+msgid "Disabled"
+msgstr "Disabilitato"
 
 #. TRANSLATORS: a package requires the system to be restarted
-#: ../client/pk-console.c:517
+#: ../client/pk-console.c:337
 msgid "System restart required by:"
 msgstr "Riavvio del sistema richiesto da:"
 
 # (ndt) credo ci sia un errore nell'originale: manca il by. anche in questo caso, come quello precedente, è un pacchetto che richiede il riavvio. anche il codice mostra la stringa col nome di un pacchetto come nelle altre, lo metto per uniformare
 #. TRANSLATORS: a package requires the session to be restarted
-#: ../client/pk-console.c:520
+#: ../client/pk-console.c:340
 msgid "Session restart required:"
 msgstr "Riavvio della sessione richiesto da:"
 
 #. TRANSLATORS: a package requires the system to be restarted due to a security update
-#: ../client/pk-console.c:523
+#: ../client/pk-console.c:343
 msgid "System restart (security) required by:"
 msgstr "Riavvio del sistema (sicurezza) richiesto da:"
 
 # (ndt) idem di quella sopra
 #. TRANSLATORS: a package requires the session to be restarted due to a security update
-#: ../client/pk-console.c:526
+#: ../client/pk-console.c:346
 msgid "Session restart (security) required:"
 msgstr "Riavvio della sessione (sicurezza) richiesto da:"
 
 #. TRANSLATORS: a package requires the application to be restarted
-#: ../client/pk-console.c:529
+#: ../client/pk-console.c:349
 msgid "Application restart required by:"
 msgstr "Riavvio dell'applicazione richiesto da:"
 
+#. TRANSLATORS: This a list of details about the package
+#: ../client/pk-console.c:366
+msgid "Package description"
+msgstr "Descrizione del pacchetto"
+
+#. TRANSLATORS: This a message (like a little note that may be of interest) from the transaction
+#: ../client/pk-console.c:384
+msgid "Message:"
+msgstr "Messaggio:"
+
+#. TRANSLATORS: This where the package has no files
+#: ../client/pk-console.c:398
+msgid "No files"
+msgstr "Nessun file"
+
+#. TRANSLATORS: This a list files contained in the package
+#: ../client/pk-console.c:403
+msgid "Package files"
+msgstr "File del pacchetto"
+
+#. TRANSLATORS: we failed to get any results, which is pretty fatal in my book
+#: ../client/pk-console.c:475
+msgid "Fatal error"
+msgstr "Errore irreversibile"
+
+#. TRANSLATORS: the transaction failed in a way we could not expect
+#: ../client/pk-console.c:484
+#: ../contrib/command-not-found/pk-command-not-found.c:430
+#: ../contrib/command-not-found/pk-command-not-found.c:597
+msgid "The transaction failed"
+msgstr "La transazione non è riuscita"
+
 #. TRANSLATORS: a package needs to restart their system
-#: ../client/pk-console.c:584
+#: ../client/pk-console.c:552
 msgid "Please restart the computer to complete the update."
 msgstr "Riavviare il computer per completare l'aggiornamento."
 
 #. TRANSLATORS: a package needs to restart the session
-#: ../client/pk-console.c:587
+#: ../client/pk-console.c:555
 msgid "Please logout and login to complete the update."
 msgstr ""
 "Terminare la sessione e accedere nuovamente per completare l'aggiornamento."
 
-#. TRANSLATORS: a package needs to restart the application
-#: ../client/pk-console.c:590
-msgid "Please restart the application as it is being used."
-msgstr "Riavviare l'applicazione poiché è attualmente in uso."
-
 #. TRANSLATORS: a package needs to restart their system (due to security)
-#: ../client/pk-console.c:593
+#: ../client/pk-console.c:558
 msgid ""
 "Please restart the computer to complete the update as important security "
 "updates have been installed."
@@ -263,7 +297,7 @@ msgstr ""
 "installati importanti aggiornamenti di sicurezza."
 
 #. TRANSLATORS: a package needs to restart the session (due to security)
-#: ../client/pk-console.c:596
+#: ../client/pk-console.c:561
 msgid ""
 "Please logout and login to complete the update as important security updates "
 "have been installed."
@@ -271,500 +305,265 @@ msgstr ""
 "Terminare la sessione e accedere nuovamente per completare l'aggiornamento "
 "poiché sono stati installati importanti aggiornamenti di sicurezza."
 
-#. TRANSLATORS: The package is already installed on the system
-#: ../client/pk-console.c:723
-#, c-format
-msgid "The package %s is already installed"
-msgstr "Il pacchetto %s è già installato"
-
-#. TRANSLATORS: The package name was not found in any software sources. The detailed error follows
-#: ../client/pk-console.c:731
-#, c-format
-msgid "The package %s could not be installed: %s"
-msgstr "Il pacchetto %s non può essere installato: %s"
-
-#. TRANSLATORS: There was a programming error that shouldn't happen. The detailed error follows
-#: ../client/pk-console.c:756 ../client/pk-console.c:779
-#: ../client/pk-console.c:875 ../client/pk-console.c:992
-#: ../client/pk-tools-common.c:62 ../client/pk-tools-common.c:81
-#: ../client/pk-tools-common.c:89
-#, c-format
-msgid "Internal error: %s"
-msgstr "Errore interno: %s"
-
-#. TRANSLATORS: There was an error installing the packages. The detailed error follows
-#: ../client/pk-console.c:764 ../client/pk-console.c:1388
-#, c-format
-msgid "This tool could not install the packages: %s"
-msgstr "Questo strumento non può installare i pacchetti: %s"
-
-#. TRANSLATORS: There was an error installing the files. The detailed error follows
-#: ../client/pk-console.c:787
-#, c-format
-msgid "This tool could not install the files: %s"
-msgstr "Questo strumento non può installare i file: %s"
-
-#. TRANSLATORS: The package name was not found in the installed list. The detailed error follows
-#: ../client/pk-console.c:843
-#, c-format
-msgid "This tool could not remove %s: %s"
-msgstr "Questo strumento non può rimuovere %s: %s"
-
-#. TRANSLATORS: There was an error removing the packages. The detailed error follows
-#: ../client/pk-console.c:866 ../client/pk-console.c:904
-#: ../client/pk-console.c:937
-#, c-format
-msgid "This tool could not remove the packages: %s"
-msgstr "Questo strumento non può rimuovere i pacchetti: %s"
-
-#. TRANSLATORS: When removing, we might have to remove other dependencies
-#: ../client/pk-console.c:916
-msgid "The following packages have to be removed:"
-msgstr "I seguenti pacchetti devono essere rimossi:"
-
-#. TRANSLATORS: We are checking if it's okay to remove a list of packages
-#: ../client/pk-console.c:923
-msgid "Proceed removing additional packages?"
-msgstr "Rimuovere anche i pacchetti aggiuntivi?"
-
-#. TRANSLATORS: We did not remove any packages
-#: ../client/pk-console.c:928
-msgid "The package removal was canceled!"
-msgstr "La rimozione dei pacchetti è stata annullata."
-
-#. TRANSLATORS: The package name was not found in any software sources
-#: ../client/pk-console.c:969
-#, c-format
-msgid "This tool could not download the package %s as it could not be found"
-msgstr ""
-"Questo strumento non può scaricare il pacchetto %s poiché non può essere "
-"trovato"
-
-#. TRANSLATORS: Could not download the packages for some reason. The detailed error follows
-#: ../client/pk-console.c:1000
+#. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
+#: ../client/pk-console.c:584
 #, c-format
-msgid "This tool could not download the packages: %s"
-msgstr "Questo strumento non può scaricare i pacchetti: %s"
+msgid "This tool could not find any available package: %s"
+msgstr "Questo strumento non può trovare alcun pacchetto disponibile: %s"
 
 #. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
-#: ../client/pk-console.c:1027 ../client/pk-console.c:1036
+#: ../client/pk-console.c:612
 #, c-format
-msgid "This tool could not update %s: %s"
-msgstr "Questo strumento non può aggiornare %s: %s"
+msgid "This tool could not find the installed package: %s"
+msgstr "Questo strumento non può trovare il pacchetto installato: %s"
 
 #. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
-#: ../client/pk-console.c:1058 ../client/pk-console.c:1066
+#: ../client/pk-console.c:640 ../client/pk-console.c:668
 #, c-format
-msgid "This tool could not get the requirements for %s: %s"
-msgstr "Questo strumento non può ottenere i requisiti per %s: %s"
+msgid "This tool could not find the package: %s"
+msgstr "Questo strumento non può trovare il pacchetto: %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
-#: ../client/pk-console.c:1088 ../client/pk-console.c:1096
-#, c-format
-msgid "This tool could not get the dependencies for %s: %s"
-msgstr "Questo strumento non può ottenere le dipendenze per %s: %s"
-
 #. TRANSLATORS: There was an error getting the details about the package. The detailed error follows
-#: ../client/pk-console.c:1118 ../client/pk-console.c:1126
-#, c-format
-msgid "This tool could not get package details for %s: %s"
-msgstr "Questo strumento non può ottenere i dettagli del pacchetto per %s: %s"
-
 #. TRANSLATORS: The package name was not found in any software sources. The detailed error follows
-#: ../client/pk-console.c:1148
+#: ../client/pk-console.c:696 ../client/pk-console.c:724
+#: ../client/pk-console.c:752 ../client/pk-console.c:780
+#: ../client/pk-console.c:808
 #, c-format
-msgid "This tool could not find the files for %s: %s"
-msgstr "Questo strumento non può trovare i file per %s: %s"
-
-#. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
-#: ../client/pk-console.c:1156
-#, c-format
-msgid "This tool could not get the file list for %s: %s"
-msgstr "Questo strumento non può ottenere l'elenco dei file per %s: %s"
-
-#. TRANSLATORS: There was an error getting the list of packages. The filename follows
-#: ../client/pk-console.c:1178
-#, c-format
-msgid "File already exists: %s"
-msgstr "Il file esiste già: %s"
-
-#. TRANSLATORS: follows a list of packages to install
-#: ../client/pk-console.c:1183 ../client/pk-console.c:1239
-#: ../client/pk-console.c:1314
-msgid "Getting package list"
-msgstr "Recupero elenco dei pacchetti"
-
-#. TRANSLATORS: There was an error getting the list of packages. The detailed error follows
-#: ../client/pk-console.c:1189 ../client/pk-console.c:1245
-#: ../client/pk-console.c:1320
-#, c-format
-msgid "This tool could not get package list: %s"
-msgstr "Questo strumento non può ottenere l'elenco dei paccheti: %s"
-
-#. TRANSLATORS: There was an error saving the list
-#: ../client/pk-console.c:1200
-#, c-format
-msgid "Failed to save to disk"
-msgstr "Salvataggio su disco non riuscito"
-
-#. TRANSLATORS: There was an error getting the list. The filename follows
-#: ../client/pk-console.c:1234 ../client/pk-console.c:1309
-#, c-format
-msgid "File does not exist: %s"
-msgstr "Il file non esiste: %s"
-
-#. TRANSLATORS: header to a list of packages newly added
-#: ../client/pk-console.c:1266
-msgid "Packages to add"
-msgstr "Pacchetti da aggiungere"
-
-#. TRANSLATORS: header to a list of packages removed
-#: ../client/pk-console.c:1274
-msgid "Packages to remove"
-msgstr "Pacchetti da rimuovere"
-
-#. TRANSLATORS: We didn't find any differences
-#: ../client/pk-console.c:1342
-#, c-format
-msgid "No new packages need to be installed"
-msgstr "Non deve essere installato alcun nuovo pacchetto"
-
-#. TRANSLATORS: follows a list of packages to install
-#: ../client/pk-console.c:1348
-msgid "To install"
-msgstr "Da installare"
-
-#. TRANSLATORS: searching takes some time....
-#: ../client/pk-console.c:1360
-msgid "Searching for package: "
-msgstr "Ricerca del pacchetto: "
-
-#. TRANSLATORS: package was not found -- this is the end of a string ended in ...
-#: ../client/pk-console.c:1364
-msgid "not found."
-msgstr "non trovato."
-
-#. TRANSLATORS: We didn't find any packages to install
-#: ../client/pk-console.c:1375
-#, c-format
-msgid "No packages can be found to install"
-msgstr "Non è possibile trovare alcun pacchetto da installare"
-
-#. TRANSLATORS: installing new packages from package list
-#. TRANSLATORS: we are now installing the debuginfo packages we found earlier
-#: ../client/pk-console.c:1381
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:886
-#, c-format
-msgid "Installing packages"
-msgstr "Installazione pacchetti"
-
-#. TRANSLATORS: The package name was not found in any software sources. The detailed error follows
-#: ../client/pk-console.c:1417
-#, c-format
-msgid "This tool could not find the update details for %s: %s"
-msgstr ""
-"Questo strumento non può trovare i dettagli di aggiornamento per %s: %s"
-
-#. TRANSLATORS: There was an error getting the details about the update for the package. The detailed error follows
-#: ../client/pk-console.c:1425
-#, c-format
-msgid "This tool could not get the update details for %s: %s"
-msgstr ""
-"Questo strumento non può ottenere i dettagli di aggiornamento per %s: %s"
-
-#. TRANSLATORS: This was an unhandled error, and we don't have _any_ context
-#: ../client/pk-console.c:1456
-msgid "Error:"
-msgstr "Errore:"
-
-#. TRANSLATORS: This a list of details about the package
-#: ../client/pk-console.c:1470
-msgid "Package description"
-msgstr "Descrizione del pacchetto"
-
-#. TRANSLATORS: This a message (like a little note that may be of interest) from the transaction
-#: ../client/pk-console.c:1486
-msgid "Message:"
-msgstr "Messaggio:"
-
-#. TRANSLATORS: This a list files contained in the package
-#: ../client/pk-console.c:1514
-msgid "Package files"
-msgstr "File del pacchetto"
-
-#. TRANSLATORS: This where the package has no files
-#: ../client/pk-console.c:1522
-msgid "No files"
-msgstr "Nessun file"
-
-#. TRANSLATORS: This a request for a GPG key signature from the backend, which the client will prompt for later
-#: ../client/pk-console.c:1545
-msgid "Repository signature required"
-msgstr "È richiesta la firma del repository"
-
-#. TRANSLATORS: This a prompt asking the user to import the security key
-#: ../client/pk-console.c:1555
-msgid "Do you accept this signature?"
-msgstr "Accettare questa firma?"
-
-#. TRANSLATORS: This is where the user declined the security key
-#: ../client/pk-console.c:1559
-msgid "The signature was not accepted."
-msgstr "La firma non è stata accettata."
-
-#. TRANSLATORS: This a request for a EULA
-#: ../client/pk-console.c:1593
-msgid "End user license agreement required"
-msgstr "È richiesto l'accordo di licenza per l'utente finale (EULA)"
-
-#. TRANSLATORS: This a prompt asking the user to agree to the license
-#: ../client/pk-console.c:1600
-msgid "Do you agree to this license?"
-msgstr "Accettare questa licenza?"
-
-#. TRANSLATORS: This is where the user declined the license
-#: ../client/pk-console.c:1604
-msgid "The license was refused."
-msgstr "La licenza è stata rifiutata."
+msgid "This tool could not find all the packages: %s"
+msgstr "Questo strumento non può trovare tutti i pacchetti: %s"
 
 #. TRANSLATORS: This is when the daemon crashed, and we are up shit creek without a paddle
-#: ../client/pk-console.c:1633
+#: ../client/pk-console.c:837
 msgid "The daemon crashed mid-transaction!"
 msgstr "Il demone è andato in crash nel mezzo di una transazione."
 
 #. TRANSLATORS: This is the header to the --help menu
-#: ../client/pk-console.c:1686
+#: ../client/pk-console.c:871
 msgid "PackageKit Console Interface"
 msgstr "PackageKit Console Interface"
 
 #. these are commands we can use with pkcon
-#: ../client/pk-console.c:1688
+#: ../client/pk-console.c:873
 msgid "Subcommands:"
 msgstr "Sottocomandi:"
 
+#. TRANSLATORS: we keep a database updated with the time that an action was last executed
+#: ../client/pk-console.c:952
+msgid "Failed to get the time since this action was last completed"
+msgstr "Determinazione dell'ora dell'ultima azione completata non riuscita"
+
 #. TRANSLATORS: command line argument, if we should show debugging information
 #. TRANSLATORS: if we should show debugging data
-#: ../client/pk-console.c:1781 ../client/pk-generate-pack.c:185
-#: ../client/pk-monitor.c:128
-#: ../contrib/command-not-found/pk-command-not-found.c:616
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:550
-#: ../src/pk-main.c:211
+#: ../client/pk-console.c:989 ../client/pk-generate-pack.c:223
+#: ../client/pk-monitor.c:281
+#: ../contrib/command-not-found/pk-command-not-found.c:651
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:512
+#: ../contrib/device-rebind/pk-device-rebind.c:293 ../src/pk-main.c:211
 msgid "Show extra debugging information"
 msgstr "Mostra informazioni aggiuntive di debug"
 
 #. TRANSLATORS: command line argument, just show the version string
-#: ../client/pk-console.c:1784 ../client/pk-monitor.c:130
+#: ../client/pk-console.c:992 ../client/pk-monitor.c:283
 msgid "Show the program version and exit"
 msgstr "Mostra la versione del programma ed esce"
 
 # (ndt) i nomi dei filtri non sono traducibili
 #. TRANSLATORS: command line argument, use a filter to narrow down results
-#: ../client/pk-console.c:1787
+#: ../client/pk-console.c:995
 msgid "Set the filter, e.g. installed"
 msgstr "Imposta il filtro, es. «installed»"
 
 #. TRANSLATORS: command line argument, work asynchronously
-#: ../client/pk-console.c:1790
+#: ../client/pk-console.c:998
 msgid "Exit without waiting for actions to complete"
 msgstr "Esce senza attendere il completamento delle azioni"
 
-#. TRANSLATORS: This is when we could not connect to the system bus, and is fatal
-#: ../client/pk-console.c:1817
-msgid "This tool could not connect to system DBUS."
-msgstr "Questo strumento non può connettersi al DBUS di sistema."
+#. command line argument, do we ask questions
+#: ../client/pk-console.c:1001
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:524
+msgid "Install the packages without asking for confirmation"
+msgstr "Installa i pacchetti senza chiedere conferma"
+
+#. TRANSLATORS: command line argument, this command is not a priority
+#: ../client/pk-console.c:1004
+msgid "Run the command using idle network bandwidth and also using less power"
+msgstr ""
+"Esegue il comando sfruttando i momenti non carichi della rete e consumando "
+"meno energia elettrica"
+
+#. TRANSLATORS: we failed to contact the daemon
+#: ../client/pk-console.c:1030
+msgid "Failed to contact PackageKit"
+msgstr "Contatto di PackageKit non riuscito"
 
 #. TRANSLATORS: The user specified an incorrect filter
-#: ../client/pk-console.c:1907
+#: ../client/pk-console.c:1086
 msgid "The filter specified was invalid"
 msgstr "Il filtro specificato non era valido"
 
 # (ndt) lasciato in inglese, credo non siano traducibili i tipi di ricerca
 #. TRANSLATORS: a search type can be name, details, file, etc
-#: ../client/pk-console.c:1926
+#: ../client/pk-console.c:1105
 msgid "A search type is required, e.g. name"
 msgstr "È necessario specificare un tipo di ricerca, es. «name»"
 
 #. TRANSLATORS: the user needs to provide a search term
-#: ../client/pk-console.c:1933 ../client/pk-console.c:1942
-#: ../client/pk-console.c:1951 ../client/pk-console.c:1960
+#: ../client/pk-console.c:1112 ../client/pk-console.c:1124
+#: ../client/pk-console.c:1136 ../client/pk-console.c:1148
 msgid "A search term is required"
 msgstr "È necessario specificare un termine di ricerca"
 
 #. TRANSLATORS: the search type was provided, but invalid
-#: ../client/pk-console.c:1967
+#: ../client/pk-console.c:1158
 msgid "Invalid search type"
 msgstr "Tipo di ricerca non valido"
 
 #. TRANSLATORS: the user did not specify what they wanted to install
-#: ../client/pk-console.c:1973
-msgid "A package name or filename to install is required"
-msgstr ""
-"È necessario specificare un nome di pacchetto o un nome di file da installare"
+#: ../client/pk-console.c:1164
+msgid "A package name to install is required"
+msgstr "È necessario specificare un nome di pacchetto da installare"
+
+#. TRANSLATORS: the user did not specify what they wanted to install
+#: ../client/pk-console.c:1173
+msgid "A filename to install is required"
+msgstr "È necessario specificare un nome di file da installare"
 
 #. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:1982
+#: ../client/pk-console.c:1185
 msgid "A type, key_id and package_id are required"
 msgstr "È necessario specificare un tipo, un key_id e un package_id"
 
 #. TRANSLATORS: the user did not specify what they wanted to remove
-#: ../client/pk-console.c:1991
+#: ../client/pk-console.c:1196
 msgid "A package name to remove is required"
 msgstr "È necessario specificare un nome di un pacchetto da rimuovere"
 
 #. TRANSLATORS: the user did not specify anything about what to download or where
-#: ../client/pk-console.c:1999
+#: ../client/pk-console.c:1205
 msgid "A destination directory and the package names to download are required"
 msgstr ""
 "È necessario specificare una directory di destinazione e il nome dei "
 "pacchetti da scaricare"
 
 #. TRANSLATORS: the directory does not exist, so we can't continue
-#: ../client/pk-console.c:2006
+#: ../client/pk-console.c:1212
 msgid "Directory not found"
 msgstr "Directory non trovata"
 
 #. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:2014
+#: ../client/pk-console.c:1221
 msgid "A licence identifier (eula-id) is required"
 msgstr "È necessario specificare un identificatore di licenza (eula-id)"
 
 #. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:2024
+#: ../client/pk-console.c:1232
 msgid "A transaction identifier (tid) is required"
 msgstr "È necessario specificare un identificatore di transazione (tid)"
 
 #. TRANSLATORS: The user did not specify a package name
-#: ../client/pk-console.c:2041
+#: ../client/pk-console.c:1253
 msgid "A package name to resolve is required"
 msgstr "È necessario specificare un nome di pacchetto da risolvere"
 
 #. TRANSLATORS: The user did not specify a repository (software source) name
-#: ../client/pk-console.c:2050 ../client/pk-console.c:2059
+#: ../client/pk-console.c:1264 ../client/pk-console.c:1275
 msgid "A repository name is required"
 msgstr "È necessario specificare un nome di repository"
 
 #. TRANSLATORS: The user didn't provide any data
-#: ../client/pk-console.c:2068
+#: ../client/pk-console.c:1286
 msgid "A repo name, parameter and value are required"
 msgstr ""
 "È necessario specificare un nome di repository, un parametro e un valore"
 
 #. TRANSLATORS: The user didn't specify what action to use
-#: ../client/pk-console.c:2082
+#: ../client/pk-console.c:1303
 msgid "An action, e.g. 'update-system' is required"
 msgstr "È necessario specificare un'azione, es. «update-system»"
 
 # (ndt) messo 'azione' come da commento
 #. TRANSLATORS: The user specified an invalid action
-#: ../client/pk-console.c:2089
+#: ../client/pk-console.c:1310
 msgid "A correct role is required"
 msgstr "È necessario specificare un'azione corretta"
 
-#. TRANSLATORS: we keep a database updated with the time that an action was last executed
-#: ../client/pk-console.c:2096
-msgid "Failed to get the time since this action was last completed"
-msgstr "Determinazione dell'ora dell'ultima azione completata non riuscita"
-
 #. 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:2106 ../client/pk-console.c:2118
-#: ../client/pk-console.c:2127 ../client/pk-console.c:2145
-#: ../client/pk-console.c:2154 ../client/pk-generate-pack.c:241
+#: ../client/pk-console.c:1320 ../client/pk-console.c:1335
+#: ../client/pk-console.c:1344 ../client/pk-console.c:1364
+#: ../client/pk-console.c:1373 ../client/pk-generate-pack.c:287
 msgid "A package name is required"
 msgstr "È necessario specificare un nome di pacchetto"
 
 #. TRANSLATORS: each package "provides" certain things, e.g. mime(gstreamer-decoder-mp3), the user didn't specify it
-#: ../client/pk-console.c:2136
+#: ../client/pk-console.c:1353
 msgid "A package provide string is required"
 msgstr "È necessario specificare la stringa dei pacchetti forniti"
 
-#. TRANSLATORS: The user didn't specify a filename to create as a list
-#: ../client/pk-console.c:2163
-msgid "A list file name to create is required"
-msgstr "È necessario specificare un nome di file per l'elenco da creare"
-
-#. TRANSLATORS: The user didn't specify a filename to open as a list
-#: ../client/pk-console.c:2173 ../client/pk-console.c:2183
-msgid "A list file to open is required"
-msgstr "È necessario specificare un file elenco da aprire"
-
 #. TRANSLATORS: The user tried to use an unsupported option on the command line
-#: ../client/pk-console.c:2237
+#: ../client/pk-console.c:1433
 #, c-format
 msgid "Option '%s' is not supported"
 msgstr "L'opzione «%s» non è supportata"
 
-#. TRANSLATORS: User does not have permission to do this
-#: ../client/pk-console.c:2250
-msgid "Incorrect privileges for this operation"
-msgstr "Non si dispone dei privilegi necessari per questa operazione"
-
 #. TRANSLATORS: Generic failure of what they asked to do
-#: ../client/pk-console.c:2253
+#: ../client/pk-console.c:1443
 msgid "Command failed"
 msgstr "Comando non riuscito"
 
-#. TRANSLATORS: This is the state of the transaction
-#: ../client/pk-generate-pack.c:101
-msgid "Downloading"
-msgstr "Scaricamento"
-
-#. TRANSLATORS: This is when the main packages are being downloaded
-#: ../client/pk-generate-pack.c:121
-msgid "Downloading packages"
-msgstr "Scaricamento dei pacchetti"
-
-#. TRANSLATORS: This is when the dependency packages are being downloaded
-#: ../client/pk-generate-pack.c:126
-msgid "Downloading dependencies"
-msgstr "Scaricamento delle dipendenze"
-
 #. TRANSLATORS: we can exclude certain packages (glibc) when we know they'll exist on the target
-#: ../client/pk-generate-pack.c:188
+#: ../client/pk-generate-pack.c:226
 msgid "Set the file name of dependencies to be excluded"
 msgstr "Imposta il nome del file delle dipendenze da escludere"
 
 #. TRANSLATORS: the output location
-#: ../client/pk-generate-pack.c:191
+#: ../client/pk-generate-pack.c:229
 msgid ""
 "The output file or directory (the current directory is used if ommitted)"
 msgstr ""
 "Il file o la directory di output (usata la directory corrente se omessa)"
 
 #. TRANSLATORS: put a list of packages in the pack
-#: ../client/pk-generate-pack.c:194
+#: ../client/pk-generate-pack.c:232
 msgid "The package to be put into the service pack"
 msgstr "Il pacchetto da inserire nel service pack"
 
 # (ndt) la metto così, credo siano descrizioni di opzioni... ma non riesco a controllarle
 #. TRANSLATORS: put all pending updates in the pack
-#: ../client/pk-generate-pack.c:197
+#: ../client/pk-generate-pack.c:235
 msgid "Put all updates available in the service pack"
 msgstr "Inserisce tutti gli aggiornamenti disponibili nel service pack"
 
 #. TRANSLATORS: This is when the user fails to supply the correct arguments
-#: ../client/pk-generate-pack.c:225
+#: ../client/pk-generate-pack.c:271
 msgid "Neither --package or --updates option selected."
 msgstr "Non è stata selezionata né l'opzione --package né --updates."
 
 #. TRANSLATORS: This is when the user fails to supply just one argument
-#: ../client/pk-generate-pack.c:233
+#: ../client/pk-generate-pack.c:279
 msgid "Both options selected."
 msgstr "Sono state selezionate entrambe le opzioni."
 
 #. TRANSLATORS: This is when the user fails to supply the output
-#: ../client/pk-generate-pack.c:249
+#: ../client/pk-generate-pack.c:295
 msgid "A output directory or file name is required"
 msgstr "È necessario specificare una directory di output o un nome di file"
 
+#. TRANSLATORS: This is when the dameon is not-installed/broken and fails to startup
+#: ../client/pk-generate-pack.c:313
+msgid "The dameon failed to startup"
+msgstr "Avvio del demone non riuscito"
+
 #. 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:267 ../client/pk-generate-pack.c:273
+#: ../client/pk-generate-pack.c:324 ../client/pk-generate-pack.c:330
 msgid "The package manager cannot perform this type of operation."
 msgstr "Il gestore di pacchetti non può eseguire questo tipo di operazione."
 
 #. TRANSLATORS: This is when the distro didn't include libarchive support into PK
-#: ../client/pk-generate-pack.c:280
+#: ../client/pk-generate-pack.c:337
 msgid ""
 "Service packs cannot be created as PackageKit was not built with libarchive "
 "support."
@@ -774,426 +573,505 @@ msgstr ""
 
 # (ndt) grazie per non aver messo il %s nella stringa...
 #. TRANSLATORS: the user specified an absolute path, but didn't get the extension correct
-#: ../client/pk-generate-pack.c:291
+#: ../client/pk-generate-pack.c:348
 msgid "If specifying a file, the service pack name must end with"
 msgstr "Se si specifica un file, il nome del service pack deve terminare con"
 
 #. TRANSLATORS: This is when file already exists
-#: ../client/pk-generate-pack.c:307
+#: ../client/pk-generate-pack.c:364
 msgid "A pack with the same name already exists, do you want to overwrite it?"
 msgstr "Esiste già un service pack con lo stesso nome, sovrascriverlo?"
 
 #. TRANSLATORS: This is when the pack was not overwritten
-#: ../client/pk-generate-pack.c:310
+#: ../client/pk-generate-pack.c:367
 msgid "The pack was not overwritten."
 msgstr "Il service pack non è stato sovrascritto."
 
 #. TRANSLATORS: This is when the temporary directory cannot be created, the directory name follows
-#: ../client/pk-generate-pack.c:323
+#: ../client/pk-generate-pack.c:380
 msgid "Failed to create directory:"
 msgstr "Creazione della directory non riuscita:"
 
 #. TRANSLATORS: This is when the list of packages from the remote computer cannot be opened
-#: ../client/pk-generate-pack.c:333
+#: ../client/pk-generate-pack.c:392
 msgid "Failed to open package list."
 msgstr "Apertura dell'elenco dei pacchetti non riuscita."
 
 #. TRANSLATORS: The package name is being matched up to available packages
-#: ../client/pk-generate-pack.c:344
+#: ../client/pk-generate-pack.c:401
 msgid "Finding package name."
 msgstr "Ricerca del nome del pacchetto."
 
 #. TRANSLATORS: This is when the package cannot be found in any software source. The detailed error follows
-#: ../client/pk-generate-pack.c:348
+#: ../client/pk-generate-pack.c:405
 #, c-format
 msgid "Failed to find package '%s': %s"
 msgstr "Ricerca del pacchetto «%s» non riuscita: %s"
 
 #. TRANSLATORS: This is telling the user we are in the process of making the pack
-#: ../client/pk-generate-pack.c:365
+#: ../client/pk-generate-pack.c:413
 msgid "Creating service pack..."
 msgstr "Creazione service pack..."
 
 #. TRANSLATORS: we succeeded in making the file
-#: ../client/pk-generate-pack.c:372
+#: ../client/pk-generate-pack.c:428
 #, c-format
 msgid "Service pack created '%s'"
 msgstr "Service pack «%s» creato"
 
 #. TRANSLATORS: we failed to make te file
-#: ../client/pk-generate-pack.c:377
+#: ../client/pk-generate-pack.c:433
 #, c-format
 msgid "Failed to create '%s': %s"
 msgstr "Creazione di «%s» non riuscita: %s"
 
+#: ../client/pk-monitor.c:211
+msgid "Failed to get daemon state"
+msgstr "Recupero dello stato del demone non riuscito"
+
 #. TRANSLATORS: this is a program that monitors PackageKit
-#: ../client/pk-monitor.c:146
+#: ../client/pk-monitor.c:299
 msgid "PackageKit Monitor"
 msgstr "PackageKit Monitor"
 
-#: ../client/pk-monitor.c:183
-msgid "Cannot show the list of transactions"
-msgstr "Impossibile mostrare l'elenco delle transazioni"
+#. TRANSLATORS: when we are getting data from the daemon
+#: ../contrib/browser-plugin/pk-plugin-install.c:491
+msgid "Getting package information..."
+msgstr "Recupero informazioni sul pacchetto..."
 
-#. TRANSLATORS: The package was not found in any software sources
-#: ../client/pk-tools-common.c:118
+# (ndt) non riesco a trovarla nel programma, non se renderla come azione all'imperativo o lasciare all'infinito. anche per le altre di seguito.
+#. TRANSLATORS: run an applicaiton
+#: ../contrib/browser-plugin/pk-plugin-install.c:497
 #, c-format
-msgid "The package could not be found"
-msgstr "Impossibile trovare il pacchetto"
+msgid "Run %s"
+msgstr "Eseguire %s"
 
-#. TRANSLATORS: more than one package could be found that matched, to follow is a list of possible packages
-#: ../client/pk-tools-common.c:130
-msgid "More than one package matches:"
-msgstr "Corrisponde più di un pacchetto:"
+#. TRANSLATORS: show the installed version of a package
+#: ../contrib/browser-plugin/pk-plugin-install.c:503
+msgid "Installed version"
+msgstr "Versione installata"
 
-#. TRANSLATORS: This finds out which package in the list to use
-#: ../client/pk-tools-common.c:137
-msgid "Please choose the correct package: "
-msgstr "Scegliere il pacchetto corretto: "
+#. TRANSLATORS: run the application now
+#: ../contrib/browser-plugin/pk-plugin-install.c:511
+#, c-format
+msgid "Run version %s now"
+msgstr "Eseguire la versione %s ora"
+
+#. TRANSLATORS: run the application now
+#: ../contrib/browser-plugin/pk-plugin-install.c:517
+msgid "Run now"
+msgstr "Eseguire ora"
 
-#: ../client/pk-tools-common.c:162
+#. TRANSLATORS: update to a new version of the package
+#: ../contrib/browser-plugin/pk-plugin-install.c:523
 #, c-format
-msgid "Please enter a number from 1 to %i: "
-msgstr "Inserire un numero compreso tra 1 e %i: "
+msgid "Update to version %s"
+msgstr "Aggiornare alla versione %s"
+
+#. TRANSLATORS: To install a package
+#: ../contrib/browser-plugin/pk-plugin-install.c:529
+#, c-format
+msgid "Install %s now"
+msgstr "Installare %s ora"
+
+#. TRANSLATORS: the version of the package
+#: ../contrib/browser-plugin/pk-plugin-install.c:532
+msgid "Version"
+msgstr "Versione"
+
+#. TRANSLATORS: noting found, so can't install
+#: ../contrib/browser-plugin/pk-plugin-install.c:537
+msgid "No packages found for your system"
+msgstr "Non è stato trovato alcun pacchetto per il sistema in uso"
+
+#. TRANSLATORS: package is being installed
+#: ../contrib/browser-plugin/pk-plugin-install.c:542
+msgid "Installing..."
+msgstr "Installazione..."
 
 #. TRANSLATORS: downloading repo data so we can search
-#: ../contrib/command-not-found/pk-command-not-found.c:349
+#: ../contrib/command-not-found/pk-command-not-found.c:365
 msgid "Downloading details about the software sources."
 msgstr "Scaricamento dettagli riguardo le sorgenti software."
 
 #. TRANSLATORS: downloading file lists so we can search
-#: ../contrib/command-not-found/pk-command-not-found.c:353
+#: ../contrib/command-not-found/pk-command-not-found.c:369
 msgid "Downloading filelists (this may take some time to complete)."
 msgstr "Scaricamento elenco dei file (potrebbe impiegare del tempo)."
 
 #. TRANSLATORS: waiting for native lock
-#: ../contrib/command-not-found/pk-command-not-found.c:357
+#: ../contrib/command-not-found/pk-command-not-found.c:373
 msgid "Waiting for package manager lock."
 msgstr "Attesa del blocco del gestore di pacchetti."
 
 #. TRANSLATORS: loading package cache so we can search
-#: ../contrib/command-not-found/pk-command-not-found.c:361
+#: ../contrib/command-not-found/pk-command-not-found.c:377
 msgid "Loading list of packages."
 msgstr "Caricamento elenco dei pacchetti."
 
 #. TRANSLATORS: we failed to find the package, this shouldn't happen
-#: ../contrib/command-not-found/pk-command-not-found.c:420
+#: ../contrib/command-not-found/pk-command-not-found.c:421
 msgid "Failed to search for file"
 msgstr "Ricerca del file non riuscita"
 
 #. TRANSLATORS: we failed to launch the executable, the error follows
-#: ../contrib/command-not-found/pk-command-not-found.c:557
+#: ../contrib/command-not-found/pk-command-not-found.c:560
 msgid "Failed to launch:"
 msgstr "Esecuzione non riuscita:"
 
+#. TRANSLATORS: we failed to install the package
+#: ../contrib/command-not-found/pk-command-not-found.c:588
+msgid "Failed to install packages"
+msgstr "Installazione dei pacchetti non riuscita"
+
 #. TRANSLATORS: tool that gets called when the command is not found
-#: ../contrib/command-not-found/pk-command-not-found.c:632
+#: ../contrib/command-not-found/pk-command-not-found.c:667
 msgid "PackageKit Command Not Found"
 msgstr "PackageKit Command Not Found"
 
 #. TRANSLATORS: the prefix of all the output telling the user why it's not executing
-#: ../contrib/command-not-found/pk-command-not-found.c:658
+#: ../contrib/command-not-found/pk-command-not-found.c:697
 msgid "Command not found."
 msgstr "Comando non trovato."
 
 #. TRANSLATORS: tell the user what we think the command is
-#: ../contrib/command-not-found/pk-command-not-found.c:665
+#: ../contrib/command-not-found/pk-command-not-found.c:711
 msgid "Similar command is:"
 msgstr "Un comando simile è:"
 
 #. TRANSLATORS: Ask the user if we should run the similar command
-#: ../contrib/command-not-found/pk-command-not-found.c:674
+#: ../contrib/command-not-found/pk-command-not-found.c:721
 msgid "Run similar command:"
 msgstr "Eseguire un comando simile:"
 
 #. 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:686
-#: ../contrib/command-not-found/pk-command-not-found.c:695
+#: ../contrib/command-not-found/pk-command-not-found.c:735
+#: ../contrib/command-not-found/pk-command-not-found.c:744
 msgid "Similar commands are:"
 msgstr "Comandi simili sono:"
 
 #. TRANSLATORS: ask the user to choose a file to run
-#: ../contrib/command-not-found/pk-command-not-found.c:702
+#: ../contrib/command-not-found/pk-command-not-found.c:751
 msgid "Please choose a command to run"
 msgstr "Scegliere un comando da eseguire"
 
 #. TRANSLATORS: tell the user what package provides the command
-#: ../contrib/command-not-found/pk-command-not-found.c:721
+#: ../contrib/command-not-found/pk-command-not-found.c:767
 msgid "The package providing this file is:"
 msgstr "Il pacchetto che fornisce questo file è:"
 
 #. TRANSLATORS: as the user if we want to install a package to provide the command
-#: ../contrib/command-not-found/pk-command-not-found.c:726
+#: ../contrib/command-not-found/pk-command-not-found.c:772
 #, c-format
 msgid "Install package '%s' to provide command '%s'?"
 msgstr "Installare il pacchetto «%s» per fornire il comando «%s»?"
 
 #. TRANSLATORS: Show the user a list of packages that provide this command
-#: ../contrib/command-not-found/pk-command-not-found.c:747
+#: ../contrib/command-not-found/pk-command-not-found.c:796
 msgid "Packages providing this file are:"
 msgstr "I pacchetti che forniscono questo file sono:"
 
 #. 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:756
+#: ../contrib/command-not-found/pk-command-not-found.c:806
 msgid "Suitable packages are:"
 msgstr "Pacchetti adeguati sono:"
 
 #. get selection
 #. TRANSLATORS: ask the user to choose a file to install
-#: ../contrib/command-not-found/pk-command-not-found.c:764
+#: ../contrib/command-not-found/pk-command-not-found.c:815
 msgid "Please choose a package to install"
 msgstr "Scegliere un pacchetto da installare"
 
-#. TRANSLATORS: when we are getting data from the daemon
-#: ../contrib/browser-plugin/pk-plugin-install.c:433
-msgid "Getting package information..."
-msgstr "Recupero informazioni sul pacchetto..."
-
-# (ndt) non riesco a trovarla nel programma, non se renderla come azione all'imperativo o lasciare all'infinito. anche per le altre di seguito.
-#. TRANSLATORS: run an applicaiton
-#: ../contrib/browser-plugin/pk-plugin-install.c:439
-#, c-format
-msgid "Run %s"
-msgstr "Eseguire %s"
-
-#. TRANSLATORS: show the installed version of a package
-#: ../contrib/browser-plugin/pk-plugin-install.c:445
-msgid "Installed version"
-msgstr "Versione installata"
-
-#. TRANSLATORS: run the application now
-#: ../contrib/browser-plugin/pk-plugin-install.c:453
-#, c-format
-msgid "Run version %s now"
-msgstr "Eseguire la versione %s ora"
-
-#. TRANSLATORS: run the application now
-#: ../contrib/browser-plugin/pk-plugin-install.c:459
-msgid "Run now"
-msgstr "Eseguire ora"
-
-#. TRANSLATORS: update to a new version of the package
-#: ../contrib/browser-plugin/pk-plugin-install.c:465
-#, c-format
-msgid "Update to version %s"
-msgstr "Aggiornare alla versione %s"
-
-#. TRANSLATORS: To install a package
-#: ../contrib/browser-plugin/pk-plugin-install.c:471
-#, c-format
-msgid "Install %s now"
-msgstr "Installare %s ora"
-
-#. TRANSLATORS: the version of the package
-#: ../contrib/browser-plugin/pk-plugin-install.c:474
-msgid "Version"
-msgstr "Versione"
-
-#. TRANSLATORS: noting found, so can't install
-#: ../contrib/browser-plugin/pk-plugin-install.c:479
-msgid "No packages found for your system"
-msgstr "Non è stato trovato alcun pacchetto per il sistema in uso"
-
-#. TRANSLATORS: package is being installed
-#: ../contrib/browser-plugin/pk-plugin-install.c:484
-msgid "Installing..."
-msgstr "Installazione..."
-
 #. TRANSLATORS: we are starting to install the packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:187
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:197
 msgid "Starting install"
 msgstr "Avvio installazione"
 
 #. TRANSLATORS: we couldn't find the package name, non-fatal
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:397
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:409
 #, c-format
 msgid "Failed to find the package %s, or already installed: %s"
 msgstr "Ricerca del pacchetto %s non riuscita oppure è già installato: %s"
 
 #. command line argument, simulate what would be done, but don't actually do it
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:553
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:515
 msgid ""
 "Don't actually install any packages, only simulate what would be installed"
 msgstr "Non installa alcun pacchetto, simula le operazioni"
 
 #. command line argument, do we skip packages that depend on the ones specified
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:556
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:518
 msgid "Do not install dependencies of the core packages"
 msgstr "Non installa le dipendenze dei pacchetti principali"
 
 #. command line argument, do we operate quietly
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:559
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:521
 msgid "Do not display information or progress"
 msgstr "Non mostra le informazioni o l'avanzamento"
 
 #. TRANSLATORS: tool that gets called when the command is not found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:577
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:539
 msgid "PackageKit Debuginfo Installer"
 msgstr "PackageKit Debuginfo Installer"
 
 #. TRANSLATORS: the use needs to specify a list of package names on the command line
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:589
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:554
 #, c-format
 msgid "ERROR: Specify package names to install."
 msgstr "ERRORE: specificare i nomi dei pacchetti da installare."
 
 #. TRANSLATORS: we are getting the list of repositories
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:623
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:590
 #, c-format
 msgid "Getting sources list"
 msgstr "Recupero elenco sorgenti"
 
+# (ndt) operazione non riuscita
+#. TRANSLATORS: operation was not successful
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:600
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:675
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:759
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:803
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:870
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:914
+msgid "FAILED."
+msgstr "NON RIUSCITA."
+
 #. TRANSLATORS: all completed 100%
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:641
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:681
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:716
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:800
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:844
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:911
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:955
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:615
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:655
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:690
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:774
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:818
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:885
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:929
 #, c-format
 msgid "OK."
 msgstr "OK."
 
 #. TRANSLATORS: tell the user what we found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:644
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:618
 #, c-format
 msgid "Found %i enabled and %i disabled sources."
 msgstr "Trovate %i sorgenti abilitate e %i disabilitate."
 
 #. TRANSLATORS: we're finding repositories that match out pattern
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:651
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:625
 #, c-format
 msgid "Finding debugging sources"
 msgstr "Ricerca sorgenti di debug"
 
 # (ndt) io metto al plurale... c'è sempre il problema delal gestione di singolari/plurali
 #. TRANSLATORS: tell the user what we found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:684
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:658
 #, c-format
 msgid "Found %i disabled debuginfo repos."
 msgstr "Trovati %i repository di debug disabilitati."
 
 #. TRANSLATORS: we're now enabling all the debug sources we found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:691
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:665
 #, c-format
 msgid "Enabling debugging sources"
 msgstr "Abilitazione sorgenti di debug"
 
-# (ndt) operazione non riuscita
-#. TRANSLATORS: operation was not successful
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:701
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:785
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:829
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:896
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:940
-msgid "FAILED."
-msgstr "NON RIUSCITA."
-
 # (ndt) mancherebbe la gestione del plurale nel codice...
 #. TRANSLATORS: tell the user how many we enabled
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:719
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:693
 #, c-format
 msgid "Enabled %i debugging sources."
 msgstr "Abilitate %i sorgenti di debug."
 
 #. TRANSLATORS: we're now finding packages that match in all the repos
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:726
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:700
 #, c-format
 msgid "Finding debugging packages"
 msgstr "Ricerca pacchetti di debug"
 
 #. TRANSLATORS: we couldn't find the package name, non-fatal
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:738
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:712
 #, c-format
 msgid "Failed to find the package %s: %s"
 msgstr "Ricerca del pacchetto %s non riuscita: %s"
 
 # (ndt) capire se debuginfo è un qualche cosa di specifico?
 #. TRANSLATORS: we couldn't find the debuginfo package name, non-fatal
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:761
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:735
 #, c-format
 msgid "Failed to find the debuginfo package %s: %s"
 msgstr "Ricerca del pacchetto debuginfo %s non riuscita: %s"
 
 #. TRANSLATORS: no debuginfo packages could be found to be installed
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:789
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:763
 #, c-format
 msgid "Found no packages to install."
 msgstr "Non è stato trovato alcun pacchetto da installare."
 
 # (ndt) anche qui manca il codice per la gestione dei plurali
 #. TRANSLATORS: tell the user we found some packages, and then list them
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:803
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:777
 #, c-format
 msgid "Found %i packages:"
 msgstr "Trovati %i pacchetti:"
 
 # (ndt) omesso il secondo pacchetti, diventa lunghetta...
 #. TRANSLATORS: tell the user we are searching for deps
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:819
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:793
 #, c-format
 msgid "Finding packages that depend on these packages"
 msgstr "Ricerca di pacchetti che dipendono da questi"
 
 #. TRANSLATORS: could not install, detailed error follows
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:832
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:806
 #, c-format
 msgid "Could not find dependant packages: %s"
 msgstr "Impossibile trovare i pacchetti dipendenti: %s"
 
 # (ndt) manca sempre la gestione del plurale, oppure non ci sono mai pacchetti singoli?
 #. TRANSLATORS: tell the user we found some more packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:848
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:822
 #, c-format
 msgid "Found %i extra packages."
 msgstr "Trovati %i pacchetti aggiuntivi."
 
 #. TRANSLATORS: tell the user we found some more packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:852
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:826
 #, c-format
 msgid "No extra packages required."
 msgstr "Nessun pacchetto aggiuntivo richiesto."
 
 # (ndt) mancherebbe sempre la gestione dei plurali...
 #. TRANSLATORS: tell the user we found some packages (and deps), and then list them
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:861
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:835
 #, c-format
 msgid "Found %i packages to install:"
 msgstr "Trovati %i pacchetti da installare:"
 
 #. TRANSLATORS: simulate mode is a testing mode where we quit before the action
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:874
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:848
 #, c-format
 msgid "Not installing packages in simulate mode"
 msgstr "I pacchetti non vengono installati nella modalità di simulazione"
 
+#. TRANSLATORS: we are now installing the debuginfo packages we found earlier
+#. TRANSLATORS: transaction state, installing packages
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:860
+#: ../lib/packagekit-glib2/pk-console-shared.c:274
+#, c-format
+msgid "Installing packages"
+msgstr "Installazione pacchetti"
+
 #. TRANSLATORS: could not install, detailed error follows
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:899
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:873
 #, c-format
 msgid "Could not install packages: %s"
 msgstr "Impossibile installare i pacchetti: %s"
 
 #. TRANSLATORS: we are now disabling all debuginfo repos we previously enabled
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:931
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:905
 #, c-format
 msgid "Disabling sources previously enabled"
 msgstr "Disabilitazione sorgenti precedentemente abilitate"
 
 #. TRANSLATORS: no debuginfo packages could be found to be installed, detailed error follows
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:943
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:917
 #, c-format
 msgid "Could not disable the debugging sources: %s"
 msgstr "Impossibile disabilitare le sorgenti di debug: %s"
 
 # (ndt) sempre la solita gestione dei plurali...
 #. TRANSLATORS: we disabled all the debugging repos that we enabled before
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:958
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:932
 #, c-format
 msgid "Disabled %i debugging sources."
 msgstr "Disabilitate %i sorgenti di debug."
 
+#. TRANSLATORS: couldn't open device to write
+#: ../contrib/device-rebind/pk-device-rebind.c:61
+msgid "Failed to open file"
+msgstr "Apertura del file non riuscita"
+
+#. TRANSLATORS: could not write to the device
+#: ../contrib/device-rebind/pk-device-rebind.c:70
+msgid "Failed to write to the file"
+msgstr "Scrittura sul file non riuscita"
+
+#. TRANSLATORS: we failed to release the current driver
+#: ../contrib/device-rebind/pk-device-rebind.c:110
+#: ../contrib/device-rebind/pk-device-rebind.c:147
+msgid "Failed to write to device"
+msgstr "Scrittura sul dispositivo non riuscita"
+
+#. TRANSLATORS: the device could not be found in sysfs
+#: ../contrib/device-rebind/pk-device-rebind.c:175
+msgid "Device could not be found"
+msgstr "Impossibile trovare il dispositivo"
+
+#. TRANSLATORS: we failed to release the current driver
+#: ../contrib/device-rebind/pk-device-rebind.c:202
+msgid "Failed to unregister driver"
+msgstr "Cancellazione della registrazione del driver non riuscita"
+
+#. TRANSLATORS: we failed to bind the old driver
+#: ../contrib/device-rebind/pk-device-rebind.c:211
+msgid "Failed to register driver"
+msgstr "Registrazione del driver non riuscita"
+
+#. TRANSLATORS: user did not specify a device sysfs path that exists
+#: ../contrib/device-rebind/pk-device-rebind.c:260
+msgid "Device path not found"
+msgstr "Percorso del dispositivo non trovato"
+
+#. TRANSLATORS: user did not specify a valid device sysfs path
+#: ../contrib/device-rebind/pk-device-rebind.c:268
+msgid "Incorrect device path specified"
+msgstr "Percorso specificato del dispositivo non corretto"
+
+#. command line argument, simulate what would be done, but don't actually do it
+#: ../contrib/device-rebind/pk-device-rebind.c:296
+msgid "Don't actually touch the hardware, only simulate what would be done"
+msgstr "Non interagisce con l'hardware, simula solo le operazioni"
+
+#. TRANSLATORS: command line option: a list of files to install
+#: ../contrib/device-rebind/pk-device-rebind.c:299
+msgid "Device paths"
+msgstr "Percorsi dei dispositivi"
+
+#. TRANSLATORS: tool that gets called when the device needs reloading after installing firmware
+#: ../contrib/device-rebind/pk-device-rebind.c:314
+msgid "PackageKit Device Reloader"
+msgstr "PackageKit Device Reloader"
+
+#. TRANSLATORS: user did not specify a valid device sysfs path
+#: ../contrib/device-rebind/pk-device-rebind.c:322
+msgid "You need to specify at least one valid device path"
+msgstr "È necessario specificare almeno un percorso di dispositivo valido"
+
+#. TRANSLATORS: user did not specify a valid device sysfs path
+#: ../contrib/device-rebind/pk-device-rebind.c:332
+msgid "This script can only be used by the root user"
+msgstr "Questo script può essere utilizzato solamente dall'utente root"
+
+#. TRANSLATORS: we're going to verify the path first
+#: ../contrib/device-rebind/pk-device-rebind.c:341
+msgid "Verifying device path"
+msgstr "Verifica percorso del dispositivo"
+
+#. TRANSLATORS: user did not specify a device sysfs path that exists
+#: ../contrib/device-rebind/pk-device-rebind.c:346
+msgid "Failed to verify device path"
+msgstr "Verifica del percorso del dispositivo non riuscita"
+
+#. TRANSLATORS: we're going to try
+#: ../contrib/device-rebind/pk-device-rebind.c:360
+msgid "Attempting to rebind device"
+msgstr "Tentativo di ricollegare il dispositivo"
+
+#. TRANSLATORS: we failed to release the current driver
+#: ../contrib/device-rebind/pk-device-rebind.c:365
+msgid "Failed to rebind device"
+msgstr "Collegamento del dispositivo non riuscito"
+
 # (ndt) MIME type
 #: ../data/packagekit-catalog.xml.in.h:1
 msgid "PackageKit Catalog"
@@ -1209,6 +1087,609 @@ msgstr "Elenco pacchetti PackageKit"
 msgid "PackageKit Service Pack"
 msgstr "Service pack PackageKit"
 
+#: ../lib/packagekit-glib2/pk-console-shared.c:59
+#, c-format
+msgid "Please enter a number from 1 to %i: "
+msgstr "Inserire un numero compreso tra 1 e %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:181
+msgid "More than one package matches:"
+msgstr "Corrisponde più di un pacchetto:"
+
+#. TRANSLATORS: This finds out which package in the list to use
+#: ../lib/packagekit-glib2/pk-console-shared.c:190
+msgid "Please choose the correct package: "
+msgstr "Scegliere il pacchetto corretto: "
+
+#. TRANSLATORS: This is when the transaction status is not known
+#: ../lib/packagekit-glib2/pk-console-shared.c:242
+msgid "Unknown state"
+msgstr "Stato sconosciuto"
+
+#. TRANSLATORS: transaction state, the daemon is in the process of starting
+#: ../lib/packagekit-glib2/pk-console-shared.c:246
+msgid "Starting"
+msgstr "Avvio"
+
+#. TRANSLATORS: transaction state, the transaction is waiting for another to complete
+#: ../lib/packagekit-glib2/pk-console-shared.c:250
+msgid "Waiting in queue"
+msgstr "In attesa nella coda"
+
+#. TRANSLATORS: transaction state, just started
+#: ../lib/packagekit-glib2/pk-console-shared.c:254
+msgid "Running"
+msgstr "In esecuzione"
+
+#. TRANSLATORS: transaction state, is querying data
+#: ../lib/packagekit-glib2/pk-console-shared.c:258
+msgid "Querying"
+msgstr "Interrogazione"
+
+#. TRANSLATORS: transaction state, getting data from a server
+#: ../lib/packagekit-glib2/pk-console-shared.c:262
+msgid "Getting information"
+msgstr "Recupero delle informazioni"
+
+#. TRANSLATORS: transaction state, removing packages
+#: ../lib/packagekit-glib2/pk-console-shared.c:266
+msgid "Removing packages"
+msgstr "Rimozione dei pacchetti"
+
+#. TRANSLATORS: transaction state, downloading package files
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:270
+#: ../lib/packagekit-glib2/pk-console-shared.c:648
+msgid "Downloading packages"
+msgstr "Scaricamento dei pacchetti"
+
+#. TRANSLATORS: transaction state, refreshing internal lists
+#: ../lib/packagekit-glib2/pk-console-shared.c:278
+msgid "Refreshing software list"
+msgstr "Aggiornamento dell'elenco software"
+
+#. TRANSLATORS: transaction state, installing updates
+#: ../lib/packagekit-glib2/pk-console-shared.c:282
+msgid "Installing updates"
+msgstr "Installazione degli aggiornamenti"
+
+#. TRANSLATORS: transaction state, removing old packages, and cleaning config files
+#: ../lib/packagekit-glib2/pk-console-shared.c:286
+msgid "Cleaning up packages"
+msgstr "Pulizia dei pacchetti"
+
+#. TRANSLATORS: transaction state, obsoleting old packages
+#: ../lib/packagekit-glib2/pk-console-shared.c:290
+msgid "Obsoleting packages"
+msgstr "Impostazione dei pacchetti come obsoleti"
+
+#. TRANSLATORS: transaction state, checking the transaction before we do it
+#: ../lib/packagekit-glib2/pk-console-shared.c:294
+msgid "Resolving dependencies"
+msgstr "Risoluzione delle dipendenze"
+
+#. TRANSLATORS: transaction state, checking if we have all the security keys for the operation
+#: ../lib/packagekit-glib2/pk-console-shared.c:298
+msgid "Checking signatures"
+msgstr "Controllo delle firme"
+
+#. 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:302
+#: ../lib/packagekit-glib2/pk-console-shared.c:608
+msgid "Rolling back"
+msgstr "Ripristino stato precedente"
+
+#. TRANSLATORS: transaction state, when we're doing a test transaction
+#: ../lib/packagekit-glib2/pk-console-shared.c:306
+msgid "Testing changes"
+msgstr "Verifica delle modifiche"
+
+#. TRANSLATORS: transaction state, when we're writing to the system package database
+#: ../lib/packagekit-glib2/pk-console-shared.c:310
+msgid "Committing changes"
+msgstr "Invio delle modifiche"
+
+#. TRANSLATORS: transaction state, requesting data from a server
+#: ../lib/packagekit-glib2/pk-console-shared.c:314
+msgid "Requesting data"
+msgstr "Richiesta dei dati"
+
+#. TRANSLATORS: transaction state, all done!
+#: ../lib/packagekit-glib2/pk-console-shared.c:318
+msgid "Finished"
+msgstr "Completato"
+
+#. TRANSLATORS: transaction state, in the process of cancelling
+#: ../lib/packagekit-glib2/pk-console-shared.c:322
+msgid "Cancelling"
+msgstr "Annullamento"
+
+#. TRANSLATORS: transaction state, downloading metadata
+#: ../lib/packagekit-glib2/pk-console-shared.c:326
+msgid "Downloading repository information"
+msgstr "Scaricamento informazioni sul repository"
+
+#. TRANSLATORS: transaction state, downloading metadata
+#: ../lib/packagekit-glib2/pk-console-shared.c:330
+msgid "Downloading list of packages"
+msgstr "Scaricamento elenco dei pacchetti"
+
+#. TRANSLATORS: transaction state, downloading metadata
+#: ../lib/packagekit-glib2/pk-console-shared.c:334
+msgid "Downloading file lists"
+msgstr "Scaricamento elenco dei file"
+
+#. TRANSLATORS: transaction state, downloading metadata
+#: ../lib/packagekit-glib2/pk-console-shared.c:338
+msgid "Downloading lists of changes"
+msgstr "Scaricamento elenco delle modifiche"
+
+#. TRANSLATORS: transaction state, downloading metadata
+#: ../lib/packagekit-glib2/pk-console-shared.c:342
+msgid "Downloading groups"
+msgstr "Scaricamento gruppi"
+
+#. TRANSLATORS: transaction state, downloading metadata
+#: ../lib/packagekit-glib2/pk-console-shared.c:346
+msgid "Downloading update information"
+msgstr "Scaricamento informazioni di aggiornamento"
+
+#. TRANSLATORS: transaction state, repackaging delta files
+#: ../lib/packagekit-glib2/pk-console-shared.c:350
+msgid "Repackaging files"
+msgstr "Ricreazione dei file"
+
+#. TRANSLATORS: transaction state, loading databases
+#: ../lib/packagekit-glib2/pk-console-shared.c:354
+msgid "Loading cache"
+msgstr "Caricamento della cache"
+
+#. TRANSLATORS: transaction state, scanning for running processes
+#: ../lib/packagekit-glib2/pk-console-shared.c:358
+msgid "Scanning applications"
+msgstr "Analisi delle applicazioni"
+
+#. TRANSLATORS: transaction state, generating a list of packages installed on the system
+#: ../lib/packagekit-glib2/pk-console-shared.c:362
+msgid "Generating package lists"
+msgstr "Generazione elenchi dei pacchetti"
+
+#. TRANSLATORS: transaction state, when we're waiting for the native tools to exit
+#: ../lib/packagekit-glib2/pk-console-shared.c:366
+msgid "Waiting for package manager lock"
+msgstr "Attesa del blocco del gestore di pacchetti"
+
+#. TRANSLATORS: transaction state, waiting for user to type in a password
+#: ../lib/packagekit-glib2/pk-console-shared.c:370
+msgid "Waiting for authentication"
+msgstr "Attesa dell'autenticazione"
+
+#. TRANSLATORS: transaction state, we are updating the list of processes
+#: ../lib/packagekit-glib2/pk-console-shared.c:374
+msgid "Updating running applications"
+msgstr "Aggiornamento applicazioni in esecuzione"
+
+#. TRANSLATORS: transaction state, we are checking executable files currently in use
+#: ../lib/packagekit-glib2/pk-console-shared.c:378
+msgid "Checking applications in use"
+msgstr "Controllo applicazioni in uso"
+
+#. TRANSLATORS: transaction state, we are checking for libraries currently in use
+#: ../lib/packagekit-glib2/pk-console-shared.c:382
+msgid "Checking libraries in use"
+msgstr "Controllo librerie in uso"
+
+#. TRANSLATORS: transaction state, we are copying package files before or after the transaction
+#: ../lib/packagekit-glib2/pk-console-shared.c:386
+msgid "Copying files"
+msgstr "Copia dei file"
+
+#. TRANSLATORS: The type of update
+#: ../lib/packagekit-glib2/pk-console-shared.c:404
+msgid "Trivial"
+msgstr "Banale"
+
+#. TRANSLATORS: The type of update
+#: ../lib/packagekit-glib2/pk-console-shared.c:408
+msgid "Normal"
+msgstr "Normale"
+
+#. TRANSLATORS: The type of update
+#: ../lib/packagekit-glib2/pk-console-shared.c:412
+msgid "Important"
+msgstr "Importante"
+
+#. TRANSLATORS: The type of update
+#: ../lib/packagekit-glib2/pk-console-shared.c:416
+msgid "Security"
+msgstr "Sicurezza"
+
+#. TRANSLATORS: The type of update
+#: ../lib/packagekit-glib2/pk-console-shared.c:420
+msgid "Bug fix "
+msgstr "Correzione bug"
+
+#. TRANSLATORS: The type of update
+#: ../lib/packagekit-glib2/pk-console-shared.c:424
+msgid "Enhancement"
+msgstr "Miglioramento"
+
+#. TRANSLATORS: The type of update
+#: ../lib/packagekit-glib2/pk-console-shared.c:428
+msgid "Blocked"
+msgstr "Bloccato"
+
+#. TRANSLATORS: The state of a package
+#. TRANSLATORS: The action of the package, in past tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:433
+#: ../lib/packagekit-glib2/pk-console-shared.c:506
+msgid "Installed"
+msgstr "Installato"
+
+#. TRANSLATORS: The state of a package, i.e. not installed
+#: ../lib/packagekit-glib2/pk-console-shared.c:438
+msgid "Available"
+msgstr "Disponibile"
+
+#. TRANSLATORS: The action of the package, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:456
+msgid "Downloading"
+msgstr "Scaricamento"
+
+# (ndt) mah... se intendo presente normale, non capisco perché usino il continuos...
+#. TRANSLATORS: The action of the package, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:460
+msgid "Updating"
+msgstr "Aggiornamento"
+
+# (ndt) ahhh... che bello... stessa stringa, due significati diversi, nessun contesto...
+#. 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:464
+#: ../lib/packagekit-glib2/pk-console-shared.c:584
+msgid "Installing"
+msgstr "Installazione"
+
+#. 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:468
+#: ../lib/packagekit-glib2/pk-console-shared.c:580
+msgid "Removing"
+msgstr "Rimozione"
+
+#. TRANSLATORS: The action of the package, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:472
+msgid "Cleaning up"
+msgstr "Pulizia"
+
+#. TRANSLATORS: The action of the package, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:476
+msgid "Obsoleting"
+msgstr "Impostazione come obsoleto"
+
+#. TRANSLATORS: The action of the package, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:480
+msgid "Reinstalling"
+msgstr "Reinstallazione"
+
+#. TRANSLATORS: The action of the package, in past tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:498
+msgid "Downloaded"
+msgstr "Scaricato"
+
+#. TRANSLATORS: The action of the package, in past tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:510
+msgid "Removed"
+msgstr "Rimosso"
+
+#. TRANSLATORS: The action of the package, in past tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:514
+msgid "Cleaned up"
+msgstr "Pulito"
+
+#. TRANSLATORS: The action of the package, in past tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:518
+msgid "Obsoleted"
+msgstr "Obsoleto"
+
+#. TRANSLATORS: The action of the package, in past tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:522
+msgid "Reinstalled"
+msgstr "Reinstallato"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:540
+msgid "Unknown role type"
+msgstr "Tipo di azione sconosciuta"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:544
+msgid "Getting dependencies"
+msgstr "Recupero delle dipendenze"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:548
+msgid "Getting update details"
+msgstr "Recupero dei dettagli di aggiornamento"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:552
+msgid "Getting details"
+msgstr "Recupero dei dettagli"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:556
+msgid "Getting requires"
+msgstr "Recupero dei pacchetti necessari"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:560
+msgid "Getting updates"
+msgstr "Recupero aggiornamenti"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:564
+msgid "Searching by details"
+msgstr "Ricerca per dettagli"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:568
+msgid "Searching by file"
+msgstr "Ricerca per file"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:572
+msgid "Searching groups"
+msgstr "Ricerca dei gruppi"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:576
+msgid "Searching by name"
+msgstr "Ricerca per nome"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:588
+msgid "Installing files"
+msgstr "Installazione dei file"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:592
+msgid "Refreshing cache"
+msgstr "Aggiornamento della cache"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:596
+msgid "Updating packages"
+msgstr "Aggiornamento dei pacchetti"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:600
+msgid "Updating system"
+msgstr "Aggiornamento del sistema"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:604
+msgid "Canceling"
+msgstr "Annullamento"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:612
+msgid "Getting repositories"
+msgstr "Recupero dei repository"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:616
+msgid "Enabling repository"
+msgstr "Abilitazione dei repository"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:620
+msgid "Setting data"
+msgstr "Impostazione dei dati"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:624
+msgid "Resolving"
+msgstr "Risoluzione"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:628
+msgid "Getting file list"
+msgstr "Recupero elenco dei file"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:632
+msgid "Getting provides"
+msgstr "Recupero dei pacchetti forniti"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:636
+msgid "Installing signature"
+msgstr "Installazione delle firme"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:640
+msgid "Getting packages"
+msgstr "Recupero dei pacchetti"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:644
+msgid "Accepting EULA"
+msgstr "Accettazione dell'EULA"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:652
+msgid "Getting upgrades"
+msgstr "Recupero degli aggiornamenti"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:656
+msgid "Getting categories"
+msgstr "Recupero delle categorie"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:660
+msgid "Getting transactions"
+msgstr "Recupero delle transazioni"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:664
+#: ../lib/packagekit-glib2/pk-console-shared.c:668
+msgid "Simulating install"
+msgstr "Simulazione dell'installazione"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:672
+msgid "Simulating remove"
+msgstr "Simulazione della rimozione"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:676
+msgid "Simulating update"
+msgstr "Simulazione dell'aggiornamento"
+
+#. TRANSLATORS: ask the user if they are comfortable installing insecure packages
+#: ../lib/packagekit-glib2/pk-task-text.c:66
+msgid "Do you want to allow installing of unsigned software?"
+msgstr "Consentire l'installazione di software non firmato?"
+
+#. TRANSLATORS: tell the user we've not done anything
+#: ../lib/packagekit-glib2/pk-task-text.c:71
+msgid "The unsigned software will not be installed."
+msgstr "Il software non firmato non verrà installato."
+
+#. TRANSLATORS: the package repository is signed by a key that is not recognised
+#: ../lib/packagekit-glib2/pk-task-text.c:104
+msgid "Software source signature required"
+msgstr "È richiesta la firma della sorgente software"
+
+#. TRANSLATORS: the package repository name
+#: ../lib/packagekit-glib2/pk-task-text.c:110
+msgid "Software source name"
+msgstr "Nome della sorgente software"
+
+#. TRANSLATORS: the key URL
+#: ../lib/packagekit-glib2/pk-task-text.c:113
+msgid "Key URL"
+msgstr "URL chiave"
+
+#. TRANSLATORS: the username of the key
+#: ../lib/packagekit-glib2/pk-task-text.c:116
+msgid "Key user"
+msgstr "Chiave utente"
+
+#. TRANSLATORS: the key ID, usually a few hex digits
+#: ../lib/packagekit-glib2/pk-task-text.c:119
+msgid "Key ID"
+msgstr "ID chiave"
+
+#. TRANSLATORS: the key fingerprint, again, yet more hex
+#: ../lib/packagekit-glib2/pk-task-text.c:122
+msgid "Key fingerprint"
+msgstr "Impronta chiave"
+
+#. TRANSLATORS: the timestamp (a bit like a machine readable time)
+#: ../lib/packagekit-glib2/pk-task-text.c:125
+msgid "Key Timestamp"
+msgstr "Data chiave"
+
+#. TRANSLATORS: ask the user if they want to import
+#: ../lib/packagekit-glib2/pk-task-text.c:131
+msgid "Do you accept this signature?"
+msgstr "Accettare questa firma?"
+
+#. TRANSLATORS: tell the user we've not done anything
+#: ../lib/packagekit-glib2/pk-task-text.c:136
+msgid "The signature was not accepted."
+msgstr "La firma non è stata accettata."
+
+#. TRANSLATORS: this is another name for a software licence that has to be read before installing
+#: ../lib/packagekit-glib2/pk-task-text.c:171
+msgid "End user licence agreement required"
+msgstr "È richiesto l'accordo di licenza per l'utente finale"
+
+#. TRANSLATORS: the EULA text itself (long and boring)
+#: ../lib/packagekit-glib2/pk-task-text.c:180
+msgid "Agreement"
+msgstr "Accordo"
+
+#. TRANSLATORS: ask the user if they've read and accepted the EULA
+#: ../lib/packagekit-glib2/pk-task-text.c:186
+msgid "Do you accept this agreement?"
+msgstr "Accettare questo accordo?"
+
+#. TRANSLATORS: tell the user we've not done anything
+#: ../lib/packagekit-glib2/pk-task-text.c:191
+msgid "The agreement was not accepted."
+msgstr "L'accordo non è stato accettato."
+
+#. TRANSLATORS: the user needs to change media inserted into the computer
+#: ../lib/packagekit-glib2/pk-task-text.c:221
+msgid "Media change required"
+msgstr "Nessun pacchetto aggiuntivo richiesto."
+
+#. TRANSLATORS: the type, e.g. DVD, CD, etc
+#: ../lib/packagekit-glib2/pk-task-text.c:224
+msgid "Media type"
+msgstr "Tipo di supporto"
+
+#. TRANSLATORS: the media label, usually like 'disk-1of3'
+#: ../lib/packagekit-glib2/pk-task-text.c:227
+msgid "Media label"
+msgstr "Etichetta supporto"
+
+#. TRANSLATORS: the media description, usually like 'Fedora 12 disk 5'
+#: ../lib/packagekit-glib2/pk-task-text.c:230
+msgid "Text"
+msgstr "Testo"
+
+#. TRANSLATORS: ask the user to insert the media
+#: ../lib/packagekit-glib2/pk-task-text.c:234
+msgid "Please insert the correct media"
+msgstr "Inserire il supporto corretto"
+
+#. TRANSLATORS: tell the user we've not done anything as they are lazy
+#: ../lib/packagekit-glib2/pk-task-text.c:239
+msgid "The correct media was not inserted."
+msgstr "Non è stato inserito il supporto corretto."
+
+#. TRANSLATORS: When processing, we might have to remove other dependencies
+#: ../lib/packagekit-glib2/pk-task-text.c:254
+msgid "The following packages have to be removed:"
+msgstr "I seguenti pacchetti devono essere rimossi:"
+
+#. TRANSLATORS: When processing, we might have to install other dependencies
+#: ../lib/packagekit-glib2/pk-task-text.c:259
+msgid "The following packages have to be installed:"
+msgstr "I seguenti pacchetti devono essere installati:"
+
+#. TRANSLATORS: When processing, we might have to update other dependencies
+#: ../lib/packagekit-glib2/pk-task-text.c:264
+msgid "The following packages have to be updated:"
+msgstr "I seguenti pacchetti devono essere aggiornati:"
+
+#. TRANSLATORS: When processing, we might have to reinstall other dependencies
+#: ../lib/packagekit-glib2/pk-task-text.c:269
+msgid "The following packages have to be reinstalled:"
+msgstr "I seguenti pacchetti devono essere reinstallati:"
+
+#. TRANSLATORS: When processing, we might have to downgrade other dependencies
+#: ../lib/packagekit-glib2/pk-task-text.c:274
+msgid "The following packages have to be downgraded:"
+msgstr "I seguenti pacchetti devono essere rimossi:"
+
+#. TRANSLATORS: ask the user if the proposed changes are okay
+#: ../lib/packagekit-glib2/pk-task-text.c:324
+msgid "Proceed with changes?"
+msgstr "Procedere con le modifiche?"
+
+#. TRANSLATORS: tell the user we didn't do anything
+#: ../lib/packagekit-glib2/pk-task-text.c:329
+msgid "The transaction did not proceed."
+msgstr "La transazione non è stata eseguita."
+
 # (ndt) queste sono descrizioni delle azioni che richiedono autenticazione, non ho idea di come compaiano, se come titoli di dialogo o cosa, quindi le metto in questo modo per stare un po' sul generale.
 #. SECURITY:
 #. - Normal users do not require admin authentication to accept new
@@ -1257,14 +1738,20 @@ msgid "Authentication is required to refresh the system sources"
 msgstr "Per aggiornare i sorgenti del sistema è necessaria l'autenticazione"
 
 #: ../policy/org.freedesktop.packagekit.policy.in.h:15
+msgid "Authentication is required to reload the device with a new driver"
+msgstr ""
+"Per ricaricare il dispositivo con un nuovo driver è necessaria "
+"l'autenticazione"
+
+#: ../policy/org.freedesktop.packagekit.policy.in.h:16
 msgid "Authentication is required to remove packages"
 msgstr "Per rimuovere i pacchetti è necessaria l'autenticazione"
 
-#: ../policy/org.freedesktop.packagekit.policy.in.h:16
+#: ../policy/org.freedesktop.packagekit.policy.in.h:17
 msgid "Authentication is required to rollback a transaction"
 msgstr "Per ripristinare una transazione è necessaria l'autenticazione"
 
-#: ../policy/org.freedesktop.packagekit.policy.in.h:17
+#: ../policy/org.freedesktop.packagekit.policy.in.h:18
 msgid ""
 "Authentication is required to set the network proxy used for downloading "
 "packages"
@@ -1272,7 +1759,7 @@ msgstr ""
 "Per impostare il proxy di rete usato per scaricare i pacchetti è necessaria "
 "l'autenticazione"
 
-#: ../policy/org.freedesktop.packagekit.policy.in.h:18
+#: ../policy/org.freedesktop.packagekit.policy.in.h:19
 msgid "Authentication is required to update packages"
 msgstr "Per aggiornare i pacchetti è necessaria l'autenticazione"
 
@@ -1281,7 +1768,7 @@ msgstr "Per aggiornare i pacchetti è necessaria l'autenticazione"
 #. authentication, but a different user id needs the admin password
 #. to cancel another users task.
 #.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:24
+#: ../policy/org.freedesktop.packagekit.policy.in.h:25
 msgid "Cancel foreign task"
 msgstr "Attività esterna da annullare"
 
@@ -1291,7 +1778,7 @@ msgstr "Attività esterna da annullare"
 #. software sources as this can be used to enable new updates or
 #. install different versions of software.
 #.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:30
+#: ../policy/org.freedesktop.packagekit.policy.in.h:31
 msgid "Change software source parameters"
 msgstr "Parametri delle sorgenti software da modificare"
 
@@ -1301,7 +1788,7 @@ msgstr "Parametri delle sorgenti software da modificare"
 #. - Paranoid users (or parents!) can change this to 'auth_admin' or
 #. 'auth_admin_keep'.
 #.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:37
+#: ../policy/org.freedesktop.packagekit.policy.in.h:38
 msgid "Install signed package"
 msgstr "Pacchetto firmato da installare"
 
@@ -1311,7 +1798,7 @@ msgstr "Pacchetto firmato da installare"
 #. password would be a massive security hole.
 #. - This is not retained as each package should be authenticated.
 #.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:44
+#: ../policy/org.freedesktop.packagekit.policy.in.h:45
 msgid "Install untrusted local file"
 msgstr "File locale non affidabile da installare"
 
@@ -1319,11 +1806,22 @@ msgstr "File locale non affidabile da installare"
 #. - 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:49
+#: ../policy/org.freedesktop.packagekit.policy.in.h:50
 msgid "Refresh system sources"
 msgstr "Sorgenti di sistema da aggiornare"
 
 #. SECURITY:
+#. - Normal users require admin authentication to rebind a driver
+#. so that it works after we install firmware.
+#. - This should not be set to 'yes' as unprivileged users could then
+#. try to rebind drivers in use, for instance security authentication
+#. devices.
+#.
+#: ../policy/org.freedesktop.packagekit.policy.in.h:58
+msgid "Reload a device"
+msgstr "Dispositivo da ricaricare"
+
+#. SECURITY:
 #. - Normal users require admin authentication to remove packages as
 #. this can make the system unbootable or stop other applications from
 #. working.
@@ -1332,7 +1830,7 @@ msgstr "Sorgenti di sistema da aggiornare"
 #. be removed. If this is not possible, change this authentication to
 #. 'auth_admin'.
 #.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:59
+#: ../policy/org.freedesktop.packagekit.policy.in.h:68
 msgid "Remove package"
 msgstr "Pacchetto da rimuovere"
 
@@ -1341,7 +1839,7 @@ msgstr "Pacchetto da rimuovere"
 #. 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:65
+#: ../policy/org.freedesktop.packagekit.policy.in.h:74
 msgid "Rollback to a previous transaction"
 msgstr "Transazione precedente da ripristinare"
 
@@ -1349,7 +1847,7 @@ msgstr "Transazione precedente da ripristinare"
 #. - Normal users do not require admin authentication to set the proxy
 #. used for downloading packages.
 #.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:70
+#: ../policy/org.freedesktop.packagekit.policy.in.h:79
 msgid "Set network proxy"
 msgstr "Proxy di rete da impostare"
 
@@ -1359,7 +1857,7 @@ msgstr "Proxy di rete da impostare"
 #. without a secure authentication.
 #. - This is not kept as each package should be authenticated.
 #.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:77
+#: ../policy/org.freedesktop.packagekit.policy.in.h:86
 msgid "Trust a key used for signing packages"
 msgstr "Dare fiducia a una chiave usata per firmare pacchetti"
 
@@ -1370,7 +1868,7 @@ msgstr "Dare fiducia a una chiave usata per firmare pacchetti"
 #. - Changing this to anything other than 'yes' will break unattended
 #. updates.
 #.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:85
+#: ../policy/org.freedesktop.packagekit.policy.in.h:94
 msgid "Update packages"
 msgstr "Pacchetti da aggiornare"
 
@@ -1447,53 +1945,80 @@ msgstr "Impossibile connettersi al bus di sistema"
 msgid "Error trying to start:"
 msgstr "Errore di avvio:"
 
-#: ../src/pk-polkit-action-lookup.c:147
+#: ../src/pk-polkit-action-lookup.c:150
 msgid "To install debugging packages, extra sources need to be enabled"
 msgstr ""
 "Per installare i pacchetti di debug è necessario abilitare delle sorgenti "
 "aggiuntive"
 
 #. TRANSLATORS: is not GPG signed
-#: ../src/pk-polkit-action-lookup.c:168 ../src/pk-polkit-action-lookup.c:191
+#: ../src/pk-polkit-action-lookup.c:171 ../src/pk-polkit-action-lookup.c:190
 msgid "The software is not from a trusted source."
 msgstr "Il software non proviene da una sorgente fidata."
 
-#: ../src/pk-polkit-action-lookup.c:173
+#: ../src/pk-polkit-action-lookup.c:176
 msgid "Do not update this package unless you are sure it is safe to do so."
 msgstr ""
 "È consigliato non aggiornare questo pacchetto se non si è sicuri che sia "
 "affidabile."
 
-#: ../src/pk-polkit-action-lookup.c:174
+#: ../src/pk-polkit-action-lookup.c:177
 msgid "Do not update these packages unless you are sure it is safe to do so."
 msgstr ""
 "È consigliato non aggiornare questi pacchetti se non si è sicuri che sia "
 "affidabile."
 
-#. TRANSLATORS: warn the user that all bets are off
-#: ../src/pk-polkit-action-lookup.c:180 ../src/pk-polkit-action-lookup.c:203
-msgid "Malicious software can damage your computer or cause other harm."
-msgstr ""
-"Software malevolo può danneggiare il proprio computer o causare altri danni."
-
-#: ../src/pk-polkit-action-lookup.c:196
+#: ../src/pk-polkit-action-lookup.c:195
 msgid "Do not install this package unless you are sure it is safe to do so."
 msgstr ""
 "È consigliato non installare questo pacchetto se non si è sicuri che sia "
 "affidabile."
 
-#: ../src/pk-polkit-action-lookup.c:197
+#: ../src/pk-polkit-action-lookup.c:196
 msgid "Do not install these packages unless you are sure it is safe to do so."
 msgstr ""
 "È consigliato non installare questi pacchetti se non si è sicuri che sia "
 "affidabile."
 
+#. TRANSLATORS: warn the user that all bets are off
+#: ../src/pk-polkit-action-lookup.c:202
+msgid "Malicious software can damage your computer or cause other harm."
+msgstr ""
+"Software malevolo può danneggiare il proprio computer o causare altri danni."
+
 #. TRANSLATORS: too many packages to list each one
-#: ../src/pk-polkit-action-lookup.c:278
+#: ../src/pk-polkit-action-lookup.c:277
 msgid "Many packages"
 msgstr "Troppi pacchetti"
 
 #. TRANSLATORS: if the transaction is forced to install only trusted packages
-#: ../src/pk-polkit-action-lookup.c:338
+#: ../src/pk-polkit-action-lookup.c:343
 msgid "Only trusted"
 msgstr "Solo fidati"
+
+msgid "Please restart the application as it is being used."
+msgstr "Riavviare l'applicazione poiché è attualmente in uso."
+
+msgid "Proceed removing additional packages?"
+msgstr "Rimuovere anche i pacchetti aggiuntivi?"
+
+msgid "The package removal was canceled!"
+msgstr "La rimozione dei pacchetti è stata annullata."
+
+msgid "File already exists: %s"
+msgstr "Il file esiste già: %s"
+
+msgid "File does not exist: %s"
+msgstr "Il file non esiste: %s"
+
+msgid "Error:"
+msgstr "Errore:"
+
+msgid "The license was refused."
+msgstr "La licenza è stata rifiutata."
+
+msgid "Incorrect privileges for this operation"
+msgstr "Non si dispone dei privilegi necessari per questa operazione"
+
+msgid "Cannot show the list of transactions"
+msgstr "Impossibile mostrare l'elenco delle transazioni"


More information about the PackageKit-commit mailing list