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

Richard Hughes hughsient at kemper.freedesktop.org
Mon Mar 1 02:56:36 PST 2010


 NEWS                                           |  100 +
 RELEASE                                        |    2 
 backends/apt/pk-backend-apt.c                  |    4 
 backends/aptcc/acqprogress.cpp                 |    4 
 backends/aptcc/apt-utils.cpp                   |   38 
 backends/aptcc/apt.cpp                         |   93 +
 backends/aptcc/apt.h                           |    9 
 backends/aptcc/pk-backend-aptcc.cpp            |    6 
 backends/entropy/entropyBackend.py             |  109 -
 backends/entropy/pk-backend-entropy.c          |    2 
 backends/poldek/pk-backend-poldek.c            |    2 
 backends/portage/pk-backend-portage.c          |    4 
 backends/portage/portageBackend.py             |   15 
 backends/smart/smartBackend.py                 |   59 
 backends/test-backend.sh                       |   62 
 backends/test/pk-backend-test-succeed.c        |    2 
 backends/yum/pk-backend-yum.c                  |    2 
 backends/yum/yumBackend.py                     |   17 
 configure.ac                                   |    4 
 docs/html/pk-download.html                     |    3 
 docs/planned-api-changes.txt                   |    4 
 lib/packagekit-glib2/pk-client-sync.c          |    5 
 lib/packagekit-glib2/pk-client-sync.h          |    1 
 lib/packagekit-glib2/pk-client.c               |    5 
 lib/packagekit-glib2/pk-client.h               |    1 
 lib/packagekit-glib2/pk-task.c                 |    2 
 lib/packagekit-qt/src/client.cpp               |  103 -
 lib/packagekit-qt/src/client.h                 |   62 
 lib/packagekit-qt/src/clientprivate.h          |    4 
 lib/packagekit-qt/src/package.cpp              |   10 
 lib/packagekit-qt/src/package.h                |    8 
 lib/packagekit-qt/src/transaction.cpp          |    4 
 lib/packagekit-qt/src/transaction.h            |   10 
 lib/packagekit-qt/src/transactionprivate.cpp   |   20 
 lib/packagekit-qt/src/transactionprivate.h     |    2 
 lib/packagekit-qt/src/util.cpp                 |    6 
 lib/packagekit-qt/src/util.h                   |    7 
 lib/packagekit-qt/test/transactiontest.cpp     |   35 
 lib/packagekit-qt/test/transactiontest.h       |    6 
 lib/python/packagekit/backend.py               |   22 
 po/bg.po                                       | 1739 +++++++++++++++---------
 po/da.po                                       | 1796 +++++++++++++++++--------
 po/pt.po                                       |  963 +++++++------
 po/pt_BR.po                                    |  313 ++--
 src/org.freedesktop.PackageKit.Transaction.xml |   43 
 src/pk-backend-internal.h                      |    3 
 src/pk-backend-spawn.c                         |  103 -
 src/pk-backend.c                               |    5 
 src/pk-backend.h                               |    3 
 src/pk-spawn.c                                 |    6 
 src/pk-transaction.c                           |  109 -
 src/pk-transaction.h                           |    4 
 src/run-pk.sh                                  |    4 
 53 files changed, 3672 insertions(+), 2273 deletions(-)

New commits:
commit 02a79b2c2cf0c92805b24c71e246a75bf1d0401c
Author: Richard Hughes <richard at hughsie.com>
Date:   Mon Mar 1 10:54:23 2010 +0000

    Release version 0.6.2

diff --git a/NEWS b/NEWS
index 4270838..7af28e5 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,103 @@
+Version 0.6.2
+~~~~~~~~~~~~~
+Released: 2010-03-01
+
+Notes:
+ - We broke PackageKit-Qt API in a big way this release. You'll need a new KPackageKit if you're using KDE.
+ - There is a _tiny_ API break in PackageKit-glib2 which means most apps just need a recomple.
+ - A new backend called entropy has been merged by Fabio Erculiani.
+
+Translations:
+ - Updated translation for Bulgarian
+ - Updated translation for Indonesian (dichi)
+ - Updated translation for Brazilian Portuguese (igor)
+ - Updated translation for German (kenda)
+ - Updated translation for Danish (kristho)
+ - Updated translation for Portuguese (ruigo)
+ - Updated translation for Hungarian (snicore)
+
+Libraries:
+ - PackageKit-glib2: Add pk_control_suggest_daemon_quit() (Vincent Untz)
+ - PackageKit-Qt: Add a Last[enum-type] entry to each type (Richard Hughes)
+ - PackageKit-Qt: Added more constness to the lib (Daniel Nicoletti)
+ - PackageKit-Qt: Drop QObject for Package (Adrien Bustany)
+ - PackageKit-Qt: Fix filtersToString and make enumToString more robust (Adrien Bustany)
+ - PackageKit-Qt: Fix up a typo that prevents compiling programs that use -pedantic-errors (Slawomir Czarko)
+ - PackageKit-Qt: Fully automatize the proxy generation (Adrien Bustany)
+ - PackageKit-Qt: Moved the package enums to Enum class (Daniel Nicoletti)
+ - PackageKit-Qt: Port tests to current API (Adrien Bustany)
+ - PackageKit-Qt: Port the tests to the new Enum class (Adrien Bustany)
+ - PackageKit-Qt: Switch from QDbusReply to QDBusPendingReply (Adrien Bustany)
+
+New Features:
+ - Add a new library function: pk_package_sack_filter_by_info() (Richard Hughes)
+ - Add a pk_backend_set_speed() helper function (Richard Hughes)
+ - Added autoremove to simulateRemovePackage (Daniel Nicoletti)
+ - Add the eula-required python method helper (Richard Hughes)
+ - Change the python helpers to get sent an array of values, not a delimited string (Richard Hughes)
+ - Define a new error code for when the user declines the simulation (Richard Hughes)
+ - Removed deprecated SetLocale (Daniel Nicoletti)
+ - Show messages in the pkmon output when the task has completed (Richard Hughes)
+
+Bugfixes:
+ - Add the environment variable accecpted_eulas to the spawned processes (Richard Hughes)
+ - Add the polkit backend library in LIBADD, not LDFLAGS. Fixes fd#26373 (Richard Hughes)
+ - Do not run the transaction with only_trusted if the simulation inferred that any packages were unsigned (Richard Hughes)
+ - Ensure that a malicious user can't make the backend exit by injecting a bogus EULA call into the transaction (Richard Hughes)
+ - Fix a logic problem where the PkSpawn and PkBackend instances would race and sometimes issue a pk_backend_finished() when the dispatcher instance was being changed (Richard Hughes)
+ - Initialize relevant GError's in the daemon to NULL (Jonathan Conder)
+ - Install the introspection data to the correct location (Richard Hughes)
+ - Update the list of free licences from the Fedora wiki (Richard Hughes)
+
+Backends:
+ - apt: call the correct command for simualte-install-files (Sebastian Heinlein)
+ - aptcc: fix once package descriptions FDO bug #26357 (Daniel Nicoletti)
+ - aptcc: fix unknown progress when download takes too much time to go to 1% (Daniel Nicoletti)
+ - aptcc: improved kind of updates detection (Daniel Nicoletti)
+ - entropy: add eula-required signal emission (Fabio Erculiani)
+ - entropy: add get_mime_types support in backend (Fabio Erculiani)
+ - entropy: add simulate_* support (Fabio Erculiani)
+ - entropy: basic functionality of PackageKitEntropyBackend.refresh_cache() (Fabio Erculiani)
+ - entropy: complete PackageKitEntropyBackend.get_updates() (Fabio Erculiani)
+ - entropy: complete PackageKitEntropyBackend.search_file() (Fabio Erculiani)
+ - entropy: complete PackageKitEntropyBackend.search_group() (Fabio Erculiani)
+ - entropy: complete PackageKitEntropyBackend.search_name() (Fabio Erculiani)
+ - entropy: complete PackageKitEntropyBackend.search_details() (Fabio Erculiani)
+ - entropy: disable EntropyPackageKitBackend.get_distro_upgrades for now (Fabio Erculiani)
+ - entropy: implement EntropyPackageKitBackend.download_packages() support (Fabio Erculiani)
+ - entropy: implement EntropyPackageKitBackend.get_categories() (Fabio Erculiani)
+ - entropy: implement EntropyPackageKitBackend.get_requires() (Fabio Erculiani)
+ - entropy: implement EntropyPackageKitBackend.install_packages() and update_packages() (Fabio Erculiani)
+ - entropy: implement EntropyPackageKitBackend.remove_packages() (Fabio Erculiani)
+ - entropy: implement EntropyPackageKitBackend.update_system() (Fabio Erculiani)
+ - entropy: implement EULA handling on pkgs install (Fabio Erculiani)
+ - entropy: implement PackageKitEntropyBackend.get_depends() (Fabio Erculiani)
+ - entropy: implement PackageKitEntropyBackend.get_details() (Fabio Erculiani)
+ - entropy: implement PackageKitEntropyBackend.get_files() (Fabio Erculiani)
+ - entropy: implement PackageKitEntropyBackend.get_packages() (Fabio Erculiani)
+ - entropy: implement PackageKitEntropyBackend.get_repo_list() (Fabio Erculiani)
+ - entropy: implement PackageKitEntropyBackend.get_update_detail() (Fabio Erculiani)
+ - entropy: implement PackageKitEntropyBackend.install_files() (Fabio Erculiani)
+ - entropy: implement PackageKitEntropyBackend.repo_enable() (Fabio Erculiani)
+ - entropy: implement PackageKitEntropyBackend.resolve() (Fabio Erculiani)
+ - entropy: initial commit, add build system support and basic (non-working) backend (Fabio Erculiani)
+ - entropy: spawn error on missing accepted EULAs (Fabio Erculiani)
+ - entropy: subclass entropy.client.interfaces.Client, get transparent progress update support (Fabio Erculiani)
+ - entropy: subclass UrlFetcher to redirect output to PK, make possible to cancel pkg install/removal (Fabio Erculiani)
+ - portage: factor out portage code from PackageKit overridden methods, several bug fixes (Fabio Erculiani)
+ - portage: implement PackageKitPortageBackend.get_categories() (Fabio Erculiani)
+ - portage: port portage backend to PackageKit HEAD (Fabio Erculiani)
+ - smart: change encoding to preferred, replace errors on stdout (Anders F Bjorklund)
+ - smart: convert search term string to array (Anders F Bjorklund)
+ - smart: make repo-list work with channelsync too (Anders F Bjorklund)
+ - yum: add simulate-install-packages, simulate-update-packages and simulate-remove-packages (Richard Hughes)
+ - yum: add simulate-install-packages, simulate-update-packages and simulate-remove-packages (Richard Hughes)
+ - yum: blacklist auto-update-debuginfo when using PK tools to prevent madness. Fixes rh#566578 (Richard Hughes)
+ - yum: don't show an internal error if the database was changed by rpm when we are building a transaction (Richard Hughes)
+ - yum: remove the '&' multiple parameter hacks (Richard Hughes)
+ - zypp: add more features to repo_set_data (Ladislav Slezak)
+ - zypp: change policy to download first (Scott Reeves)
+
 Version 0.6.1
 ~~~~~~~~~~~~~
 Released: 2010-02-01
diff --git a/RELEASE b/RELEASE
index 2eb8cb1..34fb471 100644
--- a/RELEASE
+++ b/RELEASE
@@ -9,6 +9,8 @@ Version 0.6.x
 ~~~~~~~~~~~~~
 Released: 2010-xx-xx
 
+Notes:
+
 Translations:
 
 Libraries:
diff --git a/docs/html/pk-download.html b/docs/html/pk-download.html
index e627dba..fae650d 100644
--- a/docs/html/pk-download.html
+++ b/docs/html/pk-download.html
@@ -68,8 +68,9 @@ Releases are normally on the first working Monday of each month.
 </p>
 <table>
 <tr><td><b>Version</b></td><td>&nbsp;&nbsp;</td><td><b>Date</b></td></tr>
-<tr><td>0.6.0</td><td></td><td>2010-01-04</td></tr>
+<tr><td>0.6.2</td><td></td><td>2010-03-01</td></tr>
 <tr><td>0.6.1</td><td></td><td>2010-02-01</td></tr>
+<tr><td>0.6.0</td><td></td><td>2010-01-04</td></tr>
 </table>
 <h3>
 ABI Stable Versions:
commit 09dbf4c0f38023af59c869b1ab338aea2bdf6a97
Author: Sebastian Heinlein <devel at glatzor.de>
Date:   Sun Feb 28 18:47:39 2010 +0100

    APT: call the correct command for simualte-install-files

diff --git a/backends/apt/pk-backend-apt.c b/backends/apt/pk-backend-apt.c
index 7927e3c..7c8e5c5 100644
--- a/backends/apt/pk-backend-apt.c
+++ b/backends/apt/pk-backend-apt.c
@@ -215,7 +215,7 @@ backend_simulate_install_files (PkBackend *backend, gchar **full_paths)
 
 	/* 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);
+	pk_backend_spawn_helper (spawn, "aptBackend.py", "simulate-install-files", package_ids_temp, NULL);
 	g_free (package_ids_temp);
 }
 
commit ea5286373d0b3154bed993f6ab2a57e701d2dbc9
Author: igor <igor at fedoraproject.org>
Date:   Fri Feb 26 15:06:53 2010 +0000

    Sending translation for Brazilian Portuguese

diff --git a/po/pt_BR.po b/po/pt_BR.po
index d046bac..f3415b0 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -2,14 +2,14 @@
 # Copyright (C) 2008,2009 Free Software Foundation, Inc.
 # This file is distributed under the same license as the packagekit package.
 #
-# Igor Pires Soares <igor at projetofedora.org>, 2008,2009.
+# Igor Pires Soares <igor at projetofedora.org>, 2008,2009,2010.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: PackageKit\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-12-08 14:25+0000\n"
-"PO-Revision-Date: 2009-12-08 15:19-0300\n"
+"POT-Creation-Date: 2010-02-26 11:36+0000\n"
+"PO-Revision-Date: 2010-02-26 12:04-0300\n"
 "Last-Translator: Igor Pires Soares <igor at projetofedora.org>\n"
 "Language-Team: Brazilian Portuguese <fedora-trans-pt_br at redhat.com>\n"
 "MIME-Version: 1.0\n"
@@ -277,62 +277,68 @@ msgid "Status"
 msgstr "Status"
 
 #. TRANSLATORS: the results from the transaction
-#: ../client/pk-console.c:678
+#: ../client/pk-console.c:679
 msgid "Results:"
 msgstr "Resultados:"
 
 #. TRANSLATORS: we failed to get any results, which is pretty fatal in my book
-#: ../client/pk-console.c:685
+#: ../client/pk-console.c:686
 msgid "Fatal error"
 msgstr "Erro fatal"
 
 #. TRANSLATORS: the transaction failed in a way we could not expect
-#: ../client/pk-console.c:694
+#: ../client/pk-console.c:695
 #: ../contrib/command-not-found/pk-command-not-found.c:432
 #: ../contrib/command-not-found/pk-command-not-found.c:603
 msgid "The transaction failed"
 msgstr "Falha na transação"
 
 #. TRANSLATORS: print a message when there are no updates
-#: ../client/pk-console.c:721
+#: ../client/pk-console.c:726
 msgid "There are no updates available at this time."
 msgstr "Não há atualizações disponíveis neste momento."
 
 #. TRANSLATORS: a package needs to restart their system
-#: ../client/pk-console.c:808
+#: ../client/pk-console.c:814
 msgid "Please restart the computer to complete the update."
 msgstr "Por favor, reinicie o computador para completar a atualização."
 
 #. TRANSLATORS: a package needs to restart the session
-#: ../client/pk-console.c:811
+#: ../client/pk-console.c:817
 msgid "Please logout and login to complete the update."
 msgstr "Por favor, encerre a sessão e inicie-a novamente para completar a atualização."
 
 #. TRANSLATORS: a package needs to restart their system (due to security)
-#: ../client/pk-console.c:814
+#: ../client/pk-console.c:820
 msgid "Please restart the computer to complete the update as important security updates have been installed."
 msgstr "Por favor, reinicie o computador para completar a atualização pois importantes atualizações de segurança foram instaladas."
 
 #. TRANSLATORS: a package needs to restart the session (due to security)
-#: ../client/pk-console.c:817
+#: ../client/pk-console.c:823
 msgid "Please logout and login to complete the update as important security updates have been installed."
 msgstr "Por favor, encerre a sessão e inicie-a novamente para completar a atualização pois importantes atualizações de segurança foram instaladas."
 
+#. TRANSLATORS: The user used 'pkcon install dave.rpm' rather than 'pkcon install-local dave.rpm'
+#: ../client/pk-console.c:849
+#, c-format
+msgid "Extected package name, actually got file. Try using 'pkcon install-local %s' instead."
+msgstr "Um nome de pacote era esperado, mas foi passado um arquivo. Tente usar \"pkcon install-local %s\" em vez disso."
+
 #. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
-#: ../client/pk-console.c:840
+#: ../client/pk-console.c:857
 #, c-format
 msgid "This tool could not find any available package: %s"
 msgstr "Esta ferramenta não pôde localizar nenhum pacote disponível: %s"
 
 #. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
-#: ../client/pk-console.c:868
+#: ../client/pk-console.c:885
 #, c-format
 msgid "This tool could not find the installed package: %s"
 msgstr "Esta ferramenta não pôde localizar o pacote instalado: %s"
 
 #. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
-#: ../client/pk-console.c:896
-#: ../client/pk-console.c:924
+#: ../client/pk-console.c:913
+#: ../client/pk-console.c:941
 #, c-format
 msgid "This tool could not find the package: %s"
 msgstr "Esta ferramente não pôde localizar o pacote: %s"
@@ -341,299 +347,299 @@ msgstr "Esta ferramente não pôde localizar o pacote: %s"
 #. TRANSLATORS: There was an error getting the dependencies for the package. The detailed error follows
 #. TRANSLATORS: There was an error getting the details about the package. The detailed error follows
 #. TRANSLATORS: The package name was not found in any software sources. The detailed error follows
-#: ../client/pk-console.c:952
-#: ../client/pk-console.c:980
-#: ../client/pk-console.c:1008
-#: ../client/pk-console.c:1036
-#: ../client/pk-console.c:1064
+#: ../client/pk-console.c:969
+#: ../client/pk-console.c:997
+#: ../client/pk-console.c:1025
+#: ../client/pk-console.c:1053
+#: ../client/pk-console.c:1081
 #, c-format
 msgid "This tool could not find all the packages: %s"
 msgstr "Esta ferramenta não pôde localizar todos os pacotes: %s"
 
 #. TRANSLATORS: This is when the daemon crashed, and we are up shit creek without a paddle
-#: ../client/pk-console.c:1093
+#: ../client/pk-console.c:1110
 msgid "The daemon crashed mid-transaction!"
 msgstr "O daemon travou no meio da transação!"
 
 #. TRANSLATORS: This is the header to the --help menu
-#: ../client/pk-console.c:1127
+#: ../client/pk-console.c:1144
 msgid "PackageKit Console Interface"
 msgstr "Interface em Console do PackageKit"
 
 #. these are commands we can use with pkcon
-#: ../client/pk-console.c:1129
+#: ../client/pk-console.c:1146
 msgid "Subcommands:"
 msgstr "Subcomandos:"
 
 #. TRANSLATORS: we keep a database updated with the time that an action was last executed
-#: ../client/pk-console.c:1208
+#: ../client/pk-console.c:1225
 msgid "Failed to get the time since this action was last completed"
 msgstr "Falha ao obter o tempo em que essa ação foi completada pela última vez"
 
 #. TRANSLATORS: command line argument, just show the version string
-#: ../client/pk-console.c:1244
-#: ../client/pk-monitor.c:280
+#: ../client/pk-console.c:1261
+#: ../client/pk-monitor.c:306
 msgid "Show the program version and exit"
 msgstr "Mostrar a versão do programa e sair"
 
 #. TRANSLATORS: command line argument, use a filter to narrow down results
-#: ../client/pk-console.c:1247
+#: ../client/pk-console.c:1264
 msgid "Set the filter, e.g. installed"
 msgstr "Definir o filtro, p. ex.: instalados"
 
 #. TRANSLATORS: command line argument, work asynchronously
-#: ../client/pk-console.c:1250
+#: ../client/pk-console.c:1267
 msgid "Exit without waiting for actions to complete"
 msgstr "Sair sem esperar pelo término das ações"
 
 #. command line argument, do we ask questions
-#: ../client/pk-console.c:1253
+#: ../client/pk-console.c:1270
 #: ../contrib/debuginfo-install/pk-debuginfo-install.c:527
 msgid "Install the packages without asking for confirmation"
 msgstr "Instala os pacotes sem pedir confirmação"
 
 #. TRANSLATORS: command line argument, this command is not a priority
-#: ../client/pk-console.c:1256
+#: ../client/pk-console.c:1273
 msgid "Run the command using idle network bandwidth and also using less power"
 msgstr "Executa o comando usando a banda de rede ociosa e usando também menos energia"
 
 #. TRANSLATORS: command line argument, just output without fancy formatting
-#: ../client/pk-console.c:1259
+#: ../client/pk-console.c:1276
 msgid "Print to screen a machine readable output, rather than using animated widgets"
 msgstr "Exibe na tela uma saída legível pela máquina, em vez de usar widgets animados"
 
 #. TRANSLATORS: we failed to contact the daemon
-#: ../client/pk-console.c:1281
+#: ../client/pk-console.c:1298
 msgid "Failed to contact PackageKit"
 msgstr "Falha ao contatar o PackageKit"
 
 #. TRANSLATORS: The user specified an incorrect filter
-#: ../client/pk-console.c:1339
+#: ../client/pk-console.c:1356
 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:1358
+#: ../client/pk-console.c:1375
 msgid "A search type is required, e.g. name"
 msgstr "Um tipo de pesquisa é requerido, p. ex. nome"
 
 #. TRANSLATORS: the user needs to provide a search term
-#: ../client/pk-console.c:1365
-#: ../client/pk-console.c:1377
-#: ../client/pk-console.c:1389
-#: ../client/pk-console.c:1401
+#: ../client/pk-console.c:1382
+#: ../client/pk-console.c:1394
+#: ../client/pk-console.c:1406
+#: ../client/pk-console.c:1418
 msgid "A search term is required"
 msgstr "Um termo de pesquisa é requerido"
 
 #. TRANSLATORS: the search type was provided, but invalid
-#: ../client/pk-console.c:1411
+#: ../client/pk-console.c:1428
 msgid "Invalid search type"
 msgstr "Tipo de pesquisa inválido"
 
 #. TRANSLATORS: the user did not specify what they wanted to install
-#: ../client/pk-console.c:1417
+#: ../client/pk-console.c:1434
 msgid "A package name to install is required"
 msgstr "O nome do pacote a ser instalado é requerido"
 
 #. TRANSLATORS: the user did not specify what they wanted to install
-#: ../client/pk-console.c:1426
+#: ../client/pk-console.c:1443
 msgid "A filename to install is required"
 msgstr "O nome do arquivo a ser instalado é requerido"
 
 #. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:1438
+#: ../client/pk-console.c:1455
 msgid "A type, key_id and package_id are required"
 msgstr "Um tipo, key_id e package_id são requeridos"
 
 #. TRANSLATORS: the user did not specify what they wanted to remove
-#: ../client/pk-console.c:1449
+#: ../client/pk-console.c:1466
 msgid "A package name to remove is required"
 msgstr "O nome do pacote para remoção é requerido"
 
 #. TRANSLATORS: the user did not specify anything about what to download or where
-#: ../client/pk-console.c:1458
+#: ../client/pk-console.c:1475
 msgid "A destination directory and the package names to download are required"
 msgstr "O diretório de destino e os os nomes dos pacotes a serem baixados são requeridos"
 
 #. TRANSLATORS: the directory does not exist, so we can't continue
-#: ../client/pk-console.c:1465
+#: ../client/pk-console.c:1482
 msgid "Directory not found"
 msgstr "Diretório não encontrado"
 
 #. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:1474
+#: ../client/pk-console.c:1491
 msgid "A licence identifier (eula-id) is required"
 msgstr "Um identificador de licença (eula-id) é requerido"
 
 #. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:1485
+#: ../client/pk-console.c:1502
 msgid "A transaction identifier (tid) is required"
 msgstr "Um identificador de transação (tid) é requerido"
 
 #. TRANSLATORS: The user did not specify a package name
-#: ../client/pk-console.c:1506
+#: ../client/pk-console.c:1523
 msgid "A package name to resolve is required"
 msgstr "O nome de pacote a ser analisado é requerido"
 
 #. TRANSLATORS: The user did not specify a repository (software source) name
-#: ../client/pk-console.c:1517
-#: ../client/pk-console.c:1528
+#: ../client/pk-console.c:1534
+#: ../client/pk-console.c:1545
 msgid "A repository name is required"
 msgstr "O nome do repositório é requerido"
 
 #. TRANSLATORS: The user didn't provide any data
-#: ../client/pk-console.c:1539
+#: ../client/pk-console.c:1556
 msgid "A repo name, parameter and value are required"
 msgstr "Um nome de repositório, parâmetro e um valor são requeridos"
 
 #. TRANSLATORS: The user didn't specify what action to use
-#: ../client/pk-console.c:1556
+#: ../client/pk-console.c:1573
 msgid "An action, e.g. 'update-system' is required"
 msgstr "Uma ação, p. ex. \"update-system\" é requerida"
 
 #. TRANSLATORS: The user specified an invalid action
-#: ../client/pk-console.c:1563
+#: ../client/pk-console.c:1580
 msgid "A correct role is required"
 msgstr "Um modo correto é requerido"
 
 #. TRANSLATORS: The user did not provide a package name
 #. TRANSLATORS: This is when the user fails to supply the package name
-#: ../client/pk-console.c:1573
-#: ../client/pk-console.c:1588
-#: ../client/pk-console.c:1597
-#: ../client/pk-console.c:1617
-#: ../client/pk-console.c:1626
-#: ../client/pk-generate-pack.c:298
+#: ../client/pk-console.c:1590
+#: ../client/pk-console.c:1605
+#: ../client/pk-console.c:1614
+#: ../client/pk-console.c:1634
+#: ../client/pk-console.c:1643
+#: ../client/pk-generate-pack.c:316
 msgid "A package name is required"
 msgstr "O nome do pacote é requerido"
 
 #. TRANSLATORS: each package "provides" certain things, e.g. mime(gstreamer-decoder-mp3), the user didn't specify it
-#: ../client/pk-console.c:1606
+#: ../client/pk-console.c:1623
 msgid "A package provide string is required"
 msgstr "É necessário especificar o que o pacote fornece"
 
 #. TRANSLATORS: The user tried to use an unsupported option on the command line
-#: ../client/pk-console.c:1686
+#: ../client/pk-console.c:1703
 #, 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:1696
+#: ../client/pk-console.c:1713
 msgid "Command failed"
 msgstr "O comando falhou"
 
 #. TRANSLATORS: we can exclude certain packages (glibc) when we know they'll exist on the target
-#: ../client/pk-generate-pack.c:237
+#: ../client/pk-generate-pack.c:255
 msgid "Set the file name of dependencies to be excluded"
 msgstr "Defina o nome de arquivo das dependências a serem excluídas"
 
 #. TRANSLATORS: the output location
-#: ../client/pk-generate-pack.c:240
+#: ../client/pk-generate-pack.c:258
 msgid "The output file or directory (the current directory is used if ommitted)"
 msgstr "O diretório ou arquivo de saída (o diretório atual é usado se omitido)"
 
 #. TRANSLATORS: put a list of packages in the pack
-#: ../client/pk-generate-pack.c:243
+#: ../client/pk-generate-pack.c:261
 msgid "The package to be put into the service pack"
 msgstr "O pacote a ser incluído no pacote de serviços"
 
 #. TRANSLATORS: put all pending updates in the pack
-#: ../client/pk-generate-pack.c:246
+#: ../client/pk-generate-pack.c:264
 msgid "Put all updates available in the service pack"
 msgstr "Incluir todas as atualizações disponíveis no pacote de serviços"
 
 #. TRANSLATORS: This is when the user fails to supply the correct arguments
-#: ../client/pk-generate-pack.c:282
+#: ../client/pk-generate-pack.c:300
 msgid "Neither --package or --updates option selected."
 msgstr "Nenhuma das opções --package ou --updates foi selecionada."
 
 #. TRANSLATORS: This is when the user fails to supply just one argument
-#: ../client/pk-generate-pack.c:290
+#: ../client/pk-generate-pack.c:308
 msgid "Both options selected."
 msgstr "Ambas opções selecionadas."
 
 #. TRANSLATORS: This is when the user fails to supply the output
-#: ../client/pk-generate-pack.c:306
+#: ../client/pk-generate-pack.c:324
 msgid "A output directory or file name is required"
 msgstr "Um diretório ou arquivo de saída é requerido"
 
 #. TRANSLATORS: This is when the dameon is not-installed/broken and fails to startup
-#: ../client/pk-generate-pack.c:324
+#: ../client/pk-generate-pack.c:342
 msgid "The dameon failed to startup"
 msgstr "O daemon falhou ao iniciar"
 
 #. TRANSLATORS: This is when the backend doesn't have the capability to get-depends
 #. TRANSLATORS: This is when the backend doesn't have the capability to download
-#: ../client/pk-generate-pack.c:335
-#: ../client/pk-generate-pack.c:341
+#: ../client/pk-generate-pack.c:353
+#: ../client/pk-generate-pack.c:359
 msgid "The package manager cannot perform this type of operation."
 msgstr "O gerenciador de pacotes não pode realizar este tipo de operação."
 
 #. TRANSLATORS: This is when the distro didn't include libarchive support into PK
-#: ../client/pk-generate-pack.c:348
+#: ../client/pk-generate-pack.c:366
 msgid "Service packs cannot be created as PackageKit was not built with libarchive support."
 msgstr "Os pacotes de serviço não podem ser criados já que o PackageKIt não foi compilado com suporte à libarchive."
 
 #. TRANSLATORS: the user specified an absolute path, but didn't get the extension correct
-#: ../client/pk-generate-pack.c:359
+#: ../client/pk-generate-pack.c:377
 msgid "If specifying a file, the service pack name must end with"
 msgstr "Se um arquivo for especificado, o nome do pacote de serviços deve terminar com"
 
 #. TRANSLATORS: This is when file already exists
-#: ../client/pk-generate-pack.c:375
+#: ../client/pk-generate-pack.c:393
 msgid "A pack with the same name already exists, do you want to overwrite it?"
 msgstr "Um pacote de serviços com o mesmo nome já existe, você deseja sobrescrevê-lo?"
 
 #. TRANSLATORS: This is when the pack was not overwritten
-#: ../client/pk-generate-pack.c:378
+#: ../client/pk-generate-pack.c:396
 msgid "The pack was not overwritten."
 msgstr "O pacote não foi sobrescrito"
 
 #. TRANSLATORS: This is when the temporary directory cannot be created, the directory name follows
-#: ../client/pk-generate-pack.c:391
+#: ../client/pk-generate-pack.c:409
 msgid "Failed to create directory:"
 msgstr "Falha ao criar o diretório:"
 
 #. TRANSLATORS: This is when the list of packages from the remote computer cannot be opened
-#: ../client/pk-generate-pack.c:403
+#: ../client/pk-generate-pack.c:421
 msgid "Failed to open package list."
 msgstr "Falha ao abrir a lista de pacotes"
 
 #. TRANSLATORS: The package name is being matched up to available packages
-#: ../client/pk-generate-pack.c:412
+#: ../client/pk-generate-pack.c:430
 msgid "Finding package name."
 msgstr "Localizando o nome do pacote."
 
 #. TRANSLATORS: This is when the package cannot be found in any software source. The detailed error follows
-#: ../client/pk-generate-pack.c:416
+#: ../client/pk-generate-pack.c:434
 #, c-format
 msgid "Failed to find package '%s': %s"
 msgstr "Falha ao localizar o pacote \"%s\": %s"
 
 #. TRANSLATORS: This is telling the user we are in the process of making the pack
-#: ../client/pk-generate-pack.c:424
+#: ../client/pk-generate-pack.c:442
 msgid "Creating service pack..."
 msgstr "Criando o pacote de serviços"
 
 #. TRANSLATORS: we succeeded in making the file
-#: ../client/pk-generate-pack.c:439
+#: ../client/pk-generate-pack.c:457
 #, c-format
 msgid "Service pack created '%s'"
 msgstr "Pacote de serviços \"%s\" criado"
 
 #. TRANSLATORS: we failed to make te file
-#: ../client/pk-generate-pack.c:444
+#: ../client/pk-generate-pack.c:462
 #, c-format
 msgid "Failed to create '%s': %s"
 msgstr "Falha ao criar \"%s\": %s"
 
-#: ../client/pk-monitor.c:210
+#: ../client/pk-monitor.c:236
 msgid "Failed to get daemon state"
 msgstr "Falha ao obter o estado do daemon"
 
 #. TRANSLATORS: this is a program that monitors PackageKit
-#: ../client/pk-monitor.c:296
+#: ../client/pk-monitor.c:322
 msgid "PackageKit Monitor"
 msgstr "Monitor do PackageKit"
 
@@ -759,29 +765,29 @@ msgid "Please choose a command to run"
 msgstr "Por favor, escolha um comando a ser executado"
 
 #. TRANSLATORS: tell the user what package provides the command
-#: ../contrib/command-not-found/pk-command-not-found.c:766
+#: ../contrib/command-not-found/pk-command-not-found.c:764
 msgid "The package providing this file is:"
 msgstr "O pacote que fornece esse arquivo é:"
 
 #. TRANSLATORS: as the user if we want to install a package to provide the command
-#: ../contrib/command-not-found/pk-command-not-found.c:771
+#: ../contrib/command-not-found/pk-command-not-found.c:769
 #, c-format
 msgid "Install package '%s' to provide command '%s'?"
 msgstr "Instalar pacote \"%s\" para fornecer o comando \"%s\"?"
 
 #. TRANSLATORS: Show the user a list of packages that provide this command
-#: ../contrib/command-not-found/pk-command-not-found.c:795
+#: ../contrib/command-not-found/pk-command-not-found.c:793
 msgid "Packages providing this file are:"
 msgstr "Os pacotes que fornecem esse arquivo 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:805
+#: ../contrib/command-not-found/pk-command-not-found.c:803
 msgid "Suitable packages are:"
 msgstr "Os pacotes apropriados são:"
 
 #. get selection
 #. TRANSLATORS: ask the user to choose a file to install
-#: ../contrib/command-not-found/pk-command-not-found.c:814
+#: ../contrib/command-not-found/pk-command-not-found.c:812
 msgid "Please choose a package to install"
 msgstr "Por favor, escolha um pacote a ser instalado"
 
@@ -979,92 +985,92 @@ msgid "Disabled %i debugging sources."
 msgstr "%i fontes de depuração desabilitadas."
 
 #. TRANSLATORS: couldn't open device to write
-#: ../contrib/device-rebind/pk-device-rebind.c:61
+#: ../contrib/device-rebind/pk-device-rebind.c:62
 msgid "Failed to open file"
 msgstr "Falha ao abrir o arquivo"
 
 #. TRANSLATORS: could not write to the device
-#: ../contrib/device-rebind/pk-device-rebind.c:70
+#: ../contrib/device-rebind/pk-device-rebind.c:71
 msgid "Failed to write to the file"
 msgstr "Falha ao gravar no arquivo"
 
 #. TRANSLATORS: we failed to release the current driver
-#: ../contrib/device-rebind/pk-device-rebind.c:110
-#: ../contrib/device-rebind/pk-device-rebind.c:147
+#: ../contrib/device-rebind/pk-device-rebind.c:111
+#: ../contrib/device-rebind/pk-device-rebind.c:148
 msgid "Failed to write to device"
 msgstr "Falha ao gravar no dispositivo"
 
 #. TRANSLATORS: the device could not be found in sysfs
-#: ../contrib/device-rebind/pk-device-rebind.c:175
+#: ../contrib/device-rebind/pk-device-rebind.c:176
 msgid "Device could not be found"
 msgstr "O dispositivo não pôde ser localizado"
 
 #. TRANSLATORS: we failed to release the current driver
-#: ../contrib/device-rebind/pk-device-rebind.c:202
+#: ../contrib/device-rebind/pk-device-rebind.c:203
 msgid "Failed to unregister driver"
 msgstr "Falha ao liberar o driver"
 
 #. TRANSLATORS: we failed to bind the old driver
-#: ../contrib/device-rebind/pk-device-rebind.c:211
+#: ../contrib/device-rebind/pk-device-rebind.c:212
 msgid "Failed to register driver"
 msgstr "Falha ao registrar o driver"
 
 #. TRANSLATORS: user did not specify a device sysfs path that exists
-#: ../contrib/device-rebind/pk-device-rebind.c:260
+#: ../contrib/device-rebind/pk-device-rebind.c:261
 msgid "Device path not found"
 msgstr "Caminho de dispositivo não localizado"
 
 #. TRANSLATORS: user did not specify a valid device sysfs path
-#: ../contrib/device-rebind/pk-device-rebind.c:268
+#: ../contrib/device-rebind/pk-device-rebind.c:269
 msgid "Incorrect device path specified"
 msgstr "Caminho incorreto de dispositivo especificado"
 
-#: ../contrib/device-rebind/pk-device-rebind.c:293
+#: ../contrib/device-rebind/pk-device-rebind.c:294
 msgid "Show extra debugging information"
 msgstr "Mostrar informações extras de depuração"
 
 #. command line argument, simulate what would be done, but don't actually do it
-#: ../contrib/device-rebind/pk-device-rebind.c:296
+#: ../contrib/device-rebind/pk-device-rebind.c:297
 msgid "Don't actually touch the hardware, only simulate what would be done"
 msgstr "Não lida com o hardware na realidade, apenas simula o que seria feito"
 
 #. TRANSLATORS: command line option: a list of files to install
-#: ../contrib/device-rebind/pk-device-rebind.c:299
+#: ../contrib/device-rebind/pk-device-rebind.c:300
 msgid "Device paths"
 msgstr "Caminhos de dispositivos"
 
 #. TRANSLATORS: tool that gets called when the device needs reloading after installing firmware
-#: ../contrib/device-rebind/pk-device-rebind.c:314
+#: ../contrib/device-rebind/pk-device-rebind.c:315
 msgid "PackageKit Device Reloader"
 msgstr "Recarregador de dispositivos do PackageKit"
 
 #. TRANSLATORS: user did not specify a valid device sysfs path
-#: ../contrib/device-rebind/pk-device-rebind.c:322
+#: ../contrib/device-rebind/pk-device-rebind.c:323
 msgid "You need to specify at least one valid device path"
 msgstr "Você precisa especificar pelo menos um caminho de dispositivo válido"
 
 #. TRANSLATORS: user did not specify a valid device sysfs path
-#: ../contrib/device-rebind/pk-device-rebind.c:332
+#: ../contrib/device-rebind/pk-device-rebind.c:333
 msgid "This script can only be used by the root user"
 msgstr "Este script somente pode ser usado pelo usuário root"
 
 #. TRANSLATORS: we're going to verify the path first
-#: ../contrib/device-rebind/pk-device-rebind.c:341
+#: ../contrib/device-rebind/pk-device-rebind.c:342
 msgid "Verifying device path"
 msgstr "Verificando caminho do dispositivo"
 
 #. TRANSLATORS: user did not specify a device sysfs path that exists
-#: ../contrib/device-rebind/pk-device-rebind.c:346
+#: ../contrib/device-rebind/pk-device-rebind.c:347
 msgid "Failed to verify device path"
 msgstr "Falha ao verificar o caminho do dispositivo"
 
 #. TRANSLATORS: we're going to try
-#: ../contrib/device-rebind/pk-device-rebind.c:360
+#: ../contrib/device-rebind/pk-device-rebind.c:361
 msgid "Attempting to rebind device"
 msgstr "Tentando revincular o dispositivo"
 
 #. TRANSLATORS: we failed to release the current driver
-#: ../contrib/device-rebind/pk-device-rebind.c:365
+#: ../contrib/device-rebind/pk-device-rebind.c:366
 msgid "Failed to rebind device"
 msgstr "Falha ao revincular o dispositivo"
 
@@ -1980,224 +1986,311 @@ msgstr "Mostrar opções de depuração"
 #~ msgstr ""
 #~ "Programas maliciosos podem danificar o seu computador ou causar outros "
 #~ "prejuízos."
+
 #~ msgid "Transaction failed with no error"
 #~ msgstr "A transação falhou sem erros"
+
 #~ msgid "Failed to get transaction list"
 #~ msgstr "Falha ao obter a lista da transação"
+
 #~ msgid "Please restart the application as it is being used."
 #~ msgstr "Por favor, reinicie o aplicativo que está sendo usado."
+
 #~ msgid "The package %s is already installed"
 #~ msgstr "O pacote %s já está instalado"
+
 #~ msgid "The package install was canceled!"
 #~ msgstr "A instalação do pacote foi cancelada!"
+
 #~ msgid "This tool could not install the files: %s"
 #~ msgstr "Esta ferramenta não pôde instalar os arquivos: %s"
+
 #~ msgid "This tool could not remove %s: %s"
 #~ msgstr "Esta ferramenta não pôde remover %s: %s"
+
 #~ msgid "This tool could not remove the packages: %s"
 #~ msgstr "Esta ferramente não pôde remover os pacotes: %s"
+
 #~ msgid "Proceed with additional packages?"
 #~ msgstr "Continuar com a remoção dos pacotes adicionais?"
+
 #~ msgid "The package removal was canceled!"
 #~ msgstr "A remoção do pacote foi cancelada!"
+
 #~ msgid "This tool could not download the package %s as it could not be found"
 #~ msgstr ""
 #~ "Esta ferramenta não pôde baixar o pacote %s, pois ele não foi localizado"
+
 #~ msgid "This tool could not download the packages: %s"
 #~ msgstr "Esta ferramenta não pôde baixar os pacotes: %s"
+
 #~ msgid "This tool could not update %s: %s"
 #~ msgstr "Esta ferramenta não pôde atualizar %s: %s"
+
 #~ msgid "The package update was canceled!"
 #~ msgstr "A atualização do pacote foi cancelada!"
+
 #~ msgid "This tool could not get the requirements for %s: %s"
 #~ msgstr "Esta ferramenta não pôde obter os requerimentos para %s: %s"
+
 #~ msgid "This tool could not get the dependencies for %s: %s"
 #~ msgstr "Esta ferramenta não pôde obter as dependências para %s: %s"
+
 #~ msgid "This tool could not get package details for %s: %s"
 #~ msgstr "Esta ferramenta não pôde obter os detalhes do pacote para %s: %s"
+
 #~ msgid "This tool could not find the files for %s: %s"
 #~ msgstr "Esta ferramenta não pôde localizar os arquivos para %s: %s"
+
 #~ msgid "This tool could not get the file list for %s: %s"
 #~ msgstr "Esta ferramenta não pôde obter a lista de arquivos para %s: %s"
+
 #~ msgid "File already exists: %s"
 #~ msgstr "O arquivo já existe: %s"
+
 #~ msgid "This tool could not get package list: %s"
 #~ msgstr "Esta ferramente não pôde obter a lista de pacotes: %s"
+
 #~ msgid "Failed to save to disk"
 #~ msgstr "Falha ao salvar no disco"
+
 #~ msgid "File does not exist: %s"
 #~ msgstr "O arquivo não existe: %s"
+
 #~ msgid "Packages to add"
 #~ msgstr "Pacotes a serem adicionados"
+
 #~ msgid "Packages to remove"
 #~ msgstr "Pacotes a serem removidos"
+
 #~ msgid "No new packages need to be installed"
 #~ msgstr "Nenhum pacote novo precisa ser instalado"
+
 #~ msgid "not found."
 #~ msgstr "não encontrado."
+
 #~ msgid "No packages can be found to install"
 #~ msgstr "Nenhum pacote pôde ser localizado para instalação"
+
 #~ msgid "This tool could not find the update details for %s: %s"
 #~ msgstr ""
 #~ "Esta ferramenta não pôde localizar os detalhes de atualização para %s: %s"
+
 #~ msgid "This tool could not get the update details for %s: %s"
 #~ msgstr ""
 #~ "Esta ferramenta não pôde obter os detalhes de atualização para %s: %s"
+
 #~ msgid "Error:"
 #~ msgstr "Erro:"
+
 #~ msgid "Do you agree to this license?"
 #~ msgstr "Você concorda com a licença?"
+
 #~ msgid "The license was refused."
 #~ msgstr "A licença foi recusada."
+
 #~ msgid "This tool could not connect to system DBUS."
 #~ msgstr "Esta ferramenta não pôde conectar ao DBUS do sistema."
+
 #~ msgid "A list file name to create is required"
 #~ msgstr "O nome de arquivo da lista a ser criada é requerido"
+
 #~ msgid "A list file to open is required"
 #~ msgstr "Uma lista de arquivos a serem abertos é requerida"
+
 #~ msgid "Incorrect privileges for this operation"
 #~ msgstr "Privilégios incorretos para esta operação"
+
 #~ msgid "Cannot show the list of transactions"
 #~ msgstr "Não é possível mostrar a lista de transações"
+
 #~ msgid "The package could not be found"
 #~ msgstr "O pacote não pôde ser encontrado"
+
 #~ msgid "The action, one of 'create', 'add', or 'remove'"
 #~ msgstr "A ação, uma entre as opções \"create\", \"add\" ou \"remove\""
+
 #~ msgid "Main cache file to use (if not specififed, default is used)"
 #~ msgstr ""
 #~ "O arquivo principal de cache a ser usado (se não for especificado, o "
 #~ "padrão é usado)"
+
 #~ msgid "Source cache file to add to the main database"
 #~ msgstr "O arquivo fonte do cache para adicionar ao banco de dados principal"
+
 #~ msgid "Icon directory"
 #~ msgstr "Diretório de ícones"
+
 #~ msgid "Name of the remote repo"
 #~ msgstr "Nome do repositório remoto"
+
 #~ msgid "PackageKit Application Database Installer"
 #~ msgstr "Instalador do bancos de dados de aplicativos do PackageKit"
+
 #~ msgid "Main database file to use (if not specififed, default is used)"
 #~ msgstr ""
 #~ "Arquivo principal do banco de dados a ser usado (se não for especificado "
 #~ "o padrão é usado)"
+
 #~ msgid "You need to specify a search type, e.g. name"
 #~ msgstr "Você precisa especificar um tipo de pesquisa, p. ex. nome"
+
 #~ msgid "You need to specify a search term"
 #~ msgstr "Você precisa especificar um termo de pesquisa"
+
 #~ msgid "You need to specify a package to remove"
 #~ msgstr "Você precisa especificar um pacote a ser removido"
+
 #~ msgid "You need to specify a package name to resolve"
 #~ msgstr "Você precisa especificar um nome de pacote a ser analisado"
+
 #~ msgid "You need to specify a repository name"
 #~ msgstr "Você precisa especificar um nome de repositório"
+
 #~ msgid "You need to specify a correct role"
 #~ msgstr "Você precisa especificar um papel correto"
+
 #~ msgid "You need to specify a package to find the details for"
 #~ msgstr ""
 #~ "Você precisa especificar o pacote para o qual você quer localizar os "
 #~ "detalhes"
+
 #~ msgid "You need to specify a package to find the files for"
 #~ msgstr ""
 #~ "Você precisa especificar o pacote para o qual você quer localizar os "
 #~ "arquivos"
+
 #~ msgid "You need to specify a list file to open"
 #~ msgstr "Você precisa especificar um arquivo de lista a ser aberto"
+
 #~ msgid "This tool could not remove the packages: '%s'"
 #~ msgstr "Esta ferramente não pôde remover os pacotes: \"%s\""
+
 #~ msgid "Install local file"
 #~ msgstr "Instalar um arquivo local"
+
 #~ msgid "Okay to import key?"
 #~ msgstr "A chave pode ser importada?"
+
 #~ msgid "Did not import key"
 #~ msgstr "Não importar a chave"
+
 #~ msgid "Eula required"
 #~ msgstr "Uma Eula é necessária"
+
 #~ msgid "Do you agree?"
 #~ msgstr "Você concorda?"
+
 #~ msgid "Could not find package to remove"
 #~ msgstr "Não foi possível localizar o pacote a ser removido"
+
 #~ msgid "Could not find package to update"
 #~ msgstr "Não foi possível localizar o pacote a ser atualizado"
+
 #~ msgid "Could not find what packages require"
 #~ msgstr "Não foi possível localizar quais pacotes necessitam desse pacote"
+
 #~ msgid "Could not find details for"
 #~ msgstr "Não foi possível localizar os detalhes para"
+
 #~ msgid "failed to download: invalid package_id and/or directory"
 #~ msgstr "falha ao baixar: package_id e/ou diretório inválidos"
+
 #~ msgid "Could not find a valid metadata file"
 #~ msgstr "Não foi possível localizar um arquivo de metadados válido"
+
 #~ msgid "Okay to download the additional packages"
 #~ msgstr "Os pacotes adicionais podem ser baixados"
+
 #~ msgid "You need to specify the pack name and packages to be packed\n"
 #~ msgstr ""
 #~ "Você precisa especificar o nome do pacote de serviços e os pacotes a "
 #~ "serem incluídos\n"
+
 #~ msgid ""
 #~ "Invalid name for the service pack, Specify a name with .servicepack "
 #~ "extension\n"
 #~ msgstr ""
 #~ "Nome inválido para o pacote de serviços. Especifique um nome com a "
 #~ "extensão .servicepack\n"
+
 #~ msgid "Could not set database readonly"
 #~ msgstr "Não foi possível configurar o banco de dados para somente leitura"
+
 #~ msgid "Could not open database: %s"
 #~ msgstr "Não foi possível abrir o banco de dados: %s"
+
 #~ msgid "You probably need to run this program as the root user"
 #~ msgstr "Você provavelmente precisa executar este programa como usuário root"
+
 #~ msgid "<span color='#%06x' underline='single' size='larger'>Run %s</span>"
 #~ msgstr ""
 #~ "<span color='#%06x' underline='single' size='larger'>Executar %s</span>"
+
 #~ msgid "<big>%s</big>"
 #~ msgstr "<big>%s</big>"
+
 #~ msgid ""
 #~ "\n"
 #~ "<span color='#%06x' underline='single'>Run version %s now</span>"
 #~ msgstr ""
 #~ "\n"
 #~ "<span color='#%06x' underline='single'>Executar versão %s agora</span>"
+
 #~ msgid ""
 #~ "\n"
 #~ "<span color='#%06x' underline='single'>Run now</span>"
 #~ msgstr ""
 #~ "\n"
 #~ "<span color='#%06x' underline='single'>Executar agora</span>"
+
 #~ msgid ""
 #~ "\n"
 #~ "<span color='#%06x' underline='single'>Upgrade to version %s</span>"
 #~ msgstr ""
 #~ "\n"
 #~ "<span color='#%06x' underline='single'>Atualizar para a versão %s</span>"
+
 #~ msgid ""
 #~ "<span color='#%06x' underline='single' size='larger'>Install %s Now</span>"
 #~ msgstr ""
 #~ "<span color='#%06x' underline='single' size='larger'>Instalar %s agora</"
 #~ "span>"
+
 #~ msgid ""
 #~ "\n"
 #~ "<small>Version: %s</small>"
 #~ msgstr ""
 #~ "\n"
 #~ "<small>Versão: %s</small>"
+
 #~ msgid ""
 #~ "You need to specify the package to download and the destination directory"
 #~ msgstr ""
 #~ "Você precisa especificar o pacote a ser baixado e o diretório de destino"
+
 #~ msgid ""
 #~ "Could not find a package with that name to install, or package already "
 #~ "installed"
 #~ msgstr ""
 #~ "Não foi possível encontrar um pacote com esse nome para instalar ou o "
 #~ "pacote já está instalado"
+
 #~ msgid "Could not find a package with that name to update"
 #~ msgstr ""
 #~ "Não foi possível encontrar um pacote com esse nome para ser atualizado"
+
 #~ msgid "Authentication is required to install a local file"
 #~ msgstr "É necessário autenticar para instalar um arquivo local"
+
 #~ msgid "Authentication is required to install a security signature"
 #~ msgstr "É necessário autenticar para instalar uma assinatura de segurança"
+
 #~ msgid "Authentication is required to update all packages"
 #~ msgstr "É necessário autenticar para atualizar todos os pacotes"
+
 #~ msgid "Update all packages"
 #~ msgstr "Atualizar todos os pacotes"
+
 #~ msgid "Could not find a description for this package"
 #~ msgstr "Não foi possível encontrar uma descrição para esse pacote"
-
commit c3dbe95e503836eac0b949834d6eba8f9f6ef818
Author: Richard Hughes <richard at hughsie.com>
Date:   Fri Feb 26 11:00:39 2010 +0000

    trivial: add another thing to the planned-api-changes doc

diff --git a/docs/planned-api-changes.txt b/docs/planned-api-changes.txt
index da1e89a..c952e9b 100644
--- a/docs/planned-api-changes.txt
+++ b/docs/planned-api-changes.txt
@@ -22,4 +22,7 @@ Transaction::Details
    not installed)
  * Add popularity from 0 to 10 where 11 is unknown
  * Add a stars filter >1stars >2stars >3stars >4 stars
- 
\ No newline at end of file
+
+Python backends:
+ * Pre-split filters in backend.py, not in each backend.
+
commit ee3f32c7cf1fd4ffbc94a35f13016eef68a0d206
Author: Fabio Erculiani <lxnay at sabayon.org>
Date:   Fri Feb 26 12:18:43 2010 +0100

    entropy: update exposed public function signatures, uniform them with superclass ones

diff --git a/backends/entropy/entropyBackend.py b/backends/entropy/entropyBackend.py
index a377a45..911c7cf 100755
--- a/backends/entropy/entropyBackend.py
+++ b/backends/entropy/entropyBackend.py
@@ -808,17 +808,17 @@ class PackageKitEntropyBackend(PackageKitBaseBackend, PackageKitEntropyMixin):
                 info = INFO_AVAILABLE
         return self.package(self._etp_to_id(pkg_match), info, desc)
 
-    def get_depends(self, filters, pk_pkgs, recursive):
+    def get_depends(self, filters, package_ids, recursive):
 
         self._log_message(__name__, "get_depends: got %s and %s and %s" % (
-            filters, pk_pkgs, recursive,))
+            filters, package_ids, recursive,))
 
         self.status(STATUS_INFO)
         self.allow_cancel(True)
         self.percentage(0)
 
         pkgs = set()
-        for pk_pkg in pk_pkgs:
+        for pk_pkg in package_ids:
 
             pkg = self._id_to_etp(pk_pkg)
             if pkg is None: # wtf!
@@ -868,17 +868,17 @@ class PackageKitEntropyBackend(PackageKitBaseBackend, PackageKitEntropyMixin):
 
         self.percentage(100)
 
-    def get_details(self, pk_pkgs):
+    def get_details(self, package_ids):
 
-        self._log_message(__name__, "get_details: got %s" % (pk_pkgs,))
+        self._log_message(__name__, "get_details: got %s" % (package_ids,))
 
         self.status(STATUS_INFO)
         self.allow_cancel(True)
         self.percentage(0)
 
         count = 0
-        max_count = len(pk_pkgs)
-        for pk_pkg in pk_pkgs:
+        max_count = len(package_ids)
+        for pk_pkg in package_ids:
             count += 1
             percent = PackageKitEntropyMixin.get_percentage(count, max_count)
 
@@ -939,16 +939,16 @@ class PackageKitEntropyBackend(PackageKitBaseBackend, PackageKitEntropyMixin):
 
             self.category(nothing, cat_id, name, summary, icon)
 
-    def get_files(self, pk_pkgs):
+    def get_files(self, package_ids):
 
-        self._log_message(__name__, "get_files: got %s" % (pk_pkgs,))
+        self._log_message(__name__, "get_files: got %s" % (package_ids,))
 
         self.status(STATUS_INFO)
         self.allow_cancel(True)
         self.percentage(0)
 
         pkgs = []
-        for pk_pkg in pk_pkgs:
+        for pk_pkg in package_ids:
 
             pkg = self._id_to_etp(pk_pkg)
             if pkg is None: # wtf!
@@ -1047,17 +1047,17 @@ class PackageKitEntropyBackend(PackageKitBaseBackend, PackageKitEntropyMixin):
         for repo_id, desc, enabled, devel in metadata:
             self.repo_detail(repo_id, desc, enabled)
 
-    def get_requires(self, filters, pk_pkgs, recursive):
+    def get_requires(self, filters, package_ids, recursive):
 
         self._log_message(__name__, "get_requires: got %s and %s and %s" % (
-            filters, pk_pkgs, recursive))
+            filters, package_ids, recursive))
 
         self.status(STATUS_INFO)
         self.allow_cancel(True)
         self.percentage(0)
 
         pkgs = set()
-        for pk_pkg in pk_pkgs:
+        for pk_pkg in package_ids:
 
             pkg = self._id_to_etp(pk_pkg)
             if pkg is None: # wtf!
@@ -1099,20 +1099,20 @@ class PackageKitEntropyBackend(PackageKitBaseBackend, PackageKitEntropyMixin):
 
         self.percentage(100)
 
-    def get_update_detail(self, pk_pkgs):
+    def get_update_detail(self, package_ids):
 
         self._log_message(__name__, "get_update_detail: got %s" % (
-            pk_pkgs,))
+            package_ids,))
 
         self.status(STATUS_INFO)
         self.allow_cancel(True)
         self.percentage(0)
 
         count = 0
-        max_count = len(pk_pkgs)
+        max_count = len(package_ids)
         default_repo = self._settings['repositories']['default_repository']
         i_repo = self._entropy.installed_repository()
-        for pk_pkg in pk_pkgs:
+        for pk_pkg in package_ids:
             count += 1
             percent = PackageKitEntropyMixin.get_percentage(count, max_count)
 
@@ -1286,22 +1286,22 @@ class PackageKitEntropyBackend(PackageKitBaseBackend, PackageKitEntropyMixin):
 
         self._execute_etp_pkgs_install(pkgs, only_trusted, simulate = simulate)
 
-    def install_packages(self, only_trusted, pk_pkgs):
-        return self._install_packages(only_trusted, pk_pkgs)
+    def install_packages(self, only_trusted, package_ids):
+        return self._install_packages(only_trusted, package_ids)
 
-    def simulate_install_packages(self, pk_pkgs):
-        return self._install_packages(False, pk_pkgs, simulate = True)
+    def simulate_install_packages(self, package_ids):
+        return self._install_packages(False, package_ids, simulate = True)
 
-    def download_packages(self, directory, pk_pkgs):
+    def download_packages(self, directory, package_ids):
 
         self._log_message(__name__, "download_packages: got %s and %s" % (
-            directory, pk_pkgs,))
+            directory, package_ids,))
 
         self.status(STATUS_RUNNING)
         self.allow_cancel(True)
 
         pkgs = []
-        for pk_pkg in pk_pkgs:
+        for pk_pkg in package_ids:
             pkg = self._id_to_etp(pk_pkg)
             if pkg is None:
                 self.error(ERROR_PACKAGE_NOT_FOUND,
@@ -1342,11 +1342,11 @@ class PackageKitEntropyBackend(PackageKitBaseBackend, PackageKitEntropyMixin):
 
         self.percentage(100)
 
-    def remove_packages(self, allowdep, autoremove, pk_pkgs):
-        return self._remove_packages(allowdep, autoremove, pk_pkgs)
+    def remove_packages(self, allowdep, autoremove, package_ids):
+        return self._remove_packages(allowdep, autoremove, package_ids)
 
-    def simulate_remove_packages(self, pk_pkgs):
-        return self._remove_packages(True, False, pk_pkgs, simulate = True)
+    def simulate_remove_packages(self, package_ids):
+        return self._remove_packages(True, False, package_ids, simulate = True)
 
     def _remove_packages(self, allowdep, autoremove, pk_pkgs, simulate = False):
 
@@ -1384,10 +1384,10 @@ class PackageKitEntropyBackend(PackageKitBaseBackend, PackageKitEntropyMixin):
 
         self._log_message(__name__, "repo_enable: done")
 
-    def resolve(self, filters, search_keys):
+    def resolve(self, filters, values):
 
         self._log_message(__name__, "resolve: got %s and %s" % (
-            filters, search_keys,))
+            filters, values,))
 
         self.status(STATUS_QUERY)
         self.allow_cancel(True)
@@ -1407,7 +1407,7 @@ class PackageKitEntropyBackend(PackageKitBaseBackend, PackageKitEntropyMixin):
                 percent,))
 
             self.percentage(percent)
-            for key in search_keys:
+            for key in values:
                 pkg_ids, pkg_rc = repo_db.atomMatch(key, multiMatch = True)
                 pkgs.update((repo, x, repo_db,) for x in pkg_ids)
 
@@ -1419,10 +1419,10 @@ class PackageKitEntropyBackend(PackageKitBaseBackend, PackageKitEntropyMixin):
 
         self.percentage(100)
 
-    def search_details(self, filters, search_keys):
+    def search_details(self, filters, values):
 
         self._log_message(__name__, "search_details: got %s and %s" % (
-            filters, search_keys,))
+            filters, values,))
 
         self.status(STATUS_QUERY)
         self.allow_cancel(True)
@@ -1441,7 +1441,7 @@ class PackageKitEntropyBackend(PackageKitBaseBackend, PackageKitEntropyMixin):
                 percent,))
 
             self.percentage(percent)
-            for key in search_keys:
+            for key in values:
                 pkg_ids = repo_db.searchDescription(key,
                     just_id = True)
                 pkg_ids |= repo_db.searchHomepage(key, just_id = True)
@@ -1456,10 +1456,10 @@ class PackageKitEntropyBackend(PackageKitBaseBackend, PackageKitEntropyMixin):
 
         self.percentage(100)
 
-    def search_file(self, filters, search_keys):
+    def search_file(self, filters, values):
 
         self._log_message(__name__, "search_file: got %s and %s" % (
-            filters, search_keys,))
+            filters, values,))
 
         self.status(STATUS_QUERY)
         self.allow_cancel(True)
@@ -1480,7 +1480,7 @@ class PackageKitEntropyBackend(PackageKitBaseBackend, PackageKitEntropyMixin):
 
             self.percentage(percent)
 
-            for key in search_keys:
+            for key in values:
 
                 like = False
                 # wildcard support
@@ -1514,10 +1514,10 @@ class PackageKitEntropyBackend(PackageKitBaseBackend, PackageKitEntropyMixin):
 
         self.percentage(100)
 
-    def search_group(self, filters, groups):
+    def search_group(self, filters, values):
 
         self._log_message(__name__, "search_group: got %s and %s" % (
-            filters, groups,))
+            filters, values,))
 
         self.status(STATUS_QUERY)
         self.allow_cancel(True)
@@ -1532,7 +1532,7 @@ class PackageKitEntropyBackend(PackageKitBaseBackend, PackageKitEntropyMixin):
         all_matched_categories = sorted(all_matched_categories)
 
         selected_categories = set()
-        for group in groups:
+        for group in values:
             entropy_group = self._get_entropy_group(group)
             # group_data is None when there's no matching group
             group_data = entropy_groups.get(entropy_group)
@@ -1572,10 +1572,10 @@ class PackageKitEntropyBackend(PackageKitBaseBackend, PackageKitEntropyMixin):
         # now feed stdout
         self._pk_feed_sorted_pkgs(pkgs)
 
-    def search_name(self, filters, search_keys):
+    def search_name(self, filters, values):
 
         self._log_message(__name__, "search_name: got %s and %s" % (
-            filters, search_keys,))
+            filters, values,))
 
         self.status(STATUS_QUERY)
         self.allow_cancel(True)
@@ -1594,7 +1594,7 @@ class PackageKitEntropyBackend(PackageKitBaseBackend, PackageKitEntropyMixin):
                 percent,))
 
             self.percentage(percent)
-            for key in search_keys:
+            for key in values:
                 pkg_ids = repo_db.searchPackages(key, just_id = True)
                 pkgs.update((repo, x, repo_db,) for x in pkg_ids)
 
@@ -1606,11 +1606,11 @@ class PackageKitEntropyBackend(PackageKitBaseBackend, PackageKitEntropyMixin):
 
         self.percentage(100)
 
-    def update_packages(self, only_trusted, pk_pkgs):
-        return self._update_packages(only_trusted, pk_pkgs)
+    def update_packages(self, only_trusted, package_ids):
+        return self._update_packages(only_trusted, package_ids)
 
-    def simulate_update_packages(self, pk_pkgs):
-        return self._update_packages(False, pk_pkgs, simulate = True)
+    def simulate_update_packages(self, package_ids):
+        return self._update_packages(False, package_ids, simulate = True)
 
     def _update_packages(self, only_trusted, pk_pkgs, simulate = False):
 
commit a648024434640c4de5f9cf4769cb721910ae3660
Author: Fabio Erculiani <lxnay at sabayon.org>
Date:   Fri Feb 26 12:15:48 2010 +0100

    trivial (almost): uniform Python backend API signatures, this shouldn't affect any currently implemented backend

diff --git a/lib/python/packagekit/backend.py b/lib/python/packagekit/backend.py
index 57094bb..6751559 100644
--- a/lib/python/packagekit/backend.py
+++ b/lib/python/packagekit/backend.py
@@ -344,7 +344,7 @@ class PackageKitBaseBackend:
         '''
         self.error(ERROR_NOT_SUPPORTED, "This function is not implemented in this backend", exit=False)
 
-    def get_update_detail(self, package_ids_ids):
+    def get_update_detail(self, package_ids):
         '''
         Implement the {backend}-get-update-detail functionality
         Needed to be implemented in a sub class
@@ -400,14 +400,14 @@ class PackageKitBaseBackend:
         '''
         self.error(ERROR_NOT_SUPPORTED, "This function is not implemented in this backend", exit=False)
 
-    def install_signature(self, sigtype, key_id, package):
+    def install_signature(self, sigtype, key_id, package_id):
         '''
         Implement the {backend}-install-signature functionality
         Needed to be implemented in a sub class
         '''
         self.error(ERROR_NOT_SUPPORTED, "This function is not implemented in this backend", exit=False)
 
-    def install_files (self, only_trusted, inst_files):
+    def install_files(self, only_trusted, inst_files):
         '''
         Implement the {backend}-install_files functionality
         Install the package containing the inst_file file
@@ -415,7 +415,7 @@ class PackageKitBaseBackend:
         '''
         self.error(ERROR_NOT_SUPPORTED, "This function is not implemented in this backend", exit=False)
 
-    def resolve(self, filters, name):
+    def resolve(self, filters, values):
         '''
         Implement the {backend}-resolve functionality
         Needed to be implemented in a sub class
@@ -443,7 +443,7 @@ class PackageKitBaseBackend:
         '''
         self.error(ERROR_NOT_SUPPORTED, "This function is not implemented in this backend", exit=False)
 
-    def get_files(self, package):
+    def get_files(self, package_ids):
         '''
         Implement the {backend}-get-files functionality
         Needed to be implemented in a sub class
@@ -485,7 +485,7 @@ class PackageKitBaseBackend:
         '''
         self.error(ERROR_NOT_SUPPORTED, "This function is not implemented in this backend", exit=False)
 
-    def repo_signature_install(self, package):
+    def repo_signature_install(self, package_id):
         '''
         Implement the {backend}-repo-signature-install functionality
         Needed to be implemented in a sub class
commit 0396745e16cd8fc204ed67347db0410b9581d2a6
Author: Richard Hughes <richard at hughsie.com>
Date:   Thu Feb 25 08:59:48 2010 +0000

    Bump LT_CURRENT as we broke API this cycle

diff --git a/configure.ac b/configure.ac
index 3ff5362..3480a6e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -36,8 +36,8 @@ AC_SUBST(PK_VERSION)
 # REVISION	If the API and ABI remains the same, but bugs are fixed.
 # AGE		If libpackagekit can be linked into executables which can be
 # 		built with previous versions of this library. Don't use.
-LT_CURRENT=13
-LT_REVISION=1
+LT_CURRENT=14
+LT_REVISION=0
 LT_AGE=0
 AC_SUBST(LT_CURRENT)
 AC_SUBST(LT_REVISION)
commit 6596032cec6386375923827f828d4c0712a61d9b
Author: kristho <kristho at fedoraproject.org>
Date:   Wed Feb 24 22:37:13 2010 +0000

    Sending translation for Danish

diff --git a/po/da.po b/po/da.po
index dc550b3..7a33319 100644
--- a/po/da.po
+++ b/po/da.po
@@ -1,14 +1,14 @@
 # Danish translation of packagekit
-# Copyright (C) 2009 PackageKit
+# Copyright (C) 2009-2010 PackageKit
 # This file is distributed under the same license as the packagekit package.
-# Kris Thomsen <lakristho at gmail.com>, 2009.
+# Kris Thomsen <lakristho at gmail.com>, 2009, 2010.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: packagekit\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-07-30 19:57+0000\n"
-"PO-Revision-Date: 2009-07-31 15:26+0200\n"
+"POT-Creation-Date: 2010-02-15 15:21+0000\n"
+"PO-Revision-Date: 2010-02-24 23:36+0100\n"
 "Last-Translator: Kris Thomsen <lakristho at gmail.com>\n"
 "Language-Team: Danish <dansk at dansk-gruppen.dk>\n"
 "MIME-Version: 1.0\n"
@@ -17,232 +17,289 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
 #. TRANSLATORS: this is an atomic transaction
-#: ../client/pk-console.c:231
+#. TRANSLATORS: the role is the point of the transaction, e.g. update-system
+#: ../client/pk-console.c:175 ../client/pk-console.c:597
 msgid "Transaction"
 msgstr "Overførsel"
 
 #. TRANSLATORS: this is the time the transaction was started in system timezone
-#: ../client/pk-console.c:233
+#: ../client/pk-console.c:177
 msgid "System time"
 msgstr "Systemtid"
 
 #. TRANSLATORS: this is if the transaction succeeded or not
-#: ../client/pk-console.c:235
+#: ../client/pk-console.c:179
 msgid "Succeeded"
 msgstr "Gennemført"
 
-#. TRANSLATORS: if the repo is enabled
-#: ../client/pk-console.c:235 ../client/pk-console.c:402
+#: ../client/pk-console.c:179
 msgid "True"
 msgstr "Sandt"
 
-#: ../client/pk-console.c:235 ../client/pk-console.c:402
+#: ../client/pk-console.c:179
 msgid "False"
 msgstr "Falskt"
 
 #. 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:297
+#: ../client/pk-console.c:181 ../src/pk-polkit-action-lookup.c:332
 msgid "Role"
 msgstr "Rolle"
 
 #. TRANSLATORS: this is The duration of the transaction
-#: ../client/pk-console.c:242
+#: ../client/pk-console.c:186
 msgid "Duration"
 msgstr "Varighed"
 
-#: ../client/pk-console.c:242
+#: ../client/pk-console.c:186
 msgid "(seconds)"
 msgstr "(sekunder)"
 
 #. 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:311
+#: ../client/pk-console.c:190 ../src/pk-polkit-action-lookup.c:346
 msgid "Command line"
 msgstr "Kommandolinje"
 
 #. TRANSLATORS: this is the user ID of the user that started the action
-#: ../client/pk-console.c:248
+#: ../client/pk-console.c:192
 msgid "User ID"
 msgstr "Bruger-id"
 
 #. TRANSLATORS: this is the username, e.g. hughsie
-#: ../client/pk-console.c:255
+#: ../client/pk-console.c:199
 msgid "Username"
 msgstr "Brugernavn"
 
 #. TRANSLATORS: this is the users real name, e.g. "Richard Hughes"
-#: ../client/pk-console.c:259
+#: ../client/pk-console.c:203
 msgid "Real name"
 msgstr "Rigtige navn"
 
-#: ../client/pk-console.c:267
+#: ../client/pk-console.c:211
 msgid "Affected packages:"
 msgstr "Berørte pakker:"
 
-#: ../client/pk-console.c:269
+#: ../client/pk-console.c:213
 msgid "Affected packages: None"
 msgstr "Berørte pakker: Ingen"
 
 #. TRANSLATORS: this is the distro, e.g. Fedora 10
-#: ../client/pk-console.c:294
+#: ../client/pk-console.c:248
 msgid "Distribution"
 msgstr "Distribution"
 
 #. TRANSLATORS: this is type of update, stable or testing
-#: ../client/pk-console.c:296
+#: ../client/pk-console.c:250
 msgid "Type"
 msgstr "Type"
 
 #. 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:252 ../client/pk-console.c:291
 msgid "Summary"
 msgstr "Resumé"
 
 #. TRANSLATORS: this is the group category name
-#: ../client/pk-console.c:310
+#: ../client/pk-console.c:280
 msgid "Category"
 msgstr "Kategori"
 
 #. TRANSLATORS: this is group identifier
-#: ../client/pk-console.c:312
+#: ../client/pk-console.c:282
 msgid "ID"
 msgstr "Id"
 
 #. TRANSLATORS: this is the parent group
-#: ../client/pk-console.c:315
+#: ../client/pk-console.c:285
 msgid "Parent"
 msgstr "Overliggende"
 
 #. TRANSLATORS: this is the name of the parent group
-#: ../client/pk-console.c:318
+#: ../client/pk-console.c:288
 msgid "Name"
 msgstr "Navn"
 
 #. TRANSLATORS: this is preferred icon for the group
-#: ../client/pk-console.c:324
+#: ../client/pk-console.c:294
 msgid "Icon"
 msgstr "Ikon"
 
 #. TRANSLATORS: this is a header for the package that can be updated
-#: ../client/pk-console.c:339
+#: ../client/pk-console.c:340
 msgid "Details about the update:"
 msgstr "Detaljer om opdateringen:"
 
 #. TRANSLATORS: details about the update, package name and version
+#. TRANSLATORS: the package that is being processed
+#. TRANSLATORS: the package that is not signed by a known key
+#. TRANSLATORS: the package name that was trying to be installed
 #. TRANSLATORS: title, the names of the packages that the method is processing
-#: ../client/pk-console.c:341 ../src/pk-polkit-action-lookup.c:322
+#: ../client/pk-console.c:346 ../client/pk-console.c:616
+#: ../lib/packagekit-glib2/pk-task-text.c:126
+#: ../lib/packagekit-glib2/pk-task-text.c:208
+#: ../src/pk-polkit-action-lookup.c:357
 msgid "Package"
 msgid_plural "Packages"
 msgstr[0] "Pakke"
 msgstr[1] "Pakker"
 
 #. TRANSLATORS: details about the update, any packages that this update updates
-#: ../client/pk-console.c:344
+#: ../client/pk-console.c:349
 msgid "Updates"
 msgstr "Opdateringer"
 
 #. TRANSLATORS: details about the update, any packages that this update obsoletes
-#: ../client/pk-console.c:348
+#: ../client/pk-console.c:353
 msgid "Obsoletes"
 msgstr "Forældede"
 
 #. 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:357 ../lib/packagekit-glib2/pk-task-text.c:211
 msgid "Vendor"
 msgstr "Leverandør"
 
 #. TRANSLATORS: details about the update, the bugzilla URLs
-#: ../client/pk-console.c:356
+#: ../client/pk-console.c:361
 msgid "Bugzilla"
 msgstr "Bugzilla"
 
 #. TRANSLATORS: details about the update, the CVE URLs
-#: ../client/pk-console.c:360
+#: ../client/pk-console.c:365
 msgid "CVE"
 msgstr "CVE"
 
 #. TRANSLATORS: details about the update, if the package requires a restart
-#: ../client/pk-console.c:364
+#: ../client/pk-console.c:369
 msgid "Restart"
 msgstr "Genstart"
 
 #. TRANSLATORS: details about the update, any description of the update
-#: ../client/pk-console.c:368
+#: ../client/pk-console.c:373
 msgid "Update text"
 msgstr "Opdateringstekst"
 
 #. TRANSLATORS: details about the update, the changelog for the package
-#: ../client/pk-console.c:372
+#: ../client/pk-console.c:377
 msgid "Changes"
 msgstr "Ændringer"
 
 #. TRANSLATORS: details about the update, the ongoing state of the update
-#: ../client/pk-console.c:376
+#: ../client/pk-console.c:381
 msgid "State"
 msgstr "Status"
 
 #. TRANSLATORS: details about the update, date the update was issued
-#: ../client/pk-console.c:381
+#: ../client/pk-console.c:385
 msgid "Issued"
 msgstr "Udgivet"
 
 #. 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:389 ../lib/packagekit-glib2/pk-console-shared.c:510
 msgid "Updated"
 msgstr "Opdateret"
 
-#: ../client/pk-console.c:473 ../client/pk-console.c:475
-msgid "Percentage"
-msgstr "Procent"
+#. TRANSLATORS: if the repo is enabled
+#: ../client/pk-console.c:425
+msgid "Enabled"
+msgstr "Aktiveret"
 
-#: ../client/pk-console.c:475
-msgid "Unknown"
-msgstr "Ukendt"
+#. TRANSLATORS: if the repo is disabled
+#: ../client/pk-console.c:428
+msgid "Disabled"
+msgstr "Deaktiveret"
 
 #. TRANSLATORS: a package requires the system to be restarted
-#: ../client/pk-console.c:517
+#: ../client/pk-console.c:460
 msgid "System restart required by:"
 msgstr "Systemgenstart kræves af:"
 
 #. TRANSLATORS: a package requires the session to be restarted
-#: ../client/pk-console.c:520
+#: ../client/pk-console.c:463
 msgid "Session restart required:"
 msgstr "Sessionsgenstart kræves:"
 
 #. TRANSLATORS: a package requires the system to be restarted due to a security update
-#: ../client/pk-console.c:523
+#: ../client/pk-console.c:466
 msgid "System restart (security) required by:"
 msgstr "Systemgenstart (sikkerhed) kræves af:"
 
 #. TRANSLATORS: a package requires the session to be restarted due to a security update
-#: ../client/pk-console.c:526
+#: ../client/pk-console.c:469
 msgid "Session restart (security) required:"
 msgstr "Sessionsgenstart (sikkerhed) kræves:"
 
 #. TRANSLATORS: a package requires the application to be restarted
-#: ../client/pk-console.c:529
+#: ../client/pk-console.c:472
 msgid "Application restart required by:"
 msgstr "Programgenstart kræves af:"
 
+#. TRANSLATORS: This a list of details about the package
+#: ../client/pk-console.c:507
+msgid "Package description"
+msgstr "Pakkebeskrivelse"
+
+#. TRANSLATORS: This a message (like a little note that may be of interest) from the transaction
+#: ../client/pk-console.c:538
+msgid "Message:"
+msgstr "Besked:"
+
+#. TRANSLATORS: This where the package has no files
+#: ../client/pk-console.c:559
+msgid "No files"
+msgstr "Ingen filer"
+
+#. TRANSLATORS: This a list files contained in the package
+#: ../client/pk-console.c:564
+msgid "Package files"
+msgstr "Pakkefiler"
+
+#. TRANSLATORS: the percentage complete of the transaction
+#: ../client/pk-console.c:632
+msgid "Percentage"
+msgstr "Procent"
+
+#. TRANSLATORS: the status of the transaction (e.g. downloading)
+#: ../client/pk-console.c:650
+msgid "Status"
+msgstr "Status"
+
+#. TRANSLATORS: the results from the transaction
+#: ../client/pk-console.c:679
+msgid "Results:"
+msgstr "Resultater:"
+
+#. TRANSLATORS: we failed to get any results, which is pretty fatal in my book
+#: ../client/pk-console.c:686
+msgid "Fatal error"
+msgstr "Fatal fejl"
+
+#. TRANSLATORS: the transaction failed in a way we could not expect
+#: ../client/pk-console.c:695
+#: ../contrib/command-not-found/pk-command-not-found.c:432
+#: ../contrib/command-not-found/pk-command-not-found.c:603
+msgid "The transaction failed"
+msgstr "Overførslen kunne ikke gennemføres"
+
+#. TRANSLATORS: print a message when there are no updates
+#: ../client/pk-console.c:726
+msgid "There are no updates available at this time."
+msgstr "Der er ingen tilgængelige opdateringer i øjeblikket."
+
 #. TRANSLATORS: a package needs to restart their system
-#: ../client/pk-console.c:584
+#: ../client/pk-console.c:814
 msgid "Please restart the computer to complete the update."
 msgstr "Genstart venligst computeren for at fuldføre opdateringen."
 
 #. TRANSLATORS: a package needs to restart the session
-#: ../client/pk-console.c:587
+#: ../client/pk-console.c:817
 msgid "Please logout and login to complete the update."
 msgstr "Log venligst ud og ind igen for at fuldføre opdateringen."
 
-#. TRANSLATORS: a package needs to restart the application
-#: ../client/pk-console.c:590
-msgid "Please restart the application as it is being used."
-msgstr "Genstart venligst programmet, da det er i brug."
-
 #. TRANSLATORS: a package needs to restart their system (due to security)
-#: ../client/pk-console.c:593
+#: ../client/pk-console.c:820
 msgid ""
 "Please restart the computer to complete the update as important security "
 "updates have been installed."
@@ -251,7 +308,7 @@ msgstr ""
 "sikkerhedsopdateringer er blevet installeret."
 
 #. TRANSLATORS: a package needs to restart the session (due to security)
-#: ../client/pk-console.c:596
+#: ../client/pk-console.c:823
 msgid ""
 "Please logout and login to complete the update as important security updates "
 "have been installed."
@@ -259,488 +316,263 @@ msgstr ""
 "Log venligst ud og ind igen for at fuldføre opdateringen, eftersom vigtige "
 "sikkerhedsopdateringer er blevet installeret."
 
-#. TRANSLATORS: The package is already installed on the system
-#: ../client/pk-console.c:723
-#, c-format
-msgid "The package %s is already installed"
-msgstr "Pakken %s er allerede installeret"
-
-#. 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 "Pakken %s kunne ikke installeres: %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 "Intern fejl: %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 "Dette værktøj kunne ikke installere pakkerne: %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 "Dette værktøj kunne ikke installere filerne: %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 "Dette værktøj kunne ikke fjerne %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
+#. TRANSLATORS: The user used 'pkcon install dave.rpm' rather than 'pkcon install-local dave.rpm'
+#: ../client/pk-console.c:849
 #, c-format
-msgid "This tool could not remove the packages: %s"
-msgstr "Dette værktøj kunne ikke fjerne pakkerne: %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 "Følgende pakker er nødt til at blive fjernet:"
-
-#. 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 "Fortsæt fjernelse af ekstra pakker?"
-
-#. TRANSLATORS: We did not remove any packages
-#: ../client/pk-console.c:928
-msgid "The package removal was canceled!"
-msgstr "Fjernelsen af pakker blev annulleret!"
-
-#. 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 "Dette værktøj kunne ikke hente pakken %s fordi den ikke kunne findes"
+msgid ""
+"Extected package name, actually got file. Try using 'pkcon install-local %s' "
+"instead."
+msgstr ""
+"Forventet pakkenavn fik faktisk fil. Prøv at bruge \"pkcon install-local %s\" "
+"istedet."
 
-#. 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:857
 #, c-format
-msgid "This tool could not download the packages: %s"
-msgstr "Dette værktøj kunne ikke hente pakkerne: %s"
+msgid "This tool could not find any available package: %s"
+msgstr "Dette værktøj kunne ikke finde nogen tilgængelig pakke: %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:885
 #, c-format
-msgid "This tool could not update %s: %s"
-msgstr "Dette værktøj kunne ikke opdatere %s: %s"
+msgid "This tool could not find the installed package: %s"
+msgstr "Dette værktøj kunne ikke finde den installerede pakke: %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:913 ../client/pk-console.c:941
 #, c-format
-msgid "This tool could not get the requirements for %s: %s"
-msgstr "Dette værktøj kunne ikke hente kravene for %s: %s"
+msgid "This tool could not find the package: %s"
+msgstr "Dette værktøj kunne ikke finde pakken: %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 "Dette værktøj kunne ikke hente afhængighederne for %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 "Dette værktøj kunne ikke hente pakkedetaljer for %s: %s"
-
-#. TRANSLATORS: The package name was not found in any software sources. The detailed error follows
-#: ../client/pk-console.c:1148
-#, c-format
-msgid "This tool could not find the files for %s: %s"
-msgstr "Dette værktøj kunne ikke finde filerne til %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 "Dette værktøj kunne ikke hente fillisten for %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 "Fil findes allerede: %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 "Henter pakkeliste"
-
-#. 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 "Dette værktøj kunne ikke hente pakkeliste: %s"
-
-#. TRANSLATORS: There was an error saving the list
-#: ../client/pk-console.c:1200
-#, c-format
-msgid "Failed to save to disk"
-msgstr "Kunne ikke gemme på disk"
-
-#. 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 "Fil findes ikke: %s"
-
-#. TRANSLATORS: header to a list of packages newly added
-#: ../client/pk-console.c:1266
-msgid "Packages to add"
-msgstr "Pakker at tilføje"
-
-#. TRANSLATORS: header to a list of packages removed
-#: ../client/pk-console.c:1274
-msgid "Packages to remove"
-msgstr "Pakker at fjerne"
-
-#. TRANSLATORS: We didn't find any differences
-#: ../client/pk-console.c:1342
-#, c-format
-msgid "No new packages need to be installed"
-msgstr "Ingen nye pakker behøver at blive installeret"
-
-#. TRANSLATORS: follows a list of packages to install
-#: ../client/pk-console.c:1348
-msgid "To install"
-msgstr "At installere"
-
-#. TRANSLATORS: searching takes some time....
-#: ../client/pk-console.c:1360
-msgid "Searching for package: "
-msgstr "Søger efter pakke: "
-
-#. TRANSLATORS: package was not found -- this is the end of a string ended in ...
-#: ../client/pk-console.c:1364
-msgid "not found."
-msgstr "ikke fundet."
-
-#. 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 "Ingen pakker kunne findes til installation"
-
-#. 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 "Installerer pakker"
-
 #. 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 "Dette værktøj kunne ikke finde opdateringsdetaljer for %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
+#: ../client/pk-console.c:969 ../client/pk-console.c:997
+#: ../client/pk-console.c:1025 ../client/pk-console.c:1053
+#: ../client/pk-console.c:1081
 #, c-format
-msgid "This tool could not get the update details for %s: %s"
-msgstr "Dette værktøj kunne ikke hente opdateringsdetaljer for %s: %s"
-
-#. TRANSLATORS: This was an unhandled error, and we don't have _any_ context
-#: ../client/pk-console.c:1456
-msgid "Error:"
-msgstr "Fejl:"
-
-#. TRANSLATORS: This a list of details about the package
-#: ../client/pk-console.c:1470
-msgid "Package description"
-msgstr "Pakkebeskrivelse"
-
-#. TRANSLATORS: This a message (like a little note that may be of interest) from the transaction
-#: ../client/pk-console.c:1486
-msgid "Message:"
-msgstr "Besked:"
-
-#. TRANSLATORS: This a list files contained in the package
-#: ../client/pk-console.c:1514
-msgid "Package files"
-msgstr "Pakkefiler"
-
-#. TRANSLATORS: This where the package has no files
-#: ../client/pk-console.c:1522
-msgid "No files"
-msgstr "Ingen filer"
-
-#. 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 "Signatur til pakkearkiv kræves"
-
-#. TRANSLATORS: This a prompt asking the user to import the security key
-#: ../client/pk-console.c:1555
-msgid "Do you accept this signature?"
-msgstr "Accepterer du denne signatur?"
-
-#. TRANSLATORS: This is where the user declined the security key
-#: ../client/pk-console.c:1559
-msgid "The signature was not accepted."
-msgstr "Signaturen blev ikke accepteret."
-
-#. TRANSLATORS: This a request for a EULA
-#: ../client/pk-console.c:1593
-msgid "End user license agreement required"
-msgstr "Slutbruger licensaftale kræves"
-
-#. 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 "Accepterer du denne licens?"
-
-#. TRANSLATORS: This is where the user declined the license
-#: ../client/pk-console.c:1604
-msgid "The license was refused."
-msgstr "Licensen blev afvist."
+msgid "This tool could not find all the packages: %s"
+msgstr "Dette værktøj kunne ikke finde alle pakkerne: %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:1110
 msgid "The daemon crashed mid-transaction!"
 msgstr "Dæmonen brød sammen under overførslen!"
 
 #. TRANSLATORS: This is the header to the --help menu
-#: ../client/pk-console.c:1686
+#: ../client/pk-console.c:1144
 msgid "PackageKit Console Interface"
 msgstr "PackageKit konsolgrænseflade"
 
 #. these are commands we can use with pkcon
-#: ../client/pk-console.c:1688
+#: ../client/pk-console.c:1146
 msgid "Subcommands:"
 msgstr "Underkommandoer:"
 
-#. 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:610
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:550
-#: ../src/pk-main.c:211
-msgid "Show extra debugging information"
-msgstr "Vis ekstra fejlsøgningsinformation"
+#. TRANSLATORS: we keep a database updated with the time that an action was last executed
+#: ../client/pk-console.c:1225
+msgid "Failed to get the time since this action was last completed"
+msgstr "Kunne ikke hente tid siden denne handling sidst blev gennemført"
 
 #. TRANSLATORS: command line argument, just show the version string
-#: ../client/pk-console.c:1784 ../client/pk-monitor.c:130
+#: ../client/pk-console.c:1261 ../client/pk-monitor.c:306
 msgid "Show the program version and exit"
 msgstr "Vis programversionen og afslut"
 
 #. TRANSLATORS: command line argument, use a filter to narrow down results
-#: ../client/pk-console.c:1787
+#: ../client/pk-console.c:1264
 msgid "Set the filter, e.g. installed"
 msgstr "Sæt filteret, f.eks. installeret"
 
 #. TRANSLATORS: command line argument, work asynchronously
-#: ../client/pk-console.c:1790
+#: ../client/pk-console.c:1267
 msgid "Exit without waiting for actions to complete"
 msgstr "Afslut uden at vente på at handlingerne færdiggøres"
 
-#. 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 "Dette værktøj kunne ikke forbinde til system-DBUS."
+#. command line argument, do we ask questions
+#: ../client/pk-console.c:1270
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:527
+msgid "Install the packages without asking for confirmation"
+msgstr "Installér pakkerne uden at spørge efter bekræftelse"
+
+#. TRANSLATORS: command line argument, this command is not a priority
+#: ../client/pk-console.c:1273
+msgid "Run the command using idle network bandwidth and also using less power"
+msgstr "Kør kommandoen ved at bruge lav netværksbåndbredde, hvilket bruger mindre strøm"
+
+#. TRANSLATORS: command line argument, just output without fancy formatting
+#: ../client/pk-console.c:1276
+msgid ""
+"Print to screen a machine readable output, rather than using animated widgets"
+msgstr ""
+"Udskriv for at vise maskinlæsbart output, istedet for at bruge animerede widgets"
+
+#. TRANSLATORS: we failed to contact the daemon
+#: ../client/pk-console.c:1298
+msgid "Failed to contact PackageKit"
+msgstr "Kunne ikke kontakte PackageKit"
 
 #. TRANSLATORS: The user specified an incorrect filter
-#: ../client/pk-console.c:1907
+#: ../client/pk-console.c:1356
 msgid "The filter specified was invalid"
 msgstr "Filteret det blev angivet er ugyldigt"
 
 #. TRANSLATORS: a search type can be name, details, file, etc
-#: ../client/pk-console.c:1926
+#: ../client/pk-console.c:1375
 msgid "A search type is required, e.g. name"
 msgstr "En søgetype kræves, f.eks. navn"
 
 #. 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:1382 ../client/pk-console.c:1394
+#: ../client/pk-console.c:1406 ../client/pk-console.c:1418
 msgid "A search term is required"
 msgstr "En søgeterm kræves"
 
 #. TRANSLATORS: the search type was provided, but invalid
-#: ../client/pk-console.c:1967
+#: ../client/pk-console.c:1428
 msgid "Invalid search type"
 msgstr "Ugyldig søgetype"
 
 #. 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 "Et pakkenavn eller filnavn at installere kræves"
+#: ../client/pk-console.c:1434
+msgid "A package name to install is required"
+msgstr "Et pakkenavn til installation er påkrævet"
+
+#. TRANSLATORS: the user did not specify what they wanted to install
+#: ../client/pk-console.c:1443
+msgid "A filename to install is required"
+msgstr "Et filnavn til installation er påkrævet"
 
 #. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:1982
+#: ../client/pk-console.c:1455
 msgid "A type, key_id and package_id are required"
 msgstr "En type, nøgle_id og pakke_id kræves"
 
 #. TRANSLATORS: the user did not specify what they wanted to remove
-#: ../client/pk-console.c:1991
+#: ../client/pk-console.c:1466
 msgid "A package name to remove is required"
 msgstr "Et pakkenavn til fjernelse kræves"
 
 #. TRANSLATORS: the user did not specify anything about what to download or where
-#: ../client/pk-console.c:1999
+#: ../client/pk-console.c:1475
 msgid "A destination directory and the package names to download are required"
 msgstr "En destinationsmappe og pakkenavnene kræves for at blive hentet"
 
 #. TRANSLATORS: the directory does not exist, so we can't continue
-#: ../client/pk-console.c:2006
+#: ../client/pk-console.c:1482
 msgid "Directory not found"
 msgstr "Mappe ikke fundet"
 
 #. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:2014
+#: ../client/pk-console.c:1491
 msgid "A licence identifier (eula-id) is required"
 msgstr "En licensgenkender (eula-id) kræves"
 
 #. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:2024
+#: ../client/pk-console.c:1502
 msgid "A transaction identifier (tid) is required"
 msgstr "En overførselsgenkender (tid) kræves"
 
 #. TRANSLATORS: The user did not specify a package name
-#: ../client/pk-console.c:2041
+#: ../client/pk-console.c:1523
 msgid "A package name to resolve is required"
 msgstr "Et pakkenavn til at løse kræves"
 
 #. 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:1534 ../client/pk-console.c:1545
 msgid "A repository name is required"
 msgstr "Et pakkearkivnavn kræves"
 
 #. TRANSLATORS: The user didn't provide any data
-#: ../client/pk-console.c:2068
+#: ../client/pk-console.c:1556
 msgid "A repo name, parameter and value are required"
 msgstr "Et pakkearkivnavn, parameter og værdi kræves"
 
 #. TRANSLATORS: The user didn't specify what action to use
-#: ../client/pk-console.c:2082
+#: ../client/pk-console.c:1573
 msgid "An action, e.g. 'update-system' is required"
 msgstr "En handling, f.eks. \"update-system\" kræves"
 
 #. TRANSLATORS: The user specified an invalid action
-#: ../client/pk-console.c:2089
+#: ../client/pk-console.c:1580
 msgid "A correct role is required"
 msgstr "En korrekt rolle kræves"
 
-#. 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 "Kunne ikke hente tid siden denne handling sidst blev gennemført"
-
 #. 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:1590 ../client/pk-console.c:1605
+#: ../client/pk-console.c:1614 ../client/pk-console.c:1634
+#: ../client/pk-console.c:1643 ../client/pk-generate-pack.c:316
 msgid "A package name is required"
 msgstr "Et pakkenavn kræves"
 
 #. 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:1623
 msgid "A package provide string is required"
 msgstr "En pakke udbydningsstreng kræves"
 
-#. 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 "Et listefilnavn til at oprette kræves"
-
-#. 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 "En listefil til at åbne kræves"
-
 #. TRANSLATORS: The user tried to use an unsupported option on the command line
-#: ../client/pk-console.c:2237
+#: ../client/pk-console.c:1703
 #, c-format
 msgid "Option '%s' is not supported"
 msgstr "Indstilling \"%s\" er ikke understøttet"
 
-#. TRANSLATORS: User does not have permission to do this
-#: ../client/pk-console.c:2250
-msgid "Incorrect privileges for this operation"
-msgstr "Rettigheder for denne operation er ikke rigtige"
-
 #. TRANSLATORS: Generic failure of what they asked to do
-#: ../client/pk-console.c:2253
+#: ../client/pk-console.c:1713
 msgid "Command failed"
 msgstr "Kommando fejlede"
 
-#. TRANSLATORS: This is the state of the transaction
-#: ../client/pk-generate-pack.c:101
-msgid "Downloading"
-msgstr "Hentning"
-
-#. TRANSLATORS: This is when the main packages are being downloaded
-#: ../client/pk-generate-pack.c:121
-msgid "Downloading packages"
-msgstr "Henter pakker"
-
-#. TRANSLATORS: This is when the dependency packages are being downloaded
-#: ../client/pk-generate-pack.c:126
-msgid "Downloading dependencies"
-msgstr "Henter afhængigheder"
-
 #. 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:255
 msgid "Set the file name of dependencies to be excluded"
 msgstr "Angiv filnavnet på afhængigheder der skal ekskluderes"
 
 #. TRANSLATORS: the output location
-#: ../client/pk-generate-pack.c:191
+#: ../client/pk-generate-pack.c:258
 msgid ""
 "The output file or directory (the current directory is used if ommitted)"
 msgstr ""
 "Uddatafilen eller -mappen (den nuværende mappe bliver brugt hvis undladt)"
 
 #. TRANSLATORS: put a list of packages in the pack
-#: ../client/pk-generate-pack.c:194
+#: ../client/pk-generate-pack.c:261
 msgid "The package to be put into the service pack"
 msgstr "Pakken der skal indsættes i servicepakken"
 
 #. TRANSLATORS: put all pending updates in the pack
-#: ../client/pk-generate-pack.c:197
+#: ../client/pk-generate-pack.c:264
 msgid "Put all updates available in the service pack"
 msgstr "Indsæt alle tilgængelige opdateringer i servicepakken"
 
 #. TRANSLATORS: This is when the user fails to supply the correct arguments
-#: ../client/pk-generate-pack.c:225
+#: ../client/pk-generate-pack.c:300
 msgid "Neither --package or --updates option selected."
 msgstr "Hverken --package eller --updates tilvalg er valgt."
 
 #. TRANSLATORS: This is when the user fails to supply just one argument
-#: ../client/pk-generate-pack.c:233
+#: ../client/pk-generate-pack.c:308
 msgid "Both options selected."
 msgstr "Begge tilvalg valgt."
 
 #. TRANSLATORS: This is when the user fails to supply the output
-#: ../client/pk-generate-pack.c:249
+#: ../client/pk-generate-pack.c:324
 msgid "A output directory or file name is required"
 msgstr "En uddatamappe eller filnavn kræves"
 
+#. TRANSLATORS: This is when the dameon is not-installed/broken and fails to startup
+#: ../client/pk-generate-pack.c:342
+msgid "The dameon failed to startup"
+msgstr "Dæmonen kunne ikke startes"
+
 #. 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:353 ../client/pk-generate-pack.c:359
 msgid "The package manager cannot perform this type of operation."
 msgstr "Pakkehåndteringen kan ikke udføre denne type handling."
 
 #. TRANSLATORS: This is when the distro didn't include libarchive support into PK
-#: ../client/pk-generate-pack.c:280
+#: ../client/pk-generate-pack.c:366
 msgid ""
 "Service packs cannot be created as PackageKit was not built with libarchive "
 "support."
@@ -749,416 +581,499 @@ msgstr ""
 "understøttelse for libarchive."
 
 #. 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:377
 msgid "If specifying a file, the service pack name must end with"
 msgstr "Hvis du angiver en fil, skal servicepakken slutte med"
 
 #. TRANSLATORS: This is when file already exists
-#: ../client/pk-generate-pack.c:307
+#: ../client/pk-generate-pack.c:393
 msgid "A pack with the same name already exists, do you want to overwrite it?"
 msgstr "En pakke med samme navn findes allerede, vil du overskrive den?"
 
 #. TRANSLATORS: This is when the pack was not overwritten
-#: ../client/pk-generate-pack.c:310
+#: ../client/pk-generate-pack.c:396
 msgid "The pack was not overwritten."
 msgstr "Pakken blev ikke overskrevet."
 
 #. 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:409
 msgid "Failed to create directory:"
 msgstr "Kunne ikke oprette mappe:"
 
 #. 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:421
 msgid "Failed to open package list."
 msgstr "Kunne ikke åbne pakkeliste."
 
 #. TRANSLATORS: The package name is being matched up to available packages
-#: ../client/pk-generate-pack.c:344
+#: ../client/pk-generate-pack.c:430
 msgid "Finding package name."
 msgstr "Finder pakkenavn."
 
 #. 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:434
 #, c-format
 msgid "Failed to find package '%s': %s"
 msgstr "Kunne ikke finde pakke \"%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:442
 msgid "Creating service pack..."
 msgstr "Opretter servicepakke..."
 
 #. TRANSLATORS: we succeeded in making the file
-#: ../client/pk-generate-pack.c:372
+#: ../client/pk-generate-pack.c:457
 #, c-format
 msgid "Service pack created '%s'"
 msgstr "Servicepakke oprettet \"%s\""
 
 #. TRANSLATORS: we failed to make te file
-#: ../client/pk-generate-pack.c:377
+#: ../client/pk-generate-pack.c:462
 #, c-format
 msgid "Failed to create '%s': %s"
 msgstr "Kunne ikke oprette \"%s\": %s"
 
+#: ../client/pk-monitor.c:236
+msgid "Failed to get daemon state"
+msgstr "Kunne ikke hente status for dæmon"
+
 #. TRANSLATORS: this is a program that monitors PackageKit
-#: ../client/pk-monitor.c:146
+#: ../client/pk-monitor.c:322
 msgid "PackageKit Monitor"
 msgstr "PackageKit overvåger"
 
-#: ../client/pk-monitor.c:183
-msgid "Cannot show the list of transactions"
-msgstr "Kan ikke vise listen over overførslerne"
+#. TRANSLATORS: when we are getting data from the daemon
+#: ../contrib/browser-plugin/pk-plugin-install.c:495
+msgid "Getting package information..."
+msgstr "Henter information om pakke..."
 
-#. TRANSLATORS: The package was not found in any software sources
-#: ../client/pk-tools-common.c:118
+#. TRANSLATORS: run an applicaiton
+#: ../contrib/browser-plugin/pk-plugin-install.c:501
 #, c-format
-msgid "The package could not be found"
-msgstr "Pakken kunne ikke findes"
+msgid "Run %s"
+msgstr "Kør %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 "Mere end én pakke passede:"
+#. TRANSLATORS: show the installed version of a package
+#: ../contrib/browser-plugin/pk-plugin-install.c:507
+msgid "Installed version"
+msgstr "Installeret version"
 
-#. TRANSLATORS: This finds out which package in the list to use
-#: ../client/pk-tools-common.c:137
-msgid "Please choose the correct package: "
-msgstr "Vælg venligst den rigtige pakke: "
+#. TRANSLATORS: run the application now
+#: ../contrib/browser-plugin/pk-plugin-install.c:515
+#, c-format
+msgid "Run version %s now"
+msgstr "Kør version %s nu"
+
+#. TRANSLATORS: run the application now
+#: ../contrib/browser-plugin/pk-plugin-install.c:521
+msgid "Run now"
+msgstr "Kør nu"
 
-#: ../client/pk-tools-common.c:162
+#. TRANSLATORS: update to a new version of the package
+#: ../contrib/browser-plugin/pk-plugin-install.c:527
 #, c-format
-msgid "Please enter a number from 1 to %i: "
-msgstr "Indtast et nummer fra 1 til %i: "
+msgid "Update to version %s"
+msgstr "Opdatér til version %s"
+
+#. TRANSLATORS: To install a package
+#: ../contrib/browser-plugin/pk-plugin-install.c:533
+#, c-format
+msgid "Install %s now"
+msgstr "Installér %s nu"
+
+#. TRANSLATORS: the version of the package
+#: ../contrib/browser-plugin/pk-plugin-install.c:536
+msgid "Version"
+msgstr "Version"
+
+#. TRANSLATORS: noting found, so can't install
+#: ../contrib/browser-plugin/pk-plugin-install.c:541
+msgid "No packages found for your system"
+msgstr "Ingen pakker fundet til dit system"
+
+#. TRANSLATORS: package is being installed
+#: ../contrib/browser-plugin/pk-plugin-install.c:546
+msgid "Installing..."
+msgstr "Installerer..."
 
 #. 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 "Henter detaljer om softwarekilderne."
 
 #. 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 "Henter fillister (dette kan tage noget tid at udføre)."
 
 #. 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 "Venter på at pakkehåndteringsprogrammet låser."
 
 #. 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 "Indlæser liste over pakker."
 
 #. TRANSLATORS: we failed to find the package, this shouldn't happen
-#: ../contrib/command-not-found/pk-command-not-found.c:414
+#: ../contrib/command-not-found/pk-command-not-found.c:423
 msgid "Failed to search for file"
 msgstr "Kunne ikke søge efter fil"
 
 #. TRANSLATORS: we failed to launch the executable, the error follows
-#: ../contrib/command-not-found/pk-command-not-found.c:551
+#: ../contrib/command-not-found/pk-command-not-found.c:566
 msgid "Failed to launch:"
 msgstr "Kunne ikke starte:"
 
+#. TRANSLATORS: we failed to install the package
+#: ../contrib/command-not-found/pk-command-not-found.c:594
+msgid "Failed to install packages"
+msgstr "Kunne ikke installere pakker"
+
 #. TRANSLATORS: tool that gets called when the command is not found
-#: ../contrib/command-not-found/pk-command-not-found.c:626
+#: ../contrib/command-not-found/pk-command-not-found.c:670
 msgid "PackageKit Command Not Found"
 msgstr "PackageKit-kommando ikke fundet"
 
 #. TRANSLATORS: the prefix of all the output telling the user why it's not executing
-#: ../contrib/command-not-found/pk-command-not-found.c:652
+#: ../contrib/command-not-found/pk-command-not-found.c:699
 msgid "Command not found."
 msgstr "Kommando ikke fundet."
 
 #. TRANSLATORS: tell the user what we think the command is
-#: ../contrib/command-not-found/pk-command-not-found.c:659
+#: ../contrib/command-not-found/pk-command-not-found.c:706
 msgid "Similar command is:"
 msgstr "Lignende kommando er:"
 
 #. TRANSLATORS: Ask the user if we should run the similar command
-#: ../contrib/command-not-found/pk-command-not-found.c:668
+#: ../contrib/command-not-found/pk-command-not-found.c:716
 msgid "Run similar command:"
 msgstr "Kør lignende kommando:"
 
 #. 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:680
-#: ../contrib/command-not-found/pk-command-not-found.c:689
+#: ../contrib/command-not-found/pk-command-not-found.c:730
+#: ../contrib/command-not-found/pk-command-not-found.c:739
 msgid "Similar commands are:"
 msgstr "Lignende kommandoer er:"
 
 #. TRANSLATORS: ask the user to choose a file to run
-#: ../contrib/command-not-found/pk-command-not-found.c:696
+#: ../contrib/command-not-found/pk-command-not-found.c:746
 msgid "Please choose a command to run"
 msgstr "Vælg venligst en kommando at køre"
 
 #. TRANSLATORS: tell the user what package provides the command
-#: ../contrib/command-not-found/pk-command-not-found.c:715
+#: ../contrib/command-not-found/pk-command-not-found.c:764
 msgid "The package providing this file is:"
 msgstr "Pakken der udbyder denne fil er:"
 
 #. TRANSLATORS: as the user if we want to install a package to provide the command
-#: ../contrib/command-not-found/pk-command-not-found.c:720
+#: ../contrib/command-not-found/pk-command-not-found.c:769
 #, c-format
 msgid "Install package '%s' to provide command '%s'?"
 msgstr "Installér pakke \"%s\" for at udbyde kommando \"%s\"?"
 
 #. TRANSLATORS: Show the user a list of packages that provide this command
-#: ../contrib/command-not-found/pk-command-not-found.c:741
+#: ../contrib/command-not-found/pk-command-not-found.c:793
 msgid "Packages providing this file are:"
 msgstr "Pakker der udbyder denne fil er:"
 
 #. 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:750
+#: ../contrib/command-not-found/pk-command-not-found.c:803
 msgid "Suitable packages are:"
 msgstr "Passende pakker er:"
 
 #. get selection
 #. TRANSLATORS: ask the user to choose a file to install
-#: ../contrib/command-not-found/pk-command-not-found.c:758
+#: ../contrib/command-not-found/pk-command-not-found.c:812
 msgid "Please choose a package to install"
 msgstr "Vælg venligst en pakke at installere"
 
-#. TRANSLATORS: when we are getting data from the daemon
-#: ../contrib/browser-plugin/pk-plugin-install.c:433
-msgid "Getting package information..."
-msgstr "Henter information om pakke..."
-
-#. TRANSLATORS: run an applicaiton
-#: ../contrib/browser-plugin/pk-plugin-install.c:439
-#, c-format
-msgid "Run %s"
-msgstr "Kør %s"
-
-#. TRANSLATORS: show the installed version of a package
-#: ../contrib/browser-plugin/pk-plugin-install.c:445
-msgid "Installed version"
-msgstr "Installeret version"
-
-#. TRANSLATORS: run the application now
-#: ../contrib/browser-plugin/pk-plugin-install.c:453
-#, c-format
-msgid "Run version %s now"
-msgstr "Kør version %s nu"
-
-#. TRANSLATORS: run the application now
-#: ../contrib/browser-plugin/pk-plugin-install.c:459
-msgid "Run now"
-msgstr "Kør nu"
-
-#. 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 "Opdatér til version %s"
-
-#. TRANSLATORS: To install a package
-#: ../contrib/browser-plugin/pk-plugin-install.c:471
-#, c-format
-msgid "Install %s now"
-msgstr "Installér %s nu"
-
-#. TRANSLATORS: the version of the package
-#: ../contrib/browser-plugin/pk-plugin-install.c:474
-msgid "Version"
-msgstr "Version"
-
-#. TRANSLATORS: noting found, so can't install
-#: ../contrib/browser-plugin/pk-plugin-install.c:479
-msgid "No packages found for your system"
-msgstr "Ingen pakker fundet til dit system"
-
-#. TRANSLATORS: package is being installed
-#: ../contrib/browser-plugin/pk-plugin-install.c:484
-msgid "Installing..."
-msgstr "Installerer..."
-
 #. 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 "Starter installation"
 
 #. 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 "Kunne ikke finde pakken %s, eller pakken er allerede installeret: %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:518
 msgid ""
 "Don't actually install any packages, only simulate what would be installed"
 msgstr "Installér ikke nogen pakker, lad kun som om de ville blive installeret"
 
 #. 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:521
 msgid "Do not install dependencies of the core packages"
 msgstr "Installér ikke afhængigheder til kerne-pakkerne"
 
 #. command line argument, do we operate quietly
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:559
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:524
 msgid "Do not display information or progress"
 msgstr "Vis ikke information eller fremgang"
 
 #. 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:542
 msgid "PackageKit Debuginfo Installer"
 msgstr "PackageKit installationsprogram til fejlsøgningsinformation"
 
 #. 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:556
 #, c-format
 msgid "ERROR: Specify package names to install."
 msgstr "FEJL: Angiv pakkenavne som skal installeres."
 
 #. TRANSLATORS: we are getting the list of repositories
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:623
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:592
 #, c-format
 msgid "Getting sources list"
 msgstr "Henter liste over pakkearkiver"
 
+#. TRANSLATORS: operation was not successful
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:602
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:677
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:761
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:805
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:872
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:916
+msgid "FAILED."
+msgstr "MISLYKKEDES."
+
 #. 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:617
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:657
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:692
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:776
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:820
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:887
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:931
 #, c-format
 msgid "OK."
 msgstr "O.k."
 
 #. TRANSLATORS: tell the user what we found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:644
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:620
 #, c-format
 msgid "Found %i enabled and %i disabled sources."
 msgstr "Fandt %i aktiverede og %i deaktiverede pakkearkiver."
 
 #. TRANSLATORS: we're finding repositories that match out pattern
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:651
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:627
 #, c-format
 msgid "Finding debugging sources"
 msgstr "Finder fejlsøgningspakkearkiver"
 
 #. TRANSLATORS: tell the user what we found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:684
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:660
 #, c-format
 msgid "Found %i disabled debuginfo repos."
 msgstr "Fandt %i deaktiverede pakkearkiver med fejlsøgningsinformation."
 
 #. 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:667
 #, c-format
 msgid "Enabling debugging sources"
 msgstr "Aktiverer fejlsøgningspakkearkiver"
 
-#. 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 "MISLYKKEDES."
-
 #. TRANSLATORS: tell the user how many we enabled
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:719
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:695
 #, c-format
 msgid "Enabled %i debugging sources."
 msgstr "Aktiverede %i fejlsøgningspakkearkiver."
 
 #. 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:702
 #, c-format
 msgid "Finding debugging packages"
 msgstr "Finder fejlsøgningspakker"
 
 #. 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:714
 #, c-format
 msgid "Failed to find the package %s: %s"
 msgstr "Kunne ikke finde pakken \"%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:737
 #, c-format
 msgid "Failed to find the debuginfo package %s: %s"
 msgstr "Kunne ikke finde pakken med fejlsøgningsinformation \"%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:765
 #, c-format
 msgid "Found no packages to install."
 msgstr "Fandt ingen pakker at installere."
 
 #. 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:779
 #, c-format
 msgid "Found %i packages:"
 msgstr "Fandt %i pakker:"
 
 #. TRANSLATORS: tell the user we are searching for deps
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:819
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:795
 #, c-format
 msgid "Finding packages that depend on these packages"
 msgstr "Finder pakker som afhænger af disse pakker"
 
 #. TRANSLATORS: could not install, detailed error follows
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:832
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:808
 #, c-format
 msgid "Could not find dependant packages: %s"
 msgstr "Kunne ikke finde afhængige pakker: %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:824
 #, c-format
 msgid "Found %i extra packages."
 msgstr "Fandt %i ekstra pakker."
 
 #. TRANSLATORS: tell the user we found some more packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:852
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:828
 #, c-format
 msgid "No extra packages required."
 msgstr "Ingen ekstra pakker er krævet."
 
 #. 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:837
 #, c-format
 msgid "Found %i packages to install:"
 msgstr "Fandt %i pakker at installere:"
 
 #. 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:850
 #, c-format
 msgid "Not installing packages in simulate mode"
 msgstr "Installerer ikke pakker i simuleringstilstand"
 
+#. TRANSLATORS: we are now installing the debuginfo packages we found earlier
+#. TRANSLATORS: transaction state, installing packages
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:862
+#: ../lib/packagekit-glib2/pk-console-shared.c:282
+#, c-format
+msgid "Installing packages"
+msgstr "Installerer pakker"
+
 #. TRANSLATORS: could not install, detailed error follows
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:899
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:875
 #, c-format
 msgid "Could not install packages: %s"
 msgstr "Kunne ikke installere pakker: %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:907
 #, c-format
 msgid "Disabling sources previously enabled"
 msgstr "Deaktiverer pakkearkiver som tidligere er aktiveret"
 
 #. 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:919
 #, c-format
 msgid "Could not disable the debugging sources: %s"
 msgstr "Kunne ikke deaktivere fejlsøgningspakkearkiverne: %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:934
 #, c-format
 msgid "Disabled %i debugging sources."
 msgstr "Deaktiverede %i fejlsøgningspakkearkiver."
 
+#. TRANSLATORS: couldn't open device to write
+#: ../contrib/device-rebind/pk-device-rebind.c:62
+msgid "Failed to open file"
+msgstr "Kunne ikke åbne fil"
+
+#. TRANSLATORS: could not write to the device
+#: ../contrib/device-rebind/pk-device-rebind.c:71
+msgid "Failed to write to the file"
+msgstr "Kunne ikke skrive til fil"
+
+#. TRANSLATORS: we failed to release the current driver
+#: ../contrib/device-rebind/pk-device-rebind.c:111
+#: ../contrib/device-rebind/pk-device-rebind.c:148
+msgid "Failed to write to device"
+msgstr "Kunne ikke gemme på disk"
+
+#. TRANSLATORS: the device could not be found in sysfs
+#: ../contrib/device-rebind/pk-device-rebind.c:176
+msgid "Device could not be found"
+msgstr "Enheden kunne ikke findes"
+
+#. TRANSLATORS: we failed to release the current driver
+#: ../contrib/device-rebind/pk-device-rebind.c:203
+msgid "Failed to unregister driver"
+msgstr "Kunne ikke afregistrere driver"
+
+#. TRANSLATORS: we failed to bind the old driver
+#: ../contrib/device-rebind/pk-device-rebind.c:212
+msgid "Failed to register driver"
+msgstr "Kunne ikke registrere driver"
+
+#. TRANSLATORS: user did not specify a device sysfs path that exists
+#: ../contrib/device-rebind/pk-device-rebind.c:261
+msgid "Device path not found"
+msgstr "Enhedsstien blev ikke fundet"
+
+#. TRANSLATORS: user did not specify a valid device sysfs path
+#: ../contrib/device-rebind/pk-device-rebind.c:269
+msgid "Incorrect device path specified"
+msgstr "Ukorrekt enhedssti angivet"
+
+#: ../contrib/device-rebind/pk-device-rebind.c:294
+msgid "Show extra debugging information"
+msgstr "Vis ekstra fejlsøgningsinformation"
+
+#. command line argument, simulate what would be done, but don't actually do it
+#: ../contrib/device-rebind/pk-device-rebind.c:297
+msgid "Don't actually touch the hardware, only simulate what would be done"
+msgstr "Berører ikke hardwaren, simulerer kun hvad der vil blive gjort"
+
+#. TRANSLATORS: command line option: a list of files to install
+#: ../contrib/device-rebind/pk-device-rebind.c:300
+msgid "Device paths"
+msgstr "Enhedsstier"
+
+#. TRANSLATORS: tool that gets called when the device needs reloading after installing firmware
+#: ../contrib/device-rebind/pk-device-rebind.c:315
+msgid "PackageKit Device Reloader"
+msgstr "Genindlæser for PackageKit-enhed"
+
+#. TRANSLATORS: user did not specify a valid device sysfs path
+#: ../contrib/device-rebind/pk-device-rebind.c:323
+msgid "You need to specify at least one valid device path"
+msgstr "Du mangler at angive mindst én gyldig enhedssti"
+
+#. TRANSLATORS: user did not specify a valid device sysfs path
+#: ../contrib/device-rebind/pk-device-rebind.c:333
+msgid "This script can only be used by the root user"
+msgstr "Dette script kan kun blive brugt af administratorbrugeren (root)"
+
+#. TRANSLATORS: we're going to verify the path first
+#: ../contrib/device-rebind/pk-device-rebind.c:342
+msgid "Verifying device path"
+msgstr "Verificerer enhedssti"
+
+#. TRANSLATORS: user did not specify a device sysfs path that exists
+#: ../contrib/device-rebind/pk-device-rebind.c:347
+msgid "Failed to verify device path"
+msgstr "Kunne ikke verificere enhedssti"
+
+#. TRANSLATORS: we're going to try
+#: ../contrib/device-rebind/pk-device-rebind.c:361
+msgid "Attempting to rebind device"
+msgstr "Prøver at genbinde til enhed"
+
+#. TRANSLATORS: we failed to release the current driver
+#: ../contrib/device-rebind/pk-device-rebind.c:366
+msgid "Failed to rebind device"
+msgstr "Kunne ikke genbinde til enhed"
+
 #: ../data/packagekit-catalog.xml.in.h:1
 msgid "PackageKit Catalog"
 msgstr "PackageKit-katalog"
@@ -1171,6 +1086,607 @@ msgstr "PackageKit pakkeliste"
 msgid "PackageKit Service Pack"
 msgstr "PackageKit-servicepakke"
 
+#: ../lib/packagekit-glib2/pk-console-shared.c:59
+#, c-format
+msgid "Please enter a number from 1 to %i: "
+msgstr "Indtast et nummer fra 1 til %i: "
+
+#. TRANSLATORS: more than one package could be found that matched, to follow is a list of possible packages
+#: ../lib/packagekit-glib2/pk-console-shared.c:183
+msgid "More than one package matches:"
+msgstr "Mere end én pakke passede:"
+
+#. TRANSLATORS: This finds out which package in the list to use
+#: ../lib/packagekit-glib2/pk-console-shared.c:196
+msgid "Please choose the correct package: "
+msgstr "Vælg venligst den rigtige pakke: "
+
+#. TRANSLATORS: This is when the transaction status is not known
+#: ../lib/packagekit-glib2/pk-console-shared.c:250
+msgid "Unknown state"
+msgstr "Ukendt status"
+
+#. TRANSLATORS: transaction state, the daemon is in the process of starting
+#: ../lib/packagekit-glib2/pk-console-shared.c:254
+msgid "Starting"
+msgstr "Starter"
+
+#. TRANSLATORS: transaction state, the transaction is waiting for another to complete
+#: ../lib/packagekit-glib2/pk-console-shared.c:258
+msgid "Waiting in queue"
+msgstr "Venter i kø"
+
+#. TRANSLATORS: transaction state, just started
+#: ../lib/packagekit-glib2/pk-console-shared.c:262
+msgid "Running"
+msgstr "Kører"
+
+#. TRANSLATORS: transaction state, is querying data
+#: ../lib/packagekit-glib2/pk-console-shared.c:266
+msgid "Querying"
+msgstr "Forespørger"
+
+#. TRANSLATORS: transaction state, getting data from a server
+#: ../lib/packagekit-glib2/pk-console-shared.c:270
+msgid "Getting information"
+msgstr "Henter information"
+
+#. TRANSLATORS: transaction state, removing packages
+#: ../lib/packagekit-glib2/pk-console-shared.c:274
+msgid "Removing packages"
+msgstr "Fjerner pakker"
+
+#. TRANSLATORS: transaction state, downloading package files
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:278
+#: ../lib/packagekit-glib2/pk-console-shared.c:656
+msgid "Downloading packages"
+msgstr "Henter pakker"
+
+#. TRANSLATORS: transaction state, refreshing internal lists
+#: ../lib/packagekit-glib2/pk-console-shared.c:286
+msgid "Refreshing software list"
+msgstr "Genopfrisker liste over pakkearkiver"
+
+#. TRANSLATORS: transaction state, installing updates
+#: ../lib/packagekit-glib2/pk-console-shared.c:290
+msgid "Installing updates"
+msgstr "Installerer opdateringer"
+
+#. TRANSLATORS: transaction state, removing old packages, and cleaning config files
+#: ../lib/packagekit-glib2/pk-console-shared.c:294
+msgid "Cleaning up packages"
+msgstr "Rydder op i pakker"
+
+#. TRANSLATORS: transaction state, obsoleting old packages
+#: ../lib/packagekit-glib2/pk-console-shared.c:298
+msgid "Obsoleting packages"
+msgstr "Overflødigører pakker"
+
+#. TRANSLATORS: transaction state, checking the transaction before we do it
+#: ../lib/packagekit-glib2/pk-console-shared.c:302
+msgid "Resolving dependencies"
+msgstr "Løser afhængigheder"
+
+#. TRANSLATORS: transaction state, checking if we have all the security keys for the operation
+#: ../lib/packagekit-glib2/pk-console-shared.c:306
+msgid "Checking signatures"
+msgstr "Kontrollerer signaturer"
+
+#. TRANSLATORS: transaction state, when we return to a previous system state
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:310
+#: ../lib/packagekit-glib2/pk-console-shared.c:616
+msgid "Rolling back"
+msgstr "Ruller tilbage"
+
+#. TRANSLATORS: transaction state, when we're doing a test transaction
+#: ../lib/packagekit-glib2/pk-console-shared.c:314
+msgid "Testing changes"
+msgstr "Tester ændringer"
+
+#. TRANSLATORS: transaction state, when we're writing to the system package database
+#: ../lib/packagekit-glib2/pk-console-shared.c:318
+msgid "Committing changes"
+msgstr "Indsender ændringer"
+
+#. TRANSLATORS: transaction state, requesting data from a server
+#: ../lib/packagekit-glib2/pk-console-shared.c:322
+msgid "Requesting data"
+msgstr "Forespørger data"
+
+#. TRANSLATORS: transaction state, all done!
+#: ../lib/packagekit-glib2/pk-console-shared.c:326
+msgid "Finished"
+msgstr "Afsluttet"
+
+#. TRANSLATORS: transaction state, in the process of cancelling
+#: ../lib/packagekit-glib2/pk-console-shared.c:330
+msgid "Cancelling"
+msgstr "Annullerer"
+
+#. TRANSLATORS: transaction state, downloading metadata
+#: ../lib/packagekit-glib2/pk-console-shared.c:334
+msgid "Downloading repository information"
+msgstr "Henter information om pakkearkiv"
+
+#. TRANSLATORS: transaction state, downloading metadata
+#: ../lib/packagekit-glib2/pk-console-shared.c:338
+msgid "Downloading list of packages"
+msgstr "Henter liste over pakker"
+
+#. TRANSLATORS: transaction state, downloading metadata
+#: ../lib/packagekit-glib2/pk-console-shared.c:342
+msgid "Downloading file lists"
+msgstr "Henter fillister"
+
+#. TRANSLATORS: transaction state, downloading metadata
+#: ../lib/packagekit-glib2/pk-console-shared.c:346
+msgid "Downloading lists of changes"
+msgstr "Henter liste over ændringer"
+
+#. TRANSLATORS: transaction state, downloading metadata
+#: ../lib/packagekit-glib2/pk-console-shared.c:350
+msgid "Downloading groups"
+msgstr "Henter grupper"
+
+#. TRANSLATORS: transaction state, downloading metadata
+#: ../lib/packagekit-glib2/pk-console-shared.c:354
+msgid "Downloading update information"
+msgstr "Henter opdateringsinformation"
+
+#. TRANSLATORS: transaction state, repackaging delta files
+#: ../lib/packagekit-glib2/pk-console-shared.c:358
+msgid "Repackaging files"
+msgstr "Genpakker filer"
+
+#. TRANSLATORS: transaction state, loading databases
+#: ../lib/packagekit-glib2/pk-console-shared.c:362
+msgid "Loading cache"
+msgstr "Indlæser cache"
+
+#. TRANSLATORS: transaction state, scanning for running processes
+#: ../lib/packagekit-glib2/pk-console-shared.c:366
+msgid "Scanning applications"
+msgstr "Skanner programmer"
+
+#. TRANSLATORS: transaction state, generating a list of packages installed on the system
+#: ../lib/packagekit-glib2/pk-console-shared.c:370
+msgid "Generating package lists"
+msgstr "Genererer pakkelister"
+
+#. TRANSLATORS: transaction state, when we're waiting for the native tools to exit
+#: ../lib/packagekit-glib2/pk-console-shared.c:374
+msgid "Waiting for package manager lock"
+msgstr "Venter på at pakkehåndteringen låser"
+
+#. TRANSLATORS: transaction state, waiting for user to type in a password
+#: ../lib/packagekit-glib2/pk-console-shared.c:378
+msgid "Waiting for authentication"
+msgstr "Venter på godkendelse"
+
+#. TRANSLATORS: transaction state, we are updating the list of processes
+#: ../lib/packagekit-glib2/pk-console-shared.c:382
+msgid "Updating running applications"
+msgstr "Opdaterer kørende programmer"
+
+#. TRANSLATORS: transaction state, we are checking executable files currently in use
+#: ../lib/packagekit-glib2/pk-console-shared.c:386
+msgid "Checking applications in use"
+msgstr "Kontrollerer programmer som er i brug"
+
+#. TRANSLATORS: transaction state, we are checking for libraries currently in use
+#: ../lib/packagekit-glib2/pk-console-shared.c:390
+msgid "Checking libraries in use"
+msgstr "Kontrollerer biblioteker som er i brug"
+
+#. TRANSLATORS: transaction state, we are copying package files before or after the transaction
+#: ../lib/packagekit-glib2/pk-console-shared.c:394
+msgid "Copying files"
+msgstr "Kopierer filer"
+
+#. TRANSLATORS: The type of update
+#: ../lib/packagekit-glib2/pk-console-shared.c:412
+msgid "Trivial"
+msgstr "Triviel"
+
+#. TRANSLATORS: The type of update
+#: ../lib/packagekit-glib2/pk-console-shared.c:416
+msgid "Normal"
+msgstr "Normal"
+
+#. TRANSLATORS: The type of update
+#: ../lib/packagekit-glib2/pk-console-shared.c:420
+msgid "Important"
+msgstr "Vigtig"
+
+#. TRANSLATORS: The type of update
+#: ../lib/packagekit-glib2/pk-console-shared.c:424
+msgid "Security"
+msgstr "Sikkerhed"
+
+#. TRANSLATORS: The type of update
+#: ../lib/packagekit-glib2/pk-console-shared.c:428
+msgid "Bug fix "
+msgstr "Fejlrettelse "
+
+#. TRANSLATORS: The type of update
+#: ../lib/packagekit-glib2/pk-console-shared.c:432
+msgid "Enhancement"
+msgstr "Forbedring"
+
+#. TRANSLATORS: The type of update
+#: ../lib/packagekit-glib2/pk-console-shared.c:436
+msgid "Blocked"
+msgstr "Blokeret"
+
+#. TRANSLATORS: The state of a package
+#. TRANSLATORS: The action of the package, in past tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:441
+#: ../lib/packagekit-glib2/pk-console-shared.c:514
+msgid "Installed"
+msgstr "Installeret"
+
+#. TRANSLATORS: The state of a package, i.e. not installed
+#: ../lib/packagekit-glib2/pk-console-shared.c:446
+msgid "Available"
+msgstr "Tilgængelig"
+
+#. TRANSLATORS: The action of the package, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:464
+msgid "Downloading"
+msgstr "Hentning"
+
+#. TRANSLATORS: The action of the package, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:468
+msgid "Updating"
+msgstr "Opdaterer"
+
+#. TRANSLATORS: The action of the package, in present tense
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:472
+#: ../lib/packagekit-glib2/pk-console-shared.c:592
+msgid "Installing"
+msgstr "Installerer"
+
+#. TRANSLATORS: The action of the package, in present tense
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:476
+#: ../lib/packagekit-glib2/pk-console-shared.c:588
+msgid "Removing"
+msgstr "Fjerner"
+
+#. TRANSLATORS: The action of the package, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:480
+msgid "Cleaning up"
+msgstr "Rydder op"
+
+#. TRANSLATORS: The action of the package, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:484
+msgid "Obsoleting"
+msgstr "Forælder"
+
+#. TRANSLATORS: The action of the package, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:488
+msgid "Reinstalling"
+msgstr "Geninstallerer"
+
+#. TRANSLATORS: The action of the package, in past tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:506
+msgid "Downloaded"
+msgstr "Hentede"
+
+#. TRANSLATORS: The action of the package, in past tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:518
+msgid "Removed"
+msgstr "Fjernede"
+
+#. TRANSLATORS: The action of the package, in past tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:522
+msgid "Cleaned up"
+msgstr "Ryddede op"
+
+#. TRANSLATORS: The action of the package, in past tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:526
+msgid "Obsoleted"
+msgstr "Forældede"
+
+#. TRANSLATORS: The action of the package, in past tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:530
+msgid "Reinstalled"
+msgstr "Geninstallerede"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:548
+msgid "Unknown role type"
+msgstr "Ukendt rolletype"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:552
+msgid "Getting dependencies"
+msgstr "Henter afhængigheder"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:556
+msgid "Getting update details"
+msgstr "Henter opdateringsdetaljer"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:560
+msgid "Getting details"
+msgstr "Henter detaljer"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:564
+msgid "Getting requires"
+msgstr "Henter afhængigheder"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:568
+msgid "Getting updates"
+msgstr "Henter opdateringer"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:572
+msgid "Searching by details"
+msgstr "Søger efter detaljer"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:576
+msgid "Searching by file"
+msgstr "Søger efter fil"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:580
+msgid "Searching groups"
+msgstr "Søger efter grupper"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:584
+msgid "Searching by name"
+msgstr "Søger efter navn"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:596
+msgid "Installing files"
+msgstr "Installerer filer"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:600
+msgid "Refreshing cache"
+msgstr "Genopfrisker cache"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:604
+msgid "Updating packages"
+msgstr "Opdaterer pakker"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:608
+msgid "Updating system"
+msgstr "Opdaterer system"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:612
+msgid "Canceling"
+msgstr "Annullerer"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:620
+msgid "Getting repositories"
+msgstr "Henter pakkearkiver"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:624
+msgid "Enabling repository"
+msgstr "Aktiverer pakkearkiv"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:628
+msgid "Setting data"
+msgstr "Indstiller data"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:632
+msgid "Resolving"
+msgstr "Løser"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:636
+msgid "Getting file list"
+msgstr "Henter filliste"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:640
+msgid "Getting provides"
+msgstr "Henter udbydere"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:644
+msgid "Installing signature"
+msgstr "Installerer signatur"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:648
+msgid "Getting packages"
+msgstr "Henter pakker"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:652
+msgid "Accepting EULA"
+msgstr "Accepterer EULA"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:660
+msgid "Getting upgrades"
+msgstr "Henter opgraderinger"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:664
+msgid "Getting categories"
+msgstr "Henter kategorier"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:668
+msgid "Getting transactions"
+msgstr "Henter overførsler"
+
+#. 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 install"
+msgstr "Simulerer installation"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:680
+msgid "Simulating remove"
+msgstr "Simulerer fjernelse"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:684
+msgid "Simulating update"
+msgstr "Simulerer opdatering"
+
+#. TRANSLATORS: ask the user if they are comfortable installing insecure packages
+#: ../lib/packagekit-glib2/pk-task-text.c:69
+msgid "Do you want to allow installing of unsigned software?"
+msgstr "Vil du give lov til at installere usigneret software?"
+
+#. TRANSLATORS: tell the user we've not done anything
+#: ../lib/packagekit-glib2/pk-task-text.c:74
+msgid "The unsigned software will not be installed."
+msgstr "Usigneret software vil ikke blive installeret."
+
+#. TRANSLATORS: the package repository is signed by a key that is not recognised
+#: ../lib/packagekit-glib2/pk-task-text.c:123
+msgid "Software source signature required"
+msgstr "Signatur til softwarekilde er påkrævet"
+
+#. TRANSLATORS: the package repository name
+#: ../lib/packagekit-glib2/pk-task-text.c:129
+msgid "Software source name"
+msgstr "Navn på softwarekilde"
+
+#. TRANSLATORS: the key URL
+#: ../lib/packagekit-glib2/pk-task-text.c:132
+msgid "Key URL"
+msgstr "Nøgle-URL"
+
+#. TRANSLATORS: the username of the key
+#: ../lib/packagekit-glib2/pk-task-text.c:135
+msgid "Key user"
+msgstr "Nøglebruger"
+
+#. TRANSLATORS: the key ID, usually a few hex digits
+#: ../lib/packagekit-glib2/pk-task-text.c:138
+msgid "Key ID"
+msgstr "Nøgle-id"
+
+#. TRANSLATORS: the key fingerprint, again, yet more hex
+#: ../lib/packagekit-glib2/pk-task-text.c:141
+msgid "Key fingerprint"
+msgstr "Nøgle-fingeraftryk"
+
+#. TRANSLATORS: the timestamp (a bit like a machine readable time)
+#: ../lib/packagekit-glib2/pk-task-text.c:144
+msgid "Key Timestamp"
+msgstr "Nøgle-tidsstempel"
+
+#. TRANSLATORS: ask the user if they want to import
+#: ../lib/packagekit-glib2/pk-task-text.c:157
+msgid "Do you accept this signature?"
+msgstr "Accepterer du denne signatur?"
+
+#. TRANSLATORS: tell the user we've not done anything
+#: ../lib/packagekit-glib2/pk-task-text.c:162
+msgid "The signature was not accepted."
+msgstr "Signaturen blev ikke accepteret."
+
+#. TRANSLATORS: this is another name for a software licence that has to be read before installing
+#: ../lib/packagekit-glib2/pk-task-text.c:205
+msgid "End user licence agreement required"
+msgstr "Godkendelse af licensaftale for slutbruger er påkrævet"
+
+#. TRANSLATORS: the EULA text itself (long and boring)
+#: ../lib/packagekit-glib2/pk-task-text.c:214
+msgid "Agreement"
+msgstr "Aftale"
+
+#. TRANSLATORS: ask the user if they've read and accepted the EULA
+#: ../lib/packagekit-glib2/pk-task-text.c:223
+msgid "Do you accept this agreement?"
+msgstr "Accepterer du denne aftale?"
+
+#. TRANSLATORS: tell the user we've not done anything
+#: ../lib/packagekit-glib2/pk-task-text.c:228
+msgid "The agreement was not accepted."
+msgstr "Aftalen blev ikke accepteret."
+
+#. TRANSLATORS: the user needs to change media inserted into the computer
+#: ../lib/packagekit-glib2/pk-task-text.c:267
+msgid "Media change required"
+msgstr "Skift af medie er påkrævet"
+
+#. TRANSLATORS: the type, e.g. DVD, CD, etc
+#: ../lib/packagekit-glib2/pk-task-text.c:270
+msgid "Media type"
+msgstr "Medietype"
+
+#. TRANSLATORS: the media label, usually like 'disk-1of3'
+#: ../lib/packagekit-glib2/pk-task-text.c:273
+msgid "Media label"
+msgstr "Medieetiket"
+
+#. TRANSLATORS: the media description, usually like 'Fedora 12 disk 5'
+#: ../lib/packagekit-glib2/pk-task-text.c:276
+msgid "Text"
+msgstr "Tekst"
+
+#. TRANSLATORS: ask the user to insert the media
+#: ../lib/packagekit-glib2/pk-task-text.c:282
+msgid "Please insert the correct media"
+msgstr "Indsæt venligst det korrekte medie"
+
+#. TRANSLATORS: tell the user we've not done anything as they are lazy
+#: ../lib/packagekit-glib2/pk-task-text.c:287
+msgid "The correct media was not inserted."
+msgstr "Det korrekte medie blev ikke indsat."
+
+#. TRANSLATORS: When processing, we might have to remove other dependencies
+#: ../lib/packagekit-glib2/pk-task-text.c:302
+msgid "The following packages have to be removed:"
+msgstr "Følgende pakker er nødt til at blive fjernet:"
+
+#. TRANSLATORS: When processing, we might have to install other dependencies
+#: ../lib/packagekit-glib2/pk-task-text.c:307
+msgid "The following packages have to be installed:"
+msgstr "Følgende pakker er nødt til at blive installeret:"
+
+#. TRANSLATORS: When processing, we might have to update other dependencies
+#: ../lib/packagekit-glib2/pk-task-text.c:312
+msgid "The following packages have to be updated:"
+msgstr "Følgende pakker er nødt til at blive opdateret:"
+
+#. TRANSLATORS: When processing, we might have to reinstall other dependencies
+#: ../lib/packagekit-glib2/pk-task-text.c:317
+msgid "The following packages have to be reinstalled:"
+msgstr "Følgende pakker er nødt til at blive geninstalleret:"
+
+#. TRANSLATORS: When processing, we might have to downgrade other dependencies
+#: ../lib/packagekit-glib2/pk-task-text.c:322
+msgid "The following packages have to be downgraded:"
+msgstr "Følgende pakker er nødt til at blive nedgraderet:"
+
+#. TRANSLATORS: ask the user if the proposed changes are okay
+#: ../lib/packagekit-glib2/pk-task-text.c:382
+msgid "Proceed with changes?"
+msgstr "Fortsæt med ændringer?"
+
+#. TRANSLATORS: tell the user we didn't do anything
+#: ../lib/packagekit-glib2/pk-task-text.c:387
+msgid "The transaction did not proceed."
+msgstr "Overførslen fortsatte ikke."
+
 #. SECURITY:
 #. - Normal users do not require admin authentication to accept new
 #. licence agreements.
@@ -1217,21 +1733,25 @@ msgid "Authentication is required to refresh the system sources"
 msgstr "Godkendelse kræves for at opdatere systemkilderne"
 
 #: ../policy/org.freedesktop.packagekit.policy.in.h:15
+msgid "Authentication is required to reload the device with a new driver"
+msgstr "Godkendelse kræves for at genindlæse enheden med en ny driver"
+
+#: ../policy/org.freedesktop.packagekit.policy.in.h:16
 msgid "Authentication is required to remove packages"
 msgstr "Godkendelse kræves for at fjerne pakker"
 
-#: ../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 "Godkendelse kræves for at rulle en transaktion tilbage"
 
-#: ../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"
 msgstr ""
 "Godkendelse kræves for at sætte netværksproxyen brugt til hentning af pakker"
 
-#: ../policy/org.freedesktop.packagekit.policy.in.h:18
+#: ../policy/org.freedesktop.packagekit.policy.in.h:19
 msgid "Authentication is required to update packages"
 msgstr "Godkendelse kræves for at opdatere pakker"
 
@@ -1240,7 +1760,7 @@ msgstr "Godkendelse kræves for at opdatere pakker"
 #. 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 "Annullér fremmed opgave"
 
@@ -1249,7 +1769,7 @@ msgstr "Annullér fremmed opgave"
 #. 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 "Ændr softwarekildeparametre"
 
@@ -1259,7 +1779,7 @@ msgstr "Ændr softwarekildeparametre"
 #. - 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 "Installér signeret pakke"
 
@@ -1269,7 +1789,7 @@ msgstr "Installér signeret pakke"
 #. 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 "Installér upålidelig lokal fil"
 
@@ -1277,11 +1797,22 @@ msgstr "Installér upålidelig lokal fil"
 #. - 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 "Opdatér systemkilder"
 
 #. 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 "Genindlæs en enhed"
+
+#. SECURITY:
 #. - Normal users require admin authentication to remove packages as
 #. this can make the system unbootable or stop other applications from
 #. working.
@@ -1290,7 +1821,7 @@ msgstr "Opdatér systemkilder"
 #. 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 "Fjern pakke"
 
@@ -1299,7 +1830,7 @@ msgstr "Fjern pakke"
 #. 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 "Rul tilbage til en tidligere overførsel"
 
@@ -1307,7 +1838,7 @@ msgstr "Rul tilbage til en tidligere overførsel"
 #. - 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 "Sæt netværksproxy"
 
@@ -1317,7 +1848,7 @@ msgstr "Sæt netværksproxy"
 #. 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 "Betro en nøgle brugt til signering af pakker"
 
@@ -1328,7 +1859,7 @@ msgstr "Betro en nøgle brugt til signering af pakker"
 #. - 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 "Opdatér pakker"
 
@@ -1357,77 +1888,216 @@ msgstr ""
 "org.freedesktop.PackageKit.conf-filen er ikke installeret i systemmappen:"
 
 #. TRANSLATORS: a backend is the system package tool, e.g. yum, apt
-#: ../src/pk-main.c:205
+#: ../src/pk-main.c:199
 msgid "Packaging backend to use, e.g. dummy"
 msgstr "Pakkemotor som bruges, f.eks. dummy"
 
 #. TRANSLATORS: if we should run in the background
-#: ../src/pk-main.c:208
+#: ../src/pk-main.c:202
 msgid "Daemonize and detach from the terminal"
 msgstr "Dæmonisér og hæft fra terminalen"
 
 #. TRANSLATORS: if we should not monitor how long we are inactive for
-#: ../src/pk-main.c:214
+#: ../src/pk-main.c:205
 msgid "Disable the idle timer"
 msgstr "Deaktivér tomgangstimeren"
 
 #. TRANSLATORS: show version
-#: ../src/pk-main.c:217
+#: ../src/pk-main.c:208
 msgid "Show version and exit"
 msgstr "Vis version og afslut"
 
 #. TRANSLATORS: exit after we've started up, used for user profiling
-#: ../src/pk-main.c:220
+#: ../src/pk-main.c:211
 msgid "Exit after a small delay"
 msgstr "Afslut efter kort pause"
 
 #. TRANSLATORS: exit straight away, used for automatic profiling
-#: ../src/pk-main.c:223
+#: ../src/pk-main.c:214
 msgid "Exit after the engine has loaded"
 msgstr "Afslut efter motoren er indlæst"
 
 #. TRANSLATORS: describing the service that is running
-#: ../src/pk-main.c:238
+#: ../src/pk-main.c:229
 msgid "PackageKit service"
 msgstr "PackageKit-tjeneste"
 
 #. TRANSLATORS: fatal error, dbus is not running
-#: ../src/pk-main.c:275
+#: ../src/pk-main.c:266
 msgid "Cannot connect to the system bus"
 msgstr "Kan ikke forbinde til systembussen"
 
 #. TRANSLATORS: cannot register on system bus, unknown reason -- geeky error follows
-#: ../src/pk-main.c:334
+#: ../src/pk-main.c:317
 msgid "Error trying to start:"
 msgstr "Kunne ikke starte:"
 
-#: ../src/pk-polkit-action-lookup.c:143
+#: ../src/pk-polkit-action-lookup.c:150
 msgid "To install debugging packages, extra sources need to be enabled"
 msgstr ""
 "For at installere fejlsøgningspakker skal ekstra pakkearkiver aktiveres"
 
 #. TRANSLATORS: is not GPG signed
-#: ../src/pk-polkit-action-lookup.c:156 ../src/pk-polkit-action-lookup.c:175
+#: ../src/pk-polkit-action-lookup.c:171 ../src/pk-polkit-action-lookup.c:190
 msgid "The software is not from a trusted source."
 msgstr "Softwaren er ikke fra en betroet kilde."
 
-#. TRANSLATORS: user has to trust provider -- I know, this sucks
-#: ../src/pk-polkit-action-lookup.c:160
+#: ../src/pk-polkit-action-lookup.c:176
 msgid "Do not update this package unless you are sure it is safe to do so."
 msgstr "Opdatér ikke denne pakke medmindre du er sikker på, at det er sikkert."
 
-#. TRANSLATORS: warn the user that all bets are off
-#: ../src/pk-polkit-action-lookup.c:164 ../src/pk-polkit-action-lookup.c:183
-msgid "Malicious software can damage your computer or cause other harm."
-msgstr "Ondsindet software kan ødelægge din computer eller gøre anden skade."
+#: ../src/pk-polkit-action-lookup.c:177
+msgid "Do not update these packages unless you are sure it is safe to do so."
+msgstr "Opdatér ikke disse pakker medmindre du er sikker på, at det er sikkert."
 
-#. TRANSLATORS: user has to trust provider -- I know, this sucks
-#: ../src/pk-polkit-action-lookup.c:179
+#: ../src/pk-polkit-action-lookup.c:195
 msgid "Do not install this package unless you are sure it is safe to do so."
 msgstr ""
 "Installér ikke denne pakke medmindre du er sikker på, at det er sikkert."
 
+#: ../src/pk-polkit-action-lookup.c:196
+msgid "Do not install these packages unless you are sure it is safe to do so."
+msgstr ""
+"Installér ikke disse pakker medmindre du er sikker på, at det er sikkert."
+
+#. TRANSLATORS: too many packages to list each one
+#: ../src/pk-polkit-action-lookup.c:273
+msgid "Many packages"
+msgstr "Mange pakker"
+
 #. TRANSLATORS: if the transaction is forced to install only trusted packages
-#: ../src/pk-polkit-action-lookup.c:304
+#: ../src/pk-polkit-action-lookup.c:339
 msgid "Only trusted"
 msgstr "Kun betroede"
+
+#. TRANSLATORS: turn on all debugging
+#: ../src/egg-debug.c:388
+msgid "Show debugging information for all files"
+msgstr "Vis fejlsøgningsinformation for alle filer"
+
+#. TRANSLATORS: a list of modules to debug
+#: ../src/egg-debug.c:459
+msgid "Debug these specific modules"
+msgstr "Fejlsøg disse specifikke moduler"
+
+#. TRANSLATORS: a list of functions to debug
+#: ../src/egg-debug.c:462
+msgid "Debug these specific functions"
+msgstr "Fejlsøg disse specifikke funktioner"
+
+#. TRANSLATORS: save to a log
+#: ../src/egg-debug.c:465
+msgid "Log debugging data to a file"
+msgstr "Log fejlsøgningsdata til en fil"
+
+#: ../src/egg-debug.c:469
+msgid "Debugging Options"
+msgstr "Fejlsøgningsindstillinger"
+
+#: ../src/egg-debug.c:469
+msgid "Show debugging options"
+msgstr "Vis fejlsøgningsindstillinger"
+
+#~ msgid "Please restart the application as it is being used."
+#~ msgstr "Genstart venligst programmet, da det er i brug."
+
+#~ msgid "The package %s is already installed"
+#~ msgstr "Pakken %s er allerede installeret"
+
+#~ msgid "This tool could not install the files: %s"
+#~ msgstr "Dette værktøj kunne ikke installere filerne: %s"
+
+#~ msgid "This tool could not remove %s: %s"
+#~ msgstr "Dette værktøj kunne ikke fjerne %s: %s"
+
+#~ msgid "This tool could not remove the packages: %s"
+#~ msgstr "Dette værktøj kunne ikke fjerne pakkerne: %s"
+
+#~ msgid "Proceed removing additional packages?"
+#~ msgstr "Fortsæt fjernelse af ekstra pakker?"
+
+#~ msgid "The package removal was canceled!"
+#~ msgstr "Fjernelsen af pakker blev annulleret!"
+
+#~ msgid "This tool could not download the package %s as it could not be found"
+#~ msgstr ""
+#~ "Dette værktøj kunne ikke hente pakken %s fordi den ikke kunne findes"
+
+#~ msgid "This tool could not download the packages: %s"
+#~ msgstr "Dette værktøj kunne ikke hente pakkerne: %s"
+
+#~ msgid "This tool could not update %s: %s"
+#~ msgstr "Dette værktøj kunne ikke opdatere %s: %s"
+
+#~ msgid "This tool could not get the requirements for %s: %s"
+#~ msgstr "Dette værktøj kunne ikke hente kravene for %s: %s"
+
+#~ msgid "This tool could not get the dependencies for %s: %s"
+#~ msgstr "Dette værktøj kunne ikke hente afhængighederne for %s: %s"
+
+#~ msgid "This tool could not get package details for %s: %s"
+#~ msgstr "Dette værktøj kunne ikke hente pakkedetaljer for %s: %s"
+
+#~ msgid "This tool could not find the files for %s: %s"
+#~ msgstr "Dette værktøj kunne ikke finde filerne til %s: %s"
+
+#~ msgid "This tool could not get the file list for %s: %s"
+#~ msgstr "Dette værktøj kunne ikke hente fillisten for %s: %s"
+
+#~ msgid "File already exists: %s"
+#~ msgstr "Fil findes allerede: %s"
+
+#~ msgid "This tool could not get package list: %s"
+#~ msgstr "Dette værktøj kunne ikke hente pakkeliste: %s"
+
+#~ msgid "File does not exist: %s"
+#~ msgstr "Fil findes ikke: %s"
+
+#~ msgid "Packages to add"
+#~ msgstr "Pakker at tilføje"
+
+#~ msgid "Packages to remove"
+#~ msgstr "Pakker at fjerne"
+
+#~ msgid "No new packages need to be installed"
+#~ msgstr "Ingen nye pakker behøver at blive installeret"
+
+#~ msgid "not found."
+#~ msgstr "ikke fundet."
+
+#~ msgid "No packages can be found to install"
+#~ msgstr "Ingen pakker kunne findes til installation"
+
+#~ msgid "This tool could not find the update details for %s: %s"
+#~ msgstr "Dette værktøj kunne ikke finde opdateringsdetaljer for %s: %s"
+
+#~ msgid "This tool could not get the update details for %s: %s"
+#~ msgstr "Dette værktøj kunne ikke hente opdateringsdetaljer for %s: %s"
+
+#~ msgid "Error:"
+#~ msgstr "Fejl:"
+
+#~ msgid "Do you agree to this license?"
+#~ msgstr "Accepterer du denne licens?"
+
+#~ msgid "The license was refused."
+#~ msgstr "Licensen blev afvist."
+
+#~ msgid "This tool could not connect to system DBUS."
+#~ msgstr "Dette værktøj kunne ikke forbinde til system-DBUS."
+
+#~ msgid "A list file name to create is required"
+#~ msgstr "Et listefilnavn til at oprette kræves"
+
+#~ msgid "A list file to open is required"
+#~ msgstr "En listefil til at åbne kræves"
+
+#~ msgid "Incorrect privileges for this operation"
+#~ msgstr "Rettigheder for denne operation er ikke rigtige"
+
+#~ msgid "Cannot show the list of transactions"
+#~ msgstr "Kan ikke vise listen over overførslerne"
+
+#~ msgid "Malicious software can damage your computer or cause other harm."
+#~ msgstr ""
+#~ "Ondsindet software kan ødelægge din computer eller gøre anden skade."
commit 80252871424fb2b35dc95718320b8ff5a53dab50
Author: Daniel Nicoletti <dantti85-pk at yahoo.com.br>
Date:   Wed Feb 24 18:39:51 2010 -0300

    Forgot lib-glib2 change about simulateRemovePackage autoremove

diff --git a/lib/packagekit-glib2/pk-client-sync.c b/lib/packagekit-glib2/pk-client-sync.c
index 0889fdd..9e9e5ad 100644
--- a/lib/packagekit-glib2/pk-client-sync.c
+++ b/lib/packagekit-glib2/pk-client-sync.c
@@ -1589,6 +1589,7 @@ pk_client_simulate_install_packages (PkClient *client, gchar **package_ids, GCan
  * pk_client_simulate_remove_packages:
  * @client: a valid #PkClient instance
  * @package_ids: a null terminated array of package_id structures such as "hal;0.0.1;i386;fedora"
+ * @autoremove: if other packages installed at the same time should be tried to remove
  * @cancellable: a #GCancellable or %NULL
  * @progress_callback: the function to run when the progress changes
  * @progress_user_data: data to pass to @progress_callback
@@ -1604,7 +1605,7 @@ pk_client_simulate_install_packages (PkClient *client, gchar **package_ids, GCan
  * Since: 0.5.3
  **/
 PkResults *
-pk_client_simulate_remove_packages (PkClient *client, gchar **package_ids, GCancellable *cancellable,
+pk_client_simulate_remove_packages (PkClient *client, gchar **package_ids, gboolean autoremove, GCancellable *cancellable,
 				    PkProgressCallback progress_callback, gpointer progress_user_data, GError **error)
 {
 	PkClientHelper *helper;
@@ -1619,7 +1620,7 @@ pk_client_simulate_remove_packages (PkClient *client, gchar **package_ids, GCanc
 	helper->error = error;
 
 	/* run async method */
-	pk_client_simulate_remove_packages_async (client, package_ids, cancellable, progress_callback, progress_user_data,
+	pk_client_simulate_remove_packages_async (client, package_ids, autoremove, cancellable, progress_callback, progress_user_data,
 						  (GAsyncReadyCallback) pk_client_generic_finish_sync, helper);
 
 	g_main_loop_run (helper->loop);
diff --git a/lib/packagekit-glib2/pk-client-sync.h b/lib/packagekit-glib2/pk-client-sync.h
index 2cebffb..213e470 100644
--- a/lib/packagekit-glib2/pk-client-sync.h
+++ b/lib/packagekit-glib2/pk-client-sync.h
@@ -266,6 +266,7 @@ PkResults	*pk_client_simulate_install_packages	(PkClient		*client,
 
 PkResults	*pk_client_simulate_remove_packages	(PkClient		*client,
 							 gchar			**package_ids,
+							 gboolean		 autoremove,
 							 GCancellable		*cancellable,
 							 PkProgressCallback	 progress_callback,
 							 gpointer		 progress_user_data,
diff --git a/lib/packagekit-glib2/pk-client.c b/lib/packagekit-glib2/pk-client.c
index 8fa0883..f010425 100644
--- a/lib/packagekit-glib2/pk-client.c
+++ b/lib/packagekit-glib2/pk-client.c
@@ -1749,6 +1749,7 @@ pk_client_set_hints_cb (DBusGProxy *proxy, DBusGProxyCall *call, PkClientState *
 		state->call = dbus_g_proxy_begin_call (state->proxy, "SimulateRemovePackages",
 						       (DBusGProxyCallNotify) pk_client_method_cb, state, NULL,
 						       G_TYPE_STRV, state->package_ids,
+						       G_TYPE_BOOLEAN, state->autoremove,
 						       G_TYPE_INVALID);
 	} else if (state->role == PK_ROLE_ENUM_SIMULATE_UPDATE_PACKAGES) {
 		state->call = dbus_g_proxy_begin_call (state->proxy, "SimulateUpdatePackages",
@@ -3541,6 +3542,7 @@ pk_client_simulate_install_packages_async (PkClient *client, gchar **package_ids
  * pk_client_simulate_remove_packages_async:
  * @client: a valid #PkClient instance
  * @package_ids: a null terminated array of package_id structures such as "hal;0.0.1;i386;fedora"
+ * @autoremove: if other packages installed at the same time should be tried to remove
  * @cancellable: a #GCancellable or %NULL
  * @progress_callback: the function to run when the progress changes
  * @progress_user_data: data to pass to @progress_callback
@@ -3552,7 +3554,7 @@ pk_client_simulate_install_packages_async (PkClient *client, gchar **package_ids
  * Since: 0.5.2
  **/
 void
-pk_client_simulate_remove_packages_async (PkClient *client, gchar **package_ids, GCancellable *cancellable,
+pk_client_simulate_remove_packages_async (PkClient *client, gchar **package_ids, gboolean		 autoremove, GCancellable *cancellable,
 					  PkProgressCallback progress_callback, gpointer progress_user_data,
 					  GAsyncReadyCallback callback_ready, gpointer user_data)
 {
@@ -3575,6 +3577,7 @@ pk_client_simulate_remove_packages_async (PkClient *client, gchar **package_ids,
 		state->cancellable_id = g_cancellable_connect (cancellable, G_CALLBACK (pk_client_cancellable_cancel_cb), state, NULL);
 	}
 	state->package_ids = g_strdupv (package_ids);
+	state->autoremove = autoremove;
 	state->progress_callback = progress_callback;
 	state->progress_user_data = progress_user_data;
 	state->progress = pk_progress_new ();
diff --git a/lib/packagekit-glib2/pk-client.h b/lib/packagekit-glib2/pk-client.h
index 36202c2..d4e93a6 100644
--- a/lib/packagekit-glib2/pk-client.h
+++ b/lib/packagekit-glib2/pk-client.h
@@ -378,6 +378,7 @@ void		 pk_client_simulate_install_packages_async (PkClient		*client,
 
 void		 pk_client_simulate_remove_packages_async (PkClient		*client,
 							 gchar			**package_ids,
+							 gboolean		 autoremove,
 							 GCancellable		*cancellable,
 							 PkProgressCallback	 progress_callback,
 							 gpointer		 progress_user_data,
diff --git a/lib/packagekit-glib2/pk-task.c b/lib/packagekit-glib2/pk-task.c
index c5b6306..d30bfa3 100644
--- a/lib/packagekit-glib2/pk-task.c
+++ b/lib/packagekit-glib2/pk-task.c
@@ -363,7 +363,7 @@ pk_task_do_async_simulate_action (PkTaskState *state)
 	} else if (state->role == PK_ROLE_ENUM_REMOVE_PACKAGES) {
 		/* simulate remove async */
 		egg_debug ("doing remove");
-		pk_client_simulate_remove_packages_async (PK_CLIENT(state->task), state->package_ids,
+		pk_client_simulate_remove_packages_async (PK_CLIENT(state->task), state->package_ids, state->autoremove,
 							  state->cancellable, state->progress_callback, state->progress_user_data,
 							  (GAsyncReadyCallback) pk_task_simulate_ready_cb, state);
 	} else if (state->role == PK_ROLE_ENUM_INSTALL_FILES) {
commit 76c3f56ce6af48245145cc4e965e230cb4e4638a
Author: Daniel Nicoletti <dantti85-pk at yahoo.com.br>
Date:   Wed Feb 24 17:16:07 2010 -0300

    Added autoremove to simulateRemovePackage

diff --git a/backends/apt/pk-backend-apt.c b/backends/apt/pk-backend-apt.c
index 8d6cd80..7927e3c 100644
--- a/backends/apt/pk-backend-apt.c
+++ b/backends/apt/pk-backend-apt.c
@@ -237,7 +237,7 @@ backend_simulate_install_packages (PkBackend *backend, gchar **package_ids)
  * backend_simulate_remove_packages:
  */
 static void
-backend_simulate_remove_packages (PkBackend *backend, gchar **package_ids)
+backend_simulate_remove_packages (PkBackend *backend, gchar **package_ids, gboolean autoremove)
 {
 	gchar *package_ids_temp;
 
diff --git a/backends/aptcc/pk-backend-aptcc.cpp b/backends/aptcc/pk-backend-aptcc.cpp
index 00ce50e..e287b72 100644
--- a/backends/aptcc/pk-backend-aptcc.cpp
+++ b/backends/aptcc/pk-backend-aptcc.cpp
@@ -1242,7 +1242,7 @@ backend_remove_packages (PkBackend *backend, gchar **package_ids, gboolean allow
  * backend_simulate_remove_packages:
  */
 static void
-backend_simulate_remove_packages (PkBackend *backend, gchar **packages)
+backend_simulate_remove_packages (PkBackend *backend, gchar **packages, gboolean autoremove)
 {
 	pk_backend_set_bool(backend, "simulate", true);
 	pk_backend_set_bool(backend, "remove", true);
diff --git a/backends/entropy/pk-backend-entropy.c b/backends/entropy/pk-backend-entropy.c
index 5bed57b..2e13491 100644
--- a/backends/entropy/pk-backend-entropy.c
+++ b/backends/entropy/pk-backend-entropy.c
@@ -506,7 +506,7 @@ backend_update_system (PkBackend *backend, gboolean only_trusted)
  * backend_simulate_remove_packages:
  */
 static void
-backend_simulate_remove_packages (PkBackend *backend, gchar **package_ids)
+backend_simulate_remove_packages (PkBackend *backend, gchar **package_ids, gboolean autoremove)
 {
     gchar *package_ids_temp;
 
diff --git a/backends/poldek/pk-backend-poldek.c b/backends/poldek/pk-backend-poldek.c
index 252362a..12480c2 100644
--- a/backends/poldek/pk-backend-poldek.c
+++ b/backends/poldek/pk-backend-poldek.c
@@ -3257,7 +3257,7 @@ backend_simulate_install_packages (PkBackend *backend, gchar **package_ids)
  * backend_simulate_remove_packages:
  **/
 static void
-backend_simulate_remove_packages (PkBackend *backend, gchar **package_ids)
+backend_simulate_remove_packages (PkBackend *backend, gchar **package_ids, gboolean autoremove)
 {
 	poldek_backend_set_allow_cancel (backend, TRUE, TRUE);
 	pb_error_clean ();
diff --git a/backends/portage/pk-backend-portage.c b/backends/portage/pk-backend-portage.c
index 12e42cb..3ba1b64 100644
--- a/backends/portage/pk-backend-portage.c
+++ b/backends/portage/pk-backend-portage.c
@@ -450,7 +450,7 @@ backend_update_system (PkBackend *backend, gboolean only_trusted)
  * backend_simulate_remove_packages:
  */
 static void
-backend_simulate_remove_packages (PkBackend *backend, gchar **package_ids)
+backend_simulate_remove_packages (PkBackend *backend, gchar **package_ids, gboolean autoremove)
 {
     gchar *package_ids_temp;
 
diff --git a/backends/test/pk-backend-test-succeed.c b/backends/test/pk-backend-test-succeed.c
index 9ec164b..8e8d004 100644
--- a/backends/test/pk-backend-test-succeed.c
+++ b/backends/test/pk-backend-test-succeed.c
@@ -365,7 +365,7 @@ backend_simulate_install_packages (PkBackend *backend, gchar **package_ids)
  * backend_simulate_remove_packages:
  */
 static void
-backend_simulate_remove_packages (PkBackend *backend, gchar **package_ids)
+backend_simulate_remove_packages (PkBackend *backend, gchar **package_ids, gboolean autoremove)
 {
 	pk_backend_finished (backend);
 }
diff --git a/backends/yum/pk-backend-yum.c b/backends/yum/pk-backend-yum.c
index 4a3a16e..cc8e17f 100644
--- a/backends/yum/pk-backend-yum.c
+++ b/backends/yum/pk-backend-yum.c
@@ -353,7 +353,7 @@ backend_install_packages (PkBackend *backend, gboolean only_trusted, gchar **pac
  * backend_simulate_remove_packages:
  */
 static void
-backend_simulate_remove_packages (PkBackend *backend, gchar **package_ids)
+backend_simulate_remove_packages (PkBackend *backend, gchar **package_ids, gboolean autoremove)
 {
 	gchar *package_ids_temp;
 
diff --git a/docs/planned-api-changes.txt b/docs/planned-api-changes.txt
index b587f6e..da1e89a 100644
--- a/docs/planned-api-changes.txt
+++ b/docs/planned-api-changes.txt
@@ -2,8 +2,6 @@ Make the transaction history have per-file hints, so we can fix stuff like
 http://bugs.freedesktop.org/show_bug.cgi?id=23904 and display deps differently
 to explicit files.
 
-SimulateRemovePackages should have autoremove
-
 installpkgs, update packages should have remove_required
 
 add properties to Transaction interface:
diff --git a/lib/packagekit-qt/src/client.cpp b/lib/packagekit-qt/src/client.cpp
index 2201c42..674c724 100644
--- a/lib/packagekit-qt/src/client.cpp
+++ b/lib/packagekit-qt/src/client.cpp
@@ -522,14 +522,14 @@ Transaction* Client::simulateInstallPackages(QSharedPointer<Package> package)
 	return simulateInstallPackages(QList<QSharedPointer<Package> >() << package);
 }
 
-Transaction* Client::simulateRemovePackages(const QList<QSharedPointer<Package> >& packages)
+Transaction* Client::simulateRemovePackages(const QList<QSharedPointer<Package> >& packages, bool autoremove)
 {
-	RUN_TRANSACTION(SimulateRemovePackages(Util::packageListToPids(packages)))
+	RUN_TRANSACTION(SimulateRemovePackages(Util::packageListToPids(packages), autoremove))
 }
 
-Transaction* Client::simulateRemovePackages(QSharedPointer<Package> package)
+Transaction* Client::simulateRemovePackages(QSharedPointer<Package> package, bool autoremove)
 {
-	return simulateRemovePackages(QList<QSharedPointer<Package> >() << package);
+	return simulateRemovePackages(QList<QSharedPointer<Package> >() << package, autoremove);
 }
 
 Transaction* Client::simulateUpdatePackages(const QList<QSharedPointer<Package> >& packages)
diff --git a/lib/packagekit-qt/src/client.h b/lib/packagekit-qt/src/client.h
index 924fb0c..3ee0417 100644
--- a/lib/packagekit-qt/src/client.h
+++ b/lib/packagekit-qt/src/client.h
@@ -512,8 +512,8 @@ public:
 	 * \note: This method might emit packages with INSTALLING, REMOVING, UPDATING,
 	 *        REINSTALLING or OBSOLETING status.
 	 */
-	Transaction* simulateRemovePackages(const QList<QSharedPointer<Package> >& packages);
-	Transaction* simulateRemovePackages(QSharedPointer<Package> package);
+	Transaction* simulateRemovePackages(const QList<QSharedPointer<Package> >& packages, bool autoremove);
+	Transaction* simulateRemovePackages(QSharedPointer<Package> package, bool autoremove);
 
 	/**
 	 * \brief Simulates an update of \p packages.
diff --git a/src/org.freedesktop.PackageKit.Transaction.xml b/src/org.freedesktop.PackageKit.Transaction.xml
index 3ccc8bc..c2ecc33 100644
--- a/src/org.freedesktop.PackageKit.Transaction.xml
+++ b/src/org.freedesktop.PackageKit.Transaction.xml
@@ -1305,6 +1305,22 @@
           </doc:summary>
         </doc:doc>
       </arg>
+      <arg type="b" name="autoremove" direction="in">
+        <doc:doc>
+          <doc:summary>
+            <doc:para>
+              Either <doc:tt>true</doc:tt> or <doc:tt>false</doc:tt>.
+              This option is only really interesting on embedded devices with a limited amount of
+              flash storage.
+              It suggests to the packagekit backend that dependencies installed at the same time as
+              the package should also be removed if they are not required by anything else.
+              For instance, if you install OpenOffice, it might download libneon as a dependency.
+              When <doc:tt>auto_remove</doc:tt> is set to true, and you remove OpenOffice then
+              libneon will also get removed automatically.
+            </doc:para>
+          </doc:summary>
+        </doc:doc>
+      </arg>
     </method>
 
     <!--*****************************************************************************************-->
diff --git a/src/pk-backend-internal.h b/src/pk-backend-internal.h
index 7452e6b..61ce5c5 100644
--- a/src/pk-backend-internal.h
+++ b/src/pk-backend-internal.h
@@ -157,7 +157,8 @@ void		pk_backend_simulate_install_files	(PkBackend	*backend,
 void		pk_backend_simulate_install_packages	(PkBackend	*backend,
 							 gchar		**package_ids);
 void		pk_backend_simulate_remove_packages	(PkBackend	*backend,
-							 gchar		**package_ids);
+							 gchar		**package_ids,
+							 gboolean	 autoremove);
 void		pk_backend_simulate_update_packages	(PkBackend	*backend,
 							 gchar		**package_ids);
 
diff --git a/src/pk-backend.c b/src/pk-backend.c
index 1163878..b7d7093 100644
--- a/src/pk-backend.c
+++ b/src/pk-backend.c
@@ -2950,11 +2950,12 @@ pk_backend_simulate_install_packages (PkBackend *backend, gchar **package_ids)
  * pk_backend_simulate_remove_packages:
  */
 void
-pk_backend_simulate_remove_packages (PkBackend *backend, gchar **package_ids)
+pk_backend_simulate_remove_packages (PkBackend *backend, gchar **package_ids, gboolean	 autoremove)
 {
 	g_return_if_fail (PK_IS_BACKEND (backend));
 	pk_store_set_strv (backend->priv->store, "package_ids", package_ids);
-	backend->priv->desc->simulate_remove_packages (backend, package_ids);
+	pk_store_set_bool (backend->priv->store, "autoremove", autoremove);
+	backend->priv->desc->simulate_remove_packages (backend, package_ids, autoremove);
 }
 
 /**
diff --git a/src/pk-backend.h b/src/pk-backend.h
index 2a93769..d55dc76 100644
--- a/src/pk-backend.h
+++ b/src/pk-backend.h
@@ -301,7 +301,8 @@ typedef struct {
 	void		(*simulate_install_packages)	(PkBackend	*backend,
 							 gchar		**package_ids);
 	void		(*simulate_remove_packages)	(PkBackend	*backend,
-							 gchar		**package_ids);
+							 gchar		**package_ids,
+							 gboolean	 autoremove);
 	void		(*simulate_update_packages)	(PkBackend	*backend,
 							 gchar		**package_ids);
 	gpointer	padding[10];
diff --git a/src/pk-transaction.c b/src/pk-transaction.c
index 737f368..10f03b9 100644
--- a/src/pk-transaction.c
+++ b/src/pk-transaction.c
@@ -1796,7 +1796,7 @@ pk_transaction_set_running (PkTransaction *transaction)
 	} else if (priv->role == PK_ROLE_ENUM_SIMULATE_REMOVE_PACKAGES) {
 		/* fallback to a method we do have */
 		if (pk_backend_is_implemented (priv->backend, PK_ROLE_ENUM_SIMULATE_REMOVE_PACKAGES)) {
-			pk_backend_simulate_remove_packages (priv->backend, priv->cached_package_ids);
+			pk_backend_simulate_remove_packages (priv->backend, priv->cached_package_ids, priv->cached_autoremove);
 		} else {
 			egg_warning ("falling back to get requires as simulate remove packages isn't implemented");
 			filters = pk_bitfield_from_enums (PK_FILTER_ENUM_INSTALLED, PK_FILTER_ENUM_NEWEST, -1);
@@ -4761,7 +4761,7 @@ pk_transaction_simulate_install_packages (PkTransaction *transaction, gchar **pa
  * pk_transaction_simulate_remove_packages:
  **/
 void
-pk_transaction_simulate_remove_packages (PkTransaction *transaction, gchar **package_ids, DBusGMethodInvocation *context)
+pk_transaction_simulate_remove_packages (PkTransaction *transaction, gchar **package_ids, gboolean autoremove, DBusGMethodInvocation *context)
 {
 	gboolean ret;
 	GError *error = NULL;
@@ -4817,6 +4817,7 @@ pk_transaction_simulate_remove_packages (PkTransaction *transaction, gchar **pac
 
 	/* save so we can run later */
 	transaction->priv->cached_package_ids = g_strdupv (package_ids);
+	transaction->priv->cached_autoremove = autoremove;
 	pk_transaction_set_role (transaction, PK_ROLE_ENUM_SIMULATE_REMOVE_PACKAGES);
 
 	/* try to commit this */
diff --git a/src/pk-transaction.h b/src/pk-transaction.h
index b586162..db758f2 100644
--- a/src/pk-transaction.h
+++ b/src/pk-transaction.h
@@ -205,6 +205,7 @@ void		 pk_transaction_simulate_install_packages	(PkTransaction  *transaction,
 								 DBusGMethodInvocation *context);
 void		 pk_transaction_simulate_remove_packages	(PkTransaction  *transaction,
 								 gchar		**package_ids,
+								 gboolean	 autoremove,
 								 DBusGMethodInvocation *context);
 void		 pk_transaction_simulate_update_packages	(PkTransaction  *transaction,
 								 gchar		**package_ids,
commit 56402de0a6fc3bbc17856c9340fdc45cf45d51e4
Merge: 3c2052a... 341d43c...
Author: Daniel Nicoletti <dantti85-pk at yahoo.com.br>
Date:   Wed Feb 24 14:32:43 2010 -0300

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

commit 3c2052aca2a99034a9e20ca260779ffb1fcaea4c
Author: Daniel Nicoletti <dantti85-pk at yahoo.com.br>
Date:   Wed Feb 24 14:31:20 2010 -0300

    Removed deprecated SetLocale

diff --git a/docs/planned-api-changes.txt b/docs/planned-api-changes.txt
index 2c8bf77..b587f6e 100644
--- a/docs/planned-api-changes.txt
+++ b/docs/planned-api-changes.txt
@@ -2,7 +2,6 @@ Make the transaction history have per-file hints, so we can fix stuff like
 http://bugs.freedesktop.org/show_bug.cgi?id=23904 and display deps differently
 to explicit files.
 
-Remove setLocale from Transaction interface
 SimulateRemovePackages should have autoremove
 
 installpkgs, update packages should have remove_required
diff --git a/src/org.freedesktop.PackageKit.Transaction.xml b/src/org.freedesktop.PackageKit.Transaction.xml
index 239d834..3ccc8bc 100644
--- a/src/org.freedesktop.PackageKit.Transaction.xml
+++ b/src/org.freedesktop.PackageKit.Transaction.xml
@@ -123,33 +123,6 @@
     </property>
 
     <!--*****************************************************************************************-->
-    <method name="SetLocale">
-      <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
-      <doc:doc>
-        <doc:description>
-          <doc:para>
-            This method allows the calling session to set a system locale for
-            the package manager so that summaries and descriptions can be
-            correctly localised.
-          </doc:para>
-          <doc:para>
-            THIS FUNCTION IS DEPRECATED. It will be removed in a future release.
-            Use <doc:tt>SetHints("locale=$code")</doc:tt> instead.
-          </doc:para>
-        </doc:description>
-      </doc:doc>
-      <arg type="s" name="code" direction="in">
-        <doc:doc>
-          <doc:summary>
-            <doc:para>
-              The locale code, for example <doc:tt>en_GB</doc:tt>.
-            </doc:para>
-          </doc:summary>
-        </doc:doc>
-      </arg>
-    </method>
-
-    <!--*****************************************************************************************-->
     <method name="SetHints">
       <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
       <doc:doc>
diff --git a/src/pk-transaction.c b/src/pk-transaction.c
index 3e46d0a..737f368 100644
--- a/src/pk-transaction.c
+++ b/src/pk-transaction.c
@@ -4464,44 +4464,6 @@ pk_transaction_search_names (PkTransaction *transaction, const gchar *filter,
 }
 
 /**
- * pk_transaction_set_locale:
- */
-void
-pk_transaction_set_locale (PkTransaction *transaction, const gchar *code, DBusGMethodInvocation *context)
-{
-	GError *error = NULL;
-	gboolean ret;
-
-	g_return_if_fail (PK_IS_TRANSACTION (transaction));
-	g_return_if_fail (transaction->priv->tid != NULL);
-
-	egg_debug ("SetLocale method called: %s", code);
-
-	/* check if the sender is the same */
-	ret = pk_transaction_verify_sender (transaction, context, &error);
-	if (!ret) {
-		/* don't release tid */
-		pk_transaction_dbus_return_error (context, error);
-		return;
-	}
-
-	/* already set? */
-	if (transaction->priv->locale != NULL) {
-		egg_warning ("Already set locale");
-		error = g_error_new (PK_TRANSACTION_ERROR, PK_TRANSACTION_ERROR_NOT_SUPPORTED,
-				     "Already set locale to %s", transaction->priv->locale);
-		pk_transaction_dbus_return_error (context, error);
-		return;
-	}
-
-	/* save so we can pass to the backend */
-	transaction->priv->locale = g_strdup (code);
-
-	/* return from async with success */
-	pk_transaction_dbus_return (context);
-}
-
-/**
  * pk_transaction_set_hint:
  *
  * Only return FALSE on error, not invalid parameter name
diff --git a/src/pk-transaction.h b/src/pk-transaction.h
index 1966b70..b586162 100644
--- a/src/pk-transaction.h
+++ b/src/pk-transaction.h
@@ -194,9 +194,6 @@ void		 pk_transaction_search_names			(PkTransaction	*transaction,
 								 const gchar	*filter,
 								 gchar		**values,
 								 DBusGMethodInvocation *context);
-void		 pk_transaction_set_locale			(PkTransaction	*transaction,
-								 const gchar	*code,
-								 DBusGMethodInvocation *context);
 void		 pk_transaction_set_hints			(PkTransaction	*transaction,
 								 gchar		**hints,
 								 DBusGMethodInvocation *context);
commit 341d43ccc181b46e70e855053a53d4b8939fd7a2
Author: Richard Hughes <richard at hughsie.com>
Date:   Wed Feb 24 17:07:23 2010 +0000

    trivial: Fix up the run-p.sh helper text

diff --git a/src/run-pk.sh b/src/run-pk.sh
index 923d73a..41fa514 100755
--- a/src/run-pk.sh
+++ b/src/run-pk.sh
@@ -14,11 +14,11 @@ fi
 
 # check some important things are installed systemwide
 if [ ! -e "/etc/dbus-1/system.d/org.freedesktop.PackageKit.conf" ]; then
-    echo "You need to install the DBus policy. Use sudo ../data/org.freedesktop.PackageKit.conf /etc/dbus-1/system.d"
+    echo "You need to install the DBus policy. Use sudo cp ../data/org.freedesktop.PackageKit.conf /etc/dbus-1/system.d"
     exit 1
 fi
 if [ ! -e "/usr/share/polkit-1/actions/org.freedesktop.packagekit.policy" ]; then
-    echo "You need to install the PolicyKit rules. Use sudo ../policy/org.freedesktop.packagekit.policy /usr/share/polkit-1/actions"
+    echo "You need to install the PolicyKit rules. Use sudo cp ../policy/org.freedesktop.packagekit.policy /usr/share/polkit-1/actions"
     exit 1
 fi
 
commit fcfcd755502cfd1c885a83e2e3a67ba12a270c90
Author: Richard Hughes <richard at hughsie.com>
Date:   Wed Feb 24 13:04:05 2010 +0000

    yum: blacklist auto-update-debuginfo when using PK tools to prevent madness. Fixes rh#566578

diff --git a/backends/yum/yumBackend.py b/backends/yum/yumBackend.py
index e2c9bd0..c8fae44 100755
--- a/backends/yum/yumBackend.py
+++ b/backends/yum/yumBackend.py
@@ -3025,7 +3025,7 @@ class PackageKitYumBase(yum.YumBase):
         # disable the PackageKit plugin when running under PackageKit
         try:
             pc = self.preconf
-            pc.disabled_plugins = ['refresh-packagekit', 'rpm-warm-cache', 'remove-with-leaves']
+            pc.disabled_plugins = ['refresh-packagekit', 'rpm-warm-cache', 'remove-with-leaves', 'auto-update-debuginfo']
         except yum.Errors.ConfigError, e:
             raise PkError(ERROR_REPO_CONFIGURATION_ERROR, _to_unicode(e))
         except ValueError, e:
commit fb4669c72d0e17065c9aecb30ddb746099bcbef2
Author: Jonathan Conder <j at skurvy.no-ip.org>
Date:   Wed Feb 24 07:57:47 2010 +0000

    Initialize relevant GError's to NULL
    
    Hi, I've been debugging a packagekit backend for my distribution (Arch Linux)
    and came across a GLib warning about setting a GError twice. I did a grep for
    uninitialized GError's and found lots in src/pk-transaction.c, which I assume
    was why the warnings occured. Attached is a patch to fix this.
    
    Signed-off-by: Richard Hughes <richard at hughsie.com>

diff --git a/src/pk-transaction.c b/src/pk-transaction.c
index 6f33b20..3e46d0a 100644
--- a/src/pk-transaction.c
+++ b/src/pk-transaction.c
@@ -2465,7 +2465,7 @@ void
 pk_transaction_accept_eula (PkTransaction *transaction, const gchar *eula_id, DBusGMethodInvocation *context)
 {
 	gboolean ret;
-	GError *error;
+	GError *error = NULL;
 
 	g_return_if_fail (PK_IS_TRANSACTION (transaction));
 	g_return_if_fail (transaction->priv->tid != NULL);
@@ -2636,7 +2636,7 @@ void
 pk_transaction_download_packages (PkTransaction *transaction, gchar **package_ids, DBusGMethodInvocation *context)
 {
 	gboolean ret;
-	GError *error;
+	GError *error = NULL;
 	gchar *package_ids_temp;
 	gchar *directory = NULL;
 	gint retval;
@@ -2727,7 +2727,7 @@ void
 pk_transaction_get_categories (PkTransaction *transaction, DBusGMethodInvocation *context)
 {
 	gboolean ret;
-	GError *error;
+	GError *error = NULL;
 
 	g_return_if_fail (PK_IS_TRANSACTION (transaction));
 	g_return_if_fail (transaction->priv->tid != NULL);
@@ -2783,7 +2783,7 @@ pk_transaction_get_depends (PkTransaction *transaction, const gchar *filter, gch
 			    gboolean recursive, DBusGMethodInvocation *context)
 {
 	gboolean ret;
-	GError *error;
+	GError *error = NULL;
 	gchar *package_ids_temp;
 	guint length;
 	guint max_length;
@@ -2870,7 +2870,7 @@ void
 pk_transaction_get_details (PkTransaction *transaction, gchar **package_ids, DBusGMethodInvocation *context)
 {
 	gboolean ret;
-	GError *error;
+	GError *error = NULL;
 	gchar *package_ids_temp;
 	guint length;
 	guint max_length;
@@ -2947,7 +2947,7 @@ void
 pk_transaction_get_distro_upgrades (PkTransaction *transaction, DBusGMethodInvocation *context)
 {
 	gboolean ret;
-	GError *error;
+	GError *error = NULL;
 
 	g_return_if_fail (PK_IS_TRANSACTION (transaction));
 	g_return_if_fail (transaction->priv->tid != NULL);
@@ -2997,7 +2997,7 @@ void
 pk_transaction_get_files (PkTransaction *transaction, gchar **package_ids, DBusGMethodInvocation *context)
 {
 	gboolean ret;
-	GError *error;
+	GError *error = NULL;
 	gchar *package_ids_temp;
 	guint length;
 	guint max_length;
@@ -3074,7 +3074,7 @@ void
 pk_transaction_get_packages (PkTransaction *transaction, const gchar *filter, DBusGMethodInvocation *context)
 {
 	gboolean ret;
-	GError *error;
+	GError *error = NULL;
 
 	g_return_if_fail (PK_IS_TRANSACTION (transaction));
 	g_return_if_fail (transaction->priv->tid != NULL);
@@ -3149,7 +3149,7 @@ void
 pk_transaction_get_repo_list (PkTransaction *transaction, const gchar *filter, DBusGMethodInvocation *context)
 {
 	gboolean ret;
-	GError *error;
+	GError *error = NULL;
 
 	g_return_if_fail (PK_IS_TRANSACTION (transaction));
 	g_return_if_fail (transaction->priv->tid != NULL);
@@ -3207,7 +3207,7 @@ pk_transaction_get_requires (PkTransaction *transaction, const gchar *filter, gc
 			     gboolean recursive, DBusGMethodInvocation *context)
 {
 	gboolean ret;
-	GError *error;
+	GError *error = NULL;
 	gchar *package_ids_temp;
 	guint length;
 	guint max_length;
@@ -3295,7 +3295,7 @@ pk_transaction_get_update_detail (PkTransaction *transaction, gchar **package_id
 				  DBusGMethodInvocation *context)
 {
 	gboolean ret;
-	GError *error;
+	GError *error = NULL;
 	gchar *package_ids_temp;
 	guint length;
 	guint max_length;
@@ -3372,7 +3372,7 @@ void
 pk_transaction_get_updates (PkTransaction *transaction, const gchar *filter, DBusGMethodInvocation *context)
 {
 	gboolean ret;
-	GError *error;
+	GError *error = NULL;
 	GPtrArray *updates_cache;
 
 	g_return_if_fail (PK_IS_TRANSACTION (transaction));
@@ -3529,7 +3529,7 @@ pk_transaction_install_files (PkTransaction *transaction, gboolean only_trusted,
 {
 	gchar *full_paths_temp;
 	gboolean ret;
-	GError *error;
+	GError *error = NULL;
 	GError *error_local = NULL;
 	PkServicePack *service_pack;
 	gchar *content_type = NULL;
@@ -3637,7 +3637,7 @@ pk_transaction_install_packages (PkTransaction *transaction, gboolean only_trust
 				 gchar **package_ids, DBusGMethodInvocation *context)
 {
 	gboolean ret;
-	GError *error;
+	GError *error = NULL;
 	gchar *package_ids_temp;
 	guint length;
 	guint max_length;
@@ -3715,7 +3715,7 @@ pk_transaction_install_signature (PkTransaction *transaction, const gchar *sig_t
 				  DBusGMethodInvocation *context)
 {
 	gboolean ret;
-	GError *error;
+	GError *error = NULL;
 
 	g_return_if_fail (PK_IS_TRANSACTION (transaction));
 	g_return_if_fail (transaction->priv->tid != NULL);
@@ -3783,7 +3783,7 @@ void
 pk_transaction_refresh_cache (PkTransaction *transaction, gboolean force, DBusGMethodInvocation *context)
 {
 	gboolean ret;
-	GError *error;
+	GError *error = NULL;
 
 	g_return_if_fail (PK_IS_TRANSACTION (transaction));
 	g_return_if_fail (transaction->priv->tid != NULL);
@@ -3835,7 +3835,7 @@ pk_transaction_remove_packages (PkTransaction *transaction, gchar **package_ids,
 				DBusGMethodInvocation *context)
 {
 	gboolean ret;
-	GError *error;
+	GError *error = NULL;
 	gchar *package_ids_temp;
 	guint length;
 	guint max_length;
@@ -3913,7 +3913,7 @@ pk_transaction_repo_enable (PkTransaction *transaction, const gchar *repo_id, gb
 			    DBusGMethodInvocation *context)
 {
 	gboolean ret;
-	GError *error;
+	GError *error = NULL;
 
 	g_return_if_fail (PK_IS_TRANSACTION (transaction));
 	g_return_if_fail (transaction->priv->tid != NULL);
@@ -3973,7 +3973,7 @@ pk_transaction_repo_set_data (PkTransaction *transaction, const gchar *repo_id,
 			      DBusGMethodInvocation *context)
 {
 	gboolean ret;
-	GError *error;
+	GError *error = NULL;
 
 	g_return_if_fail (PK_IS_TRANSACTION (transaction));
 	g_return_if_fail (transaction->priv->tid != NULL);
@@ -4033,7 +4033,7 @@ pk_transaction_resolve (PkTransaction *transaction, const gchar *filter,
 			gchar **packages, DBusGMethodInvocation *context)
 {
 	gboolean ret;
-	GError *error;
+	GError *error = NULL;
 	gchar *packages_temp;
 	guint i;
 	guint length;
@@ -4121,7 +4121,7 @@ pk_transaction_rollback (PkTransaction *transaction, const gchar *transaction_id
 			 DBusGMethodInvocation *context)
 {
 	gboolean ret;
-	GError *error;
+	GError *error = NULL;
 
 	g_return_if_fail (PK_IS_TRANSACTION (transaction));
 	g_return_if_fail (transaction->priv->tid != NULL);
@@ -4179,7 +4179,7 @@ pk_transaction_search_details (PkTransaction *transaction, const gchar *filter,
 			       gchar **values, DBusGMethodInvocation *context)
 {
 	gboolean ret;
-	GError *error;
+	GError *error = NULL;
 
 	g_return_if_fail (PK_IS_TRANSACTION (transaction));
 	g_return_if_fail (transaction->priv->tid != NULL);
@@ -4246,7 +4246,7 @@ pk_transaction_search_files (PkTransaction *transaction, const gchar *filter,
 			     gchar **values, DBusGMethodInvocation *context)
 {
 	gboolean ret;
-	GError *error;
+	GError *error = NULL;
 	guint i;
 
 	g_return_if_fail (PK_IS_TRANSACTION (transaction));
@@ -4325,7 +4325,7 @@ pk_transaction_search_groups (PkTransaction *transaction, const gchar *filter,
 			      gchar **values, DBusGMethodInvocation *context)
 {
 	gboolean ret;
-	GError *error;
+	GError *error = NULL;
 	guint i;
 
 	g_return_if_fail (PK_IS_TRANSACTION (transaction));
@@ -4404,7 +4404,7 @@ pk_transaction_search_names (PkTransaction *transaction, const gchar *filter,
 			     gchar **values, DBusGMethodInvocation *context)
 {
 	gboolean ret;
-	GError *error;
+	GError *error = NULL;
 
 	g_return_if_fail (PK_IS_TRANSACTION (transaction));
 	g_return_if_fail (transaction->priv->tid != NULL);
@@ -4469,7 +4469,7 @@ pk_transaction_search_names (PkTransaction *transaction, const gchar *filter,
 void
 pk_transaction_set_locale (PkTransaction *transaction, const gchar *code, DBusGMethodInvocation *context)
 {
-	GError *error;
+	GError *error = NULL;
 	gboolean ret;
 
 	g_return_if_fail (PK_IS_TRANSACTION (transaction));
@@ -4564,7 +4564,7 @@ out:
 void
 pk_transaction_set_hints (PkTransaction *transaction, gchar **hints, DBusGMethodInvocation *context)
 {
-	GError *error;
+	GError *error = NULL;
 	gboolean ret;
 	guint i;
 	gchar **sections;
@@ -4620,7 +4620,7 @@ pk_transaction_simulate_install_files (PkTransaction *transaction, gchar **full_
 {
 	gchar *full_paths_temp;
 	gboolean ret;
-	GError *error;
+	GError *error = NULL;
 	GError *error_local = NULL;
 	PkServicePack *service_pack;
 	gchar *content_type;
@@ -4726,7 +4726,7 @@ void
 pk_transaction_simulate_install_packages (PkTransaction *transaction, gchar **package_ids, DBusGMethodInvocation *context)
 {
 	gboolean ret;
-	GError *error;
+	GError *error = NULL;
 	gchar *package_ids_temp;
 	guint length;
 	guint max_length;
@@ -4802,7 +4802,7 @@ void
 pk_transaction_simulate_remove_packages (PkTransaction *transaction, gchar **package_ids, DBusGMethodInvocation *context)
 {
 	gboolean ret;
-	GError *error;
+	GError *error = NULL;
 	gchar *package_ids_temp;
 	guint length;
 	guint max_length;
@@ -4878,7 +4878,7 @@ void
 pk_transaction_simulate_update_packages (PkTransaction *transaction, gchar **package_ids, DBusGMethodInvocation *context)
 {
 	gboolean ret;
-	GError *error;
+	GError *error = NULL;
 	gchar *package_ids_temp;
 	guint length;
 	guint max_length;
@@ -4954,7 +4954,7 @@ void
 pk_transaction_update_packages (PkTransaction *transaction, gboolean only_trusted, gchar **package_ids, DBusGMethodInvocation *context)
 {
 	gboolean ret;
-	GError *error;
+	GError *error = NULL;
 	gchar *package_ids_temp;
 	guint length;
 	guint max_length;
@@ -5030,7 +5030,7 @@ void
 pk_transaction_update_system (PkTransaction *transaction, gboolean only_trusted, DBusGMethodInvocation *context)
 {
 	gboolean ret;
-	GError *error;
+	GError *error = NULL;
 
 	g_return_if_fail (PK_IS_TRANSACTION (transaction));
 	g_return_if_fail (transaction->priv->tid != NULL);
@@ -5087,7 +5087,7 @@ pk_transaction_what_provides (PkTransaction *transaction, const gchar *filter, c
 {
 	gboolean ret;
 	PkProvidesEnum provides;
-	GError *error;
+	GError *error = NULL;
 
 	g_return_if_fail (PK_IS_TRANSACTION (transaction));
 	g_return_if_fail (transaction->priv->tid != NULL);
commit 4e00fe54a487eda8210244a6c681e948086ab74c
Merge: 9655ba0... 8502a99...
Author: Adrien Bustany <abustany at gnome.org>
Date:   Tue Feb 23 12:05:02 2010 -0300

    Merge branch 'qt-sharedpointer'

commit 9655ba047e2224ef635ca6a680e29a58c11d541d
Author: ruigo <ruigo at fedoraproject.org>
Date:   Tue Feb 23 12:17:42 2010 +0000

    Sending translation for Portuguese

diff --git a/po/pt.po b/po/pt.po
index 52ed2af..7279652 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -1,309 +1,347 @@
+# Rui Gouveia <rui.gouveia at gmail.com>, 2010.
 msgid ""
 msgstr ""
 "Project-Id-Version: packagekit\n"
 "Report-Msgid-Bugs-To: \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"
+"POT-Creation-Date: 2010-02-23 11:23+0000\n"
+"PO-Revision-Date: 2010-02-23 12:21+0100\n"
+"Last-Translator: Rui Gouveia <rui.gouveia at gmail.com>\n"
+"Language-Team: fedora-trans-pt at redhat.com\n"
+"Language: pt\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Virtaal 0.5.2\n"
 "X-Poedit-Language: Portuguese\n"
 "X-Poedit-Country: PORTUGAL\n"
 "X-Poedit-Basepath: /home/ruigo/src/PackageKit/po/\n"
 
 #. TRANSLATORS: this is an atomic transaction
-#: ../client/pk-console.c:143
+#. TRANSLATORS: the role is the point of the transaction, e.g. update-system
+#: ../client/pk-console.c:175 ../client/pk-console.c:597
 msgid "Transaction"
 msgstr "Transacção"
 
 #. TRANSLATORS: this is the time the transaction was started in system timezone
-#: ../client/pk-console.c:145
+#: ../client/pk-console.c:177
 msgid "System time"
 msgstr "Hora do sistema"
 
 #. TRANSLATORS: this is if the transaction succeeded or not
-#: ../client/pk-console.c:147
+#: ../client/pk-console.c:179
 msgid "Succeeded"
 msgstr "Sucesso"
 
-#: ../client/pk-console.c:147
+#: ../client/pk-console.c:179
 msgid "True"
 msgstr "Verdadeiro"
 
-#: ../client/pk-console.c:147
+#: ../client/pk-console.c:179
 msgid "False"
 msgstr "Falso"
 
 #. TRANSLATORS: this is the transactions role, e.g. "update-system"
 #. TRANSLATORS: the trasaction role, e.g. update-system
-#: ../client/pk-console.c:149
-#: ../src/pk-polkit-action-lookup.c:336
+#: ../client/pk-console.c:181 ../src/pk-polkit-action-lookup.c:332
 msgid "Role"
 msgstr "Função"
 
 #. TRANSLATORS: this is The duration of the transaction
-#: ../client/pk-console.c:154
+#: ../client/pk-console.c:186
 msgid "Duration"
 msgstr "Duração"
 
-#: ../client/pk-console.c:154
+#: ../client/pk-console.c:186
 msgid "(seconds)"
 msgstr "(segundos)"
 
 #. 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:158
-#: ../src/pk-polkit-action-lookup.c:350
+#: ../client/pk-console.c:190 ../src/pk-polkit-action-lookup.c:346
 msgid "Command line"
 msgstr "Linha de comando"
 
 #. TRANSLATORS: this is the user ID of the user that started the action
-#: ../client/pk-console.c:160
+#: ../client/pk-console.c:192
 msgid "User ID"
 msgstr "ID de Utilizador"
 
 #. TRANSLATORS: this is the username, e.g. hughsie
-#: ../client/pk-console.c:167
+#: ../client/pk-console.c:199
 msgid "Username"
 msgstr "Nome do utilizador"
 
 #. TRANSLATORS: this is the users real name, e.g. "Richard Hughes"
-#: ../client/pk-console.c:171
+#: ../client/pk-console.c:203
 msgid "Real name"
 msgstr "Nome real"
 
-#: ../client/pk-console.c:179
+#: ../client/pk-console.c:211
 msgid "Affected packages:"
 msgstr "Pacotes afectados"
 
-#: ../client/pk-console.c:181
+#: ../client/pk-console.c:213
 msgid "Affected packages: None"
 msgstr "Pacotes afectados: Nenhum"
 
 #. TRANSLATORS: this is the distro, e.g. Fedora 10
-#: ../client/pk-console.c:201
+#: ../client/pk-console.c:248
 msgid "Distribution"
 msgstr "Distribuição"
 
 #. TRANSLATORS: this is type of update, stable or testing
-#: ../client/pk-console.c:203
+#: ../client/pk-console.c:250
 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:205
-#: ../client/pk-console.c:226
+#: ../client/pk-console.c:252 ../client/pk-console.c:291
 msgid "Summary"
 msgstr "Sumário"
 
 #. TRANSLATORS: this is the group category name
-#: ../client/pk-console.c:215
+#: ../client/pk-console.c:280
 msgid "Category"
 msgstr "Categori­a"
 
 #. TRANSLATORS: this is group identifier
-#: ../client/pk-console.c:217
+#: ../client/pk-console.c:282
 msgid "ID"
 msgstr "ID"
 
 #. TRANSLATORS: this is the parent group
-#: ../client/pk-console.c:220
+#: ../client/pk-console.c:285
 msgid "Parent"
 msgstr "Pai"
 
 #. TRANSLATORS: this is the name of the parent group
-#: ../client/pk-console.c:223
+#: ../client/pk-console.c:288
 msgid "Name"
 msgstr "Nome"
 
 #. TRANSLATORS: this is preferred icon for the group
-#: ../client/pk-console.c:229
+#: ../client/pk-console.c:294
 msgid "Icon"
 msgstr "Ícone"
 
 #. TRANSLATORS: this is a header for the package that can be updated
-#: ../client/pk-console.c:243
+#: ../client/pk-console.c:340
 msgid "Details about the update:"
 msgstr "Detalhes acerca da actualização:"
 
 #. TRANSLATORS: details about the update, package name and version
+#. TRANSLATORS: the package that is being processed
 #. TRANSLATORS: the package that is not signed by a known key
 #. TRANSLATORS: the package name that was trying to be installed
 #. TRANSLATORS: title, the names of the packages that the method is processing
-#: ../client/pk-console.c:249
-#: ../lib/packagekit-glib2/pk-task-text.c:107
-#: ../lib/packagekit-glib2/pk-task-text.c:174
-#: ../src/pk-polkit-action-lookup.c:361
+#: ../client/pk-console.c:346 ../client/pk-console.c:616
+#: ../lib/packagekit-glib2/pk-task-text.c:126
+#: ../lib/packagekit-glib2/pk-task-text.c:208
+#: ../src/pk-polkit-action-lookup.c:357
 msgid "Package"
 msgid_plural "Packages"
 msgstr[0] "Pacote"
 msgstr[1] "Pacotes"
 
 #. TRANSLATORS: details about the update, any packages that this update updates
-#: ../client/pk-console.c:252
+#: ../client/pk-console.c:349
 msgid "Updates"
 msgstr "Actualizações"
 
 #. TRANSLATORS: details about the update, any packages that this update obsoletes
-#: ../client/pk-console.c:256
+#: ../client/pk-console.c:353
 msgid "Obsoletes"
 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:177
+#: ../client/pk-console.c:357 ../lib/packagekit-glib2/pk-task-text.c:211
 msgid "Vendor"
 msgstr "Fabricante"
 
 #. TRANSLATORS: details about the update, the bugzilla URLs
-#: ../client/pk-console.c:264
+#: ../client/pk-console.c:361
 msgid "Bugzilla"
 msgstr "Bugzilla"
 
 #. TRANSLATORS: details about the update, the CVE URLs
-#: ../client/pk-console.c:268
+#: ../client/pk-console.c:365
 msgid "CVE"
 msgstr "CVE"
 
 #. TRANSLATORS: details about the update, if the package requires a restart
-#: ../client/pk-console.c:272
+#: ../client/pk-console.c:369
 msgid "Restart"
 msgstr "Reiniciar"
 
 #. TRANSLATORS: details about the update, any description of the update
-#: ../client/pk-console.c:276
+#: ../client/pk-console.c:373
 msgid "Update text"
 msgstr "Actualizar texto"
 
 #. TRANSLATORS: details about the update, the changelog for the package
-#: ../client/pk-console.c:280
+#: ../client/pk-console.c:377
 msgid "Changes"
 msgstr "Alterações"
 
 #. TRANSLATORS: details about the update, the ongoing state of the update
-#: ../client/pk-console.c:284
+#: ../client/pk-console.c:381
 msgid "State"
 msgstr "Estado"
 
 #. TRANSLATORS: details about the update, date the update was issued
-#: ../client/pk-console.c:289
+#: ../client/pk-console.c:385
 msgid "Issued"
 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:502
+#: ../client/pk-console.c:389 ../lib/packagekit-glib2/pk-console-shared.c:510
 msgid "Updated"
 msgstr "Actualizado"
 
 #. TRANSLATORS: if the repo is enabled
-#: ../client/pk-console.c:312
+#: ../client/pk-console.c:425
 msgid "Enabled"
 msgstr "Activado"
 
 #. TRANSLATORS: if the repo is disabled
-#: ../client/pk-console.c:315
+#: ../client/pk-console.c:428
 msgid "Disabled"
 msgstr "Inactivo"
 
 #. TRANSLATORS: a package requires the system to be restarted
-#: ../client/pk-console.c:337
+#: ../client/pk-console.c:460
 msgid "System restart required by:"
 msgstr "Reinicialização do sistema requerida por:"
 
 #. TRANSLATORS: a package requires the session to be restarted
-#: ../client/pk-console.c:340
+#: ../client/pk-console.c:463
 msgid "Session restart required:"
 msgstr "Reinicialização da sessão requerida:"
 
 #. TRANSLATORS: a package requires the system to be restarted due to a security update
-#: ../client/pk-console.c:343
+#: ../client/pk-console.c:466
 msgid "System restart (security) required by:"
 msgstr "Reinicialização do sistema (segurança) requerida por:"
 
 #. TRANSLATORS: a package requires the session to be restarted due to a security update
-#: ../client/pk-console.c:346
+#: ../client/pk-console.c:469
 msgid "Session restart (security) required:"
 msgstr "Reinicialização da sessão (segurança) requerida:"
 
 #. TRANSLATORS: a package requires the application to be restarted
-#: ../client/pk-console.c:349
+#: ../client/pk-console.c:472
 msgid "Application restart required by:"
 msgstr "Reinicialização da aplicação requerida por:"
 
 #. TRANSLATORS: This a list of details about the package
-#: ../client/pk-console.c:366
+#: ../client/pk-console.c:507
 msgid "Package description"
 msgstr "Descrição do pacote"
 
 #. TRANSLATORS: This a message (like a little note that may be of interest) from the transaction
-#: ../client/pk-console.c:384
+#: ../client/pk-console.c:538
 msgid "Message:"
 msgstr "Mensagem:"
 
 #. TRANSLATORS: This where the package has no files
-#: ../client/pk-console.c:398
+#: ../client/pk-console.c:559
 msgid "No files"
 msgstr "Sem ficheiros"
 
 #. TRANSLATORS: This a list files contained in the package
-#: ../client/pk-console.c:403
+#: ../client/pk-console.c:564
 msgid "Package files"
 msgstr "Ficheiros do pacote"
 
+#. TRANSLATORS: the percentage complete of the transaction
+#: ../client/pk-console.c:632
+msgid "Percentage"
+msgstr "Percentagem"
+
+#. TRANSLATORS: the status of the transaction (e.g. downloading)
+#: ../client/pk-console.c:650
+msgid "Status"
+msgstr "Estado"
+
+#. TRANSLATORS: the results from the transaction
+#: ../client/pk-console.c:679
+msgid "Results:"
+msgstr "Resultados:"
+
 #. TRANSLATORS: we failed to get any results, which is pretty fatal in my book
-#: ../client/pk-console.c:475
+#: ../client/pk-console.c:686
 msgid "Fatal error"
 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:430
-#: ../contrib/command-not-found/pk-command-not-found.c:597
+#: ../client/pk-console.c:695
+#: ../contrib/command-not-found/pk-command-not-found.c:432
+#: ../contrib/command-not-found/pk-command-not-found.c:603
 msgid "The transaction failed"
 msgstr "A transacção falhou"
 
+#. TRANSLATORS: print a message when there are no updates
+#: ../client/pk-console.c:726
+msgid "There are no updates available at this time."
+msgstr "Não existem atualizações disponíveis neste momento."
+
 #. TRANSLATORS: a package needs to restart their system
-#: ../client/pk-console.c:552
+#: ../client/pk-console.c:814
 msgid "Please restart the computer to complete the update."
 msgstr "Por favor, reinicie o computador para completar a actualização."
 
 #. TRANSLATORS: a package needs to restart the session
-#: ../client/pk-console.c:555
+#: ../client/pk-console.c:817
 msgid "Please logout and login to complete the update."
-msgstr "Por favor, termine e volte a iniciar a sessão para completar a actualização."
+msgstr ""
+"Por favor, termine e volte a iniciar a sessão para completar a actualização."
 
 #. 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 "Por favor, reinicie o computador para completar a actualização, pois foram instaladas importantes actualizações de segurança."
+#: ../client/pk-console.c:820
+msgid ""
+"Please restart the computer to complete the update as important security "
+"updates have been installed."
+msgstr ""
+"Por favor, reinicie o computador para completar a actualização, pois foram "
+"instaladas importantes actualizações de segurança."
 
 #. 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 "Por favor, termine e volte a iniciar a sessão para completar a actualização, pois foram instaladas importantes actualizações de segurança."
+#: ../client/pk-console.c:823
+msgid ""
+"Please logout and login to complete the update as important security updates "
+"have been installed."
+msgstr ""
+"Por favor, termine e volte a iniciar a sessão para completar a actualização, "
+"pois foram instaladas importantes actualizações de segurança."
+
+#. TRANSLATORS: The user used 'pkcon install dave.rpm' rather than 'pkcon install-local dave.rpm'
+#: ../client/pk-console.c:849
+#, c-format
+msgid ""
+"Extected package name, actually got file. Try using 'pkcon install-local %s' "
+"instead."
+msgstr ""
+"Esperado nome de pacote, recebido nome de ficheiro. Alternativamente, tente "
+"utilizar 'pkcon install-local %s'."
 
 #. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
-#: ../client/pk-console.c:584
+#: ../client/pk-console.c:857
 #, c-format
 msgid "This tool could not find any available package: %s"
 msgstr "Esta ferramenta não conseguiu encontrar nenhum pacote disponível: %s"
 
 #. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
-#: ../client/pk-console.c:612
+#: ../client/pk-console.c:885
 #, c-format
 msgid "This tool could not find the installed package: %s"
 msgstr "Esta ferramenta não conseguiu encontrar o pacote instalado: %s"
 
 #. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
-#: ../client/pk-console.c:640
-#: ../client/pk-console.c:668
+#: ../client/pk-console.c:913 ../client/pk-console.c:941
 #, c-format
 msgid "This tool could not find the package: %s"
 msgstr "Esta ferramenta não conseguiu encontrar o pacote: %s"
@@ -312,360 +350,360 @@ msgstr "Esta ferramenta não conseguiu encontrar o pacote: %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:696
-#: ../client/pk-console.c:724
-#: ../client/pk-console.c:752
-#: ../client/pk-console.c:780
-#: ../client/pk-console.c:808
+#: ../client/pk-console.c:969 ../client/pk-console.c:997
+#: ../client/pk-console.c:1025 ../client/pk-console.c:1053
+#: ../client/pk-console.c:1081
 #, c-format
 msgid "This tool could not find all the packages: %s"
 msgstr "Esta ferramenta não conseguiu encontrar todos os pacotes: %s"
 
 #. TRANSLATORS: This is when the daemon crashed, and we are up shit creek without a paddle
-#: ../client/pk-console.c:837
+#: ../client/pk-console.c:1110
 msgid "The daemon crashed mid-transaction!"
 msgstr "O daemon morreu a meio de uma transacção!"
 
 #. TRANSLATORS: This is the header to the --help menu
-#: ../client/pk-console.c:871
+#: ../client/pk-console.c:1144
 msgid "PackageKit Console Interface"
 msgstr "Consola do PackaheKit"
 
 #. these are commands we can use with pkcon
-#: ../client/pk-console.c:873
+#: ../client/pk-console.c:1146
 msgid "Subcommands:"
 msgstr "Sub-comandos:"
 
 #. TRANSLATORS: we keep a database updated with the time that an action was last executed
-#: ../client/pk-console.c:952
+#: ../client/pk-console.c:1225
 msgid "Failed to get the time since this action was last completed"
-msgstr "Não foi possível obter a hora da última vez que esta acção foi concluída"
-
-#. TRANSLATORS: command line argument, if we should show debugging information
-#. TRANSLATORS: if we should show debugging data
-#: ../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 "Mostrar informação de depuração adicional"
+msgstr ""
+"Não foi possível obter a hora da última vez que esta acção foi concluída"
 
 #. TRANSLATORS: command line argument, just show the version string
-#: ../client/pk-console.c:992
-#: ../client/pk-monitor.c:283
+#: ../client/pk-console.c:1261 ../client/pk-monitor.c:306
 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:995
+#: ../client/pk-console.c:1264
 msgid "Set the filter, e.g. installed"
 msgstr "Configurar o filtro, exemplo, instalado"
 
 #. TRANSLATORS: command line argument, work asynchronously
-#: ../client/pk-console.c:998
+#: ../client/pk-console.c:1267
 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
+#: ../client/pk-console.c:1270
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:527
 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
+#: ../client/pk-console.c:1273
 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"
+msgstr ""
+"Executar o comando utilizando períodos de inactividade da rede e também "
+"utilizando menos energia"
+
+#. TRANSLATORS: command line argument, just output without fancy formatting
+#: ../client/pk-console.c:1276
+msgid ""
+"Print to screen a machine readable output, rather than using animated "
+"widgets"
+msgstr ""
+"Escrever no ecrã o resultado legível, ao invés de utilizar objectos animados"
 
 #. TRANSLATORS: we failed to contact the daemon
-#: ../client/pk-console.c:1030
+#: ../client/pk-console.c:1298
 msgid "Failed to contact PackageKit"
 msgstr "Falhou o contacto com o PackageKit"
 
 #. TRANSLATORS: The user specified an incorrect filter
-#: ../client/pk-console.c:1086
+#: ../client/pk-console.c:1356
 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:1105
+#: ../client/pk-console.c:1375
 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:1112
-#: ../client/pk-console.c:1124
-#: ../client/pk-console.c:1136
-#: ../client/pk-console.c:1148
+#: ../client/pk-console.c:1382 ../client/pk-console.c:1394
+#: ../client/pk-console.c:1406 ../client/pk-console.c:1418
 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:1158
+#: ../client/pk-console.c:1428
 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:1164
+#: ../client/pk-console.c:1434
 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:1173
+#: ../client/pk-console.c:1443
 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:1185
+#: ../client/pk-console.c:1455
 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:1196
+#: ../client/pk-console.c:1466
 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:1205
+#: ../client/pk-console.c:1475
 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"
+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:1212
+#: ../client/pk-console.c:1482
 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:1221
+#: ../client/pk-console.c:1491
 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:1232
+#: ../client/pk-console.c:1502
 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:1253
+#: ../client/pk-console.c:1523
 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:1264
-#: ../client/pk-console.c:1275
+#: ../client/pk-console.c:1534 ../client/pk-console.c:1545
 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:1286
+#: ../client/pk-console.c:1556
 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:1303
+#: ../client/pk-console.c:1573
 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:1310
+#: ../client/pk-console.c:1580
 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: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
+#: ../client/pk-console.c:1590 ../client/pk-console.c:1605
+#: ../client/pk-console.c:1614 ../client/pk-console.c:1634
+#: ../client/pk-console.c:1643 ../client/pk-generate-pack.c:316
 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:1353
+#: ../client/pk-console.c:1623
 msgid "A package provide string is required"
-msgstr "É necessário especificar a string que define o que o pacote disponibiliza"
+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:1433
+#: ../client/pk-console.c:1703
 #, 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:1443
+#: ../client/pk-console.c:1713
 msgid "Command failed"
 msgstr "Comando falhou"
 
 #. TRANSLATORS: we can exclude certain packages (glibc) when we know they'll exist on the target
-#: ../client/pk-generate-pack.c:226
+#: ../client/pk-generate-pack.c:255
 msgid "Set the file name of dependencies to be excluded"
 msgstr "Indique o nome do ficheiro para a lista de dependências a excluir"
 
 #. TRANSLATORS: the output location
-#: ../client/pk-generate-pack.c:229
-msgid "The output file or directory (the current directory is used if ommitted)"
-msgstr "O ficheiro ou directório de destino (se omitido, é utilizado o directório actual)"
+#: ../client/pk-generate-pack.c:258
+msgid ""
+"The output file or directory (the current directory is used if ommitted)"
+msgstr ""
+"O ficheiro ou directório de destino (se omitido, é utilizado o directório "
+"actual)"
 
 #. TRANSLATORS: put a list of packages in the pack
-#: ../client/pk-generate-pack.c:232
+#: ../client/pk-generate-pack.c:261
 msgid "The package to be put into the service pack"
 msgstr "O pacote para colocar no \"service pack\""
 
 #. TRANSLATORS: put all pending updates in the pack
-#: ../client/pk-generate-pack.c:235
+#: ../client/pk-generate-pack.c:264
 msgid "Put all updates available in the service pack"
 msgstr "Colocar todas as actualizações disponíveis no \"service pack\""
 
 #. TRANSLATORS: This is when the user fails to supply the correct arguments
-#: ../client/pk-generate-pack.c:271
+#: ../client/pk-generate-pack.c:300
 msgid "Neither --package or --updates option selected."
 msgstr "Nenhuma das opções, --package ou --updates, foi seleccionada."
 
 #. TRANSLATORS: This is when the user fails to supply just one argument
-#: ../client/pk-generate-pack.c:279
+#: ../client/pk-generate-pack.c:308
 msgid "Both options selected."
 msgstr "Seleccionou ambas as opções"
 
 #. TRANSLATORS: This is when the user fails to supply the output
-#: ../client/pk-generate-pack.c:295
+#: ../client/pk-generate-pack.c:324
 msgid "A output directory or file name is required"
 msgstr "É necessário um directório de destino ou nome de ficheiro"
 
 #. TRANSLATORS: This is when the dameon is not-installed/broken and fails to startup
-#: ../client/pk-generate-pack.c:313
+#: ../client/pk-generate-pack.c:342
 msgid "The dameon failed to startup"
 msgstr "O serviço falhou o arranque"
 
 #. 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:324
-#: ../client/pk-generate-pack.c:330
+#: ../client/pk-generate-pack.c:353 ../client/pk-generate-pack.c:359
 msgid "The package manager cannot perform this type of operation."
 msgstr "O gestor de pacotes não pode realizar este tipo de operação."
 
 #. TRANSLATORS: This is when the distro didn't include libarchive support into PK
-#: ../client/pk-generate-pack.c:337
-msgid "Service packs cannot be created as PackageKit was not built with libarchive support."
-msgstr "\"Service packs\" não podem ser criados pois o PackageKit não foi criado com suporte a libarchive."
+#: ../client/pk-generate-pack.c:366
+msgid ""
+"Service packs cannot be created as PackageKit was not built with libarchive "
+"support."
+msgstr ""
+"\"Service packs\" não podem ser criados pois o PackageKit não foi criado com "
+"suporte a libarchive."
 
 #. TRANSLATORS: the user specified an absolute path, but didn't get the extension correct
-#: ../client/pk-generate-pack.c:348
+#: ../client/pk-generate-pack.c:377
 msgid "If specifying a file, the service pack name must end with"
-msgstr "Se especificar um ficheiro, o nome do \"service pack\" tem de terminar com"
+msgstr ""
+"Se especificar um ficheiro, o nome do \"service pack\" tem de terminar com"
 
 #. TRANSLATORS: This is when file already exists
-#: ../client/pk-generate-pack.c:364
+#: ../client/pk-generate-pack.c:393
 msgid "A pack with the same name already exists, do you want to overwrite it?"
 msgstr "Um \"service pack\" com esse nome já existe. Deseja substituí-lo?"
 
 #. TRANSLATORS: This is when the pack was not overwritten
-#: ../client/pk-generate-pack.c:367
+#: ../client/pk-generate-pack.c:396
 msgid "The pack was not overwritten."
 msgstr "O \"service pack\" não foi substituído."
 
 #. TRANSLATORS: This is when the temporary directory cannot be created, the directory name follows
-#: ../client/pk-generate-pack.c:380
+#: ../client/pk-generate-pack.c:409
 msgid "Failed to create directory:"
 msgstr "Criação da directoria falhou:"
 
 #. TRANSLATORS: This is when the list of packages from the remote computer cannot be opened
-#: ../client/pk-generate-pack.c:392
+#: ../client/pk-generate-pack.c:421
 msgid "Failed to open package list."
 msgstr "Impossível abrir a lista de pacotes"
 
 #. TRANSLATORS: The package name is being matched up to available packages
-#: ../client/pk-generate-pack.c:401
+#: ../client/pk-generate-pack.c:430
 msgid "Finding package name."
 msgstr "A procurar o nome do pacote."
 
 #. TRANSLATORS: This is when the package cannot be found in any software source. The detailed error follows
-#: ../client/pk-generate-pack.c:405
+#: ../client/pk-generate-pack.c:434
 #, c-format
 msgid "Failed to find package '%s': %s"
 msgstr "Não foi possível encontrar o pacote '%s': %s"
 
 #. TRANSLATORS: This is telling the user we are in the process of making the pack
-#: ../client/pk-generate-pack.c:413
+#: ../client/pk-generate-pack.c:442
 msgid "Creating service pack..."
 msgstr "A criar o \"service pack\"..."
 
 #. TRANSLATORS: we succeeded in making the file
-#: ../client/pk-generate-pack.c:428
+#: ../client/pk-generate-pack.c:457
 #, c-format
 msgid "Service pack created '%s'"
 msgstr "\"Service pack\" criado '%s'"
 
 #. TRANSLATORS: we failed to make te file
-#: ../client/pk-generate-pack.c:433
+#: ../client/pk-generate-pack.c:462
 #, c-format
 msgid "Failed to create '%s': %s"
 msgstr "Não foi possível criar '%s': %s"
 
-#: ../client/pk-monitor.c:211
+#: ../client/pk-monitor.c:236
 msgid "Failed to get daemon state"
 msgstr "Falha ao obter o estado do serviço"
 
 #. TRANSLATORS: this is a program that monitors PackageKit
-#: ../client/pk-monitor.c:299
+#: ../client/pk-monitor.c:322
 msgid "PackageKit Monitor"
 msgstr "Monitorizar o PackageKit"
 
 #. TRANSLATORS: when we are getting data from the daemon
-#: ../contrib/browser-plugin/pk-plugin-install.c:491
+#: ../contrib/browser-plugin/pk-plugin-install.c:495
 msgid "Getting package information..."
 msgstr "A obter informação de pacotes..."
 
 #. TRANSLATORS: run an applicaiton
-#: ../contrib/browser-plugin/pk-plugin-install.c:497
+#: ../contrib/browser-plugin/pk-plugin-install.c:501
 #, c-format
 msgid "Run %s"
 msgstr "Executar %s"
 
 #. TRANSLATORS: show the installed version of a package
-#: ../contrib/browser-plugin/pk-plugin-install.c:503
+#: ../contrib/browser-plugin/pk-plugin-install.c:507
 msgid "Installed version"
 msgstr "Versão instalada"
 
 #. TRANSLATORS: run the application now
-#: ../contrib/browser-plugin/pk-plugin-install.c:511
+#: ../contrib/browser-plugin/pk-plugin-install.c:515
 #, c-format
 msgid "Run version %s now"
 msgstr "Executar a versão %s agora"
 
 #. TRANSLATORS: run the application now
-#: ../contrib/browser-plugin/pk-plugin-install.c:517
+#: ../contrib/browser-plugin/pk-plugin-install.c:521
 msgid "Run now"
 msgstr "Executar agora"
 
 #. TRANSLATORS: update to a new version of the package
-#: ../contrib/browser-plugin/pk-plugin-install.c:523
+#: ../contrib/browser-plugin/pk-plugin-install.c:527
 #, c-format
 msgid "Update to version %s"
 msgstr "Actualizar para a versão %s"
 
 #. TRANSLATORS: To install a package
-#: ../contrib/browser-plugin/pk-plugin-install.c:529
+#: ../contrib/browser-plugin/pk-plugin-install.c:533
 #, c-format
 msgid "Install %s now"
 msgstr "Instalar %s agora"
 
 #. TRANSLATORS: the version of the package
-#: ../contrib/browser-plugin/pk-plugin-install.c:532
+#: ../contrib/browser-plugin/pk-plugin-install.c:536
 msgid "Version"
 msgstr "Versão"
 
 #. TRANSLATORS: noting found, so can't install
-#: ../contrib/browser-plugin/pk-plugin-install.c:537
+#: ../contrib/browser-plugin/pk-plugin-install.c:541
 msgid "No packages found for your system"
 msgstr "Não foram encontrados pacotes para o seu sistema"
 
 #. TRANSLATORS: package is being installed
-#: ../contrib/browser-plugin/pk-plugin-install.c:542
+#: ../contrib/browser-plugin/pk-plugin-install.c:546
 msgid "Installing..."
 msgstr "A instalar..."
 
@@ -677,7 +715,9 @@ 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:369
 msgid "Downloading filelists (this may take some time to complete)."
-msgstr "A descarregar lista de ficheiros (isto pode demorar algum tempo para concluir)."
+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:373
@@ -690,76 +730,76 @@ 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:421
+#: ../contrib/command-not-found/pk-command-not-found.c:423
 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
+#: ../contrib/command-not-found/pk-command-not-found.c:566
 msgid "Failed to launch:"
 msgstr "Incapaz de iniciar:"
 
 #. TRANSLATORS: we failed to install the package
-#: ../contrib/command-not-found/pk-command-not-found.c:588
+#: ../contrib/command-not-found/pk-command-not-found.c:594
 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:667
+#: ../contrib/command-not-found/pk-command-not-found.c:670
 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:697
+#: ../contrib/command-not-found/pk-command-not-found.c:699
 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:704
+#: ../contrib/command-not-found/pk-command-not-found.c:706
 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:714
+#: ../contrib/command-not-found/pk-command-not-found.c:716
 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:728
-#: ../contrib/command-not-found/pk-command-not-found.c:737
+#: ../contrib/command-not-found/pk-command-not-found.c:730
+#: ../contrib/command-not-found/pk-command-not-found.c:739
 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:744
+#: ../contrib/command-not-found/pk-command-not-found.c:746
 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:760
+#: ../contrib/command-not-found/pk-command-not-found.c:764
 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:765
+#: ../contrib/command-not-found/pk-command-not-found.c:769
 #, 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:789
+#: ../contrib/command-not-found/pk-command-not-found.c:793
 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:799
+#: ../contrib/command-not-found/pk-command-not-found.c:803
 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:808
+#: ../contrib/command-not-found/pk-command-not-found.c:812
 msgid "Please choose a package to install"
 msgstr "Por favor, escolha um pacote para instalar"
 
@@ -775,270 +815,276 @@ 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: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."
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:518
+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:518
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:521
 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:521
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:524
 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:539
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:542
 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:554
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:556
 #, 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:590
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:592
 #, 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: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
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:602
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:677
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:761
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:805
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:872
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:916
 msgid "FAILED."
 msgstr "FALHOU."
 
 #. TRANSLATORS: all completed 100%
-#: ../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
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:617
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:657
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:692
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:776
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:820
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:887
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:931
 #, c-format
 msgid "OK."
 msgstr "OK."
 
 #. TRANSLATORS: tell the user what we found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:618
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:620
 #, 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:625
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:627
 #, 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:658
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:660
 #, 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:665
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:667
 #, 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:693
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:695
 #, 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:700
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:702
 #, 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:712
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:714
 #, 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:735
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:737
 #, 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:763
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:765
 #, 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:777
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:779
 #, 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:793
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:795
 #, 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:806
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:808
 #, 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:822
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:824
 #, 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:826
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:828
 #, 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:835
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:837
 #, 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:848
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:850
 #, 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:860
-#: ../lib/packagekit-glib2/pk-console-shared.c:274
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:862
+#: ../lib/packagekit-glib2/pk-console-shared.c:282
 #, c-format
 msgid "Installing packages"
 msgstr "A instalar pacotes"
 
 #. TRANSLATORS: could not install, detailed error follows
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:873
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:875
 #, 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:905
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:907
 #, 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:917
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:919
 #, 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:932
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:934
 #, c-format
 msgid "Disabled %i debugging sources."
 msgstr "Desactivadas %i fontes de depuração."
 
 #. TRANSLATORS: couldn't open device to write
-#: ../contrib/device-rebind/pk-device-rebind.c:61
+#: ../contrib/device-rebind/pk-device-rebind.c:62
 msgid "Failed to open file"
 msgstr "Falha ao abrir ficheiro"
 
 #. TRANSLATORS: could not write to the device
-#: ../contrib/device-rebind/pk-device-rebind.c:70
+#: ../contrib/device-rebind/pk-device-rebind.c:71
 msgid "Failed to write to the file"
 msgstr "Falha ao escrever para o ficheiro"
 
 #. TRANSLATORS: we failed to release the current driver
-#: ../contrib/device-rebind/pk-device-rebind.c:110
-#: ../contrib/device-rebind/pk-device-rebind.c:147
+#: ../contrib/device-rebind/pk-device-rebind.c:111
+#: ../contrib/device-rebind/pk-device-rebind.c:148
 msgid "Failed to write to device"
 msgstr "Incapaz de escrever no dispositivo"
 
 #. TRANSLATORS: the device could not be found in sysfs
-#: ../contrib/device-rebind/pk-device-rebind.c:175
+#: ../contrib/device-rebind/pk-device-rebind.c:176
 msgid "Device could not be found"
 msgstr "O dispositivo não foi encontrado"
 
 #. TRANSLATORS: we failed to release the current driver
-#: ../contrib/device-rebind/pk-device-rebind.c:202
+#: ../contrib/device-rebind/pk-device-rebind.c:203
 msgid "Failed to unregister driver"
 msgstr "Falhou a remoção do controlador"
 
 #. TRANSLATORS: we failed to bind the old driver
-#: ../contrib/device-rebind/pk-device-rebind.c:211
+#: ../contrib/device-rebind/pk-device-rebind.c:212
 msgid "Failed to register driver"
 msgstr "Falhou o registo do controlador."
 
 #. TRANSLATORS: user did not specify a device sysfs path that exists
-#: ../contrib/device-rebind/pk-device-rebind.c:260
+#: ../contrib/device-rebind/pk-device-rebind.c:261
 msgid "Device path not found"
 msgstr "Caminho do dispositivo não encontrado"
 
 #. TRANSLATORS: user did not specify a valid device sysfs path
-#: ../contrib/device-rebind/pk-device-rebind.c:268
+#: ../contrib/device-rebind/pk-device-rebind.c:269
 msgid "Incorrect device path specified"
 msgstr "Foi especificado um caminho incorrecto para o dispositivo"
 
+#: ../contrib/device-rebind/pk-device-rebind.c:294
+msgid "Show extra debugging information"
+msgstr "Mostrar informação de depuração adicional"
+
 #. command line argument, simulate what would be done, but don't actually do it
-#: ../contrib/device-rebind/pk-device-rebind.c:296
+#: ../contrib/device-rebind/pk-device-rebind.c:297
 msgid "Don't actually touch the hardware, only simulate what would be done"
 msgstr "Não altera realmente o hardware, apenas simula o que seria feito"
 
 #. TRANSLATORS: command line option: a list of files to install
-#: ../contrib/device-rebind/pk-device-rebind.c:299
+#: ../contrib/device-rebind/pk-device-rebind.c:300
 msgid "Device paths"
 msgstr "Caminhos dos dispositivos"
 
 #. TRANSLATORS: tool that gets called when the device needs reloading after installing firmware
-#: ../contrib/device-rebind/pk-device-rebind.c:314
+#: ../contrib/device-rebind/pk-device-rebind.c:315
 msgid "PackageKit Device Reloader"
 msgstr "PackageKit Device Reloader"
 
 #. TRANSLATORS: user did not specify a valid device sysfs path
-#: ../contrib/device-rebind/pk-device-rebind.c:322
+#: ../contrib/device-rebind/pk-device-rebind.c:323
 msgid "You need to specify at least one valid device path"
 msgstr "Tem de especificar pelo menos um caminho válido para um dispositivo"
 
 #. TRANSLATORS: user did not specify a valid device sysfs path
-#: ../contrib/device-rebind/pk-device-rebind.c:332
+#: ../contrib/device-rebind/pk-device-rebind.c:333
 msgid "This script can only be used by the root user"
 msgstr "Este script apenas pode ser utilizado pelo utilizador root"
 
 #. TRANSLATORS: we're going to verify the path first
-#: ../contrib/device-rebind/pk-device-rebind.c:341
+#: ../contrib/device-rebind/pk-device-rebind.c:342
 msgid "Verifying device path"
 msgstr "A verificar o caminho para o dispositivo"
 
 #. TRANSLATORS: user did not specify a device sysfs path that exists
-#: ../contrib/device-rebind/pk-device-rebind.c:346
+#: ../contrib/device-rebind/pk-device-rebind.c:347
 msgid "Failed to verify device path"
 msgstr "Falha ao verificar caminho do dispositivo"
 
 #. TRANSLATORS: we're going to try
-#: ../contrib/device-rebind/pk-device-rebind.c:360
+#: ../contrib/device-rebind/pk-device-rebind.c:361
 msgid "Attempting to rebind device"
 msgstr "A tentar re-associar dispositivo"
 
 #. TRANSLATORS: we failed to release the current driver
-#: ../contrib/device-rebind/pk-device-rebind.c:365
+#: ../contrib/device-rebind/pk-device-rebind.c:366
 msgid "Failed to rebind device"
 msgstr "Falha ao recarregar o dispositivo"
 
@@ -1060,598 +1106,598 @@ 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:181
+#: ../lib/packagekit-glib2/pk-console-shared.c:183
 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:190
+#: ../lib/packagekit-glib2/pk-console-shared.c:196
 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:242
+#: ../lib/packagekit-glib2/pk-console-shared.c:250
 msgid "Unknown state"
 msgstr "Estado desconhecido"
 
 #. TRANSLATORS: transaction state, the daemon is in the process of starting
-#: ../lib/packagekit-glib2/pk-console-shared.c:246
+#: ../lib/packagekit-glib2/pk-console-shared.c:254
 msgid "Starting"
 msgstr "A iniciar"
 
 #. TRANSLATORS: transaction state, the transaction is waiting for another to complete
-#: ../lib/packagekit-glib2/pk-console-shared.c:250
+#: ../lib/packagekit-glib2/pk-console-shared.c:258
 msgid "Waiting in queue"
 msgstr "A aguardar na fila"
 
 #. TRANSLATORS: transaction state, just started
-#: ../lib/packagekit-glib2/pk-console-shared.c:254
+#: ../lib/packagekit-glib2/pk-console-shared.c:262
 msgid "Running"
 msgstr "A executar"
 
 #. TRANSLATORS: transaction state, is querying data
-#: ../lib/packagekit-glib2/pk-console-shared.c:258
+#: ../lib/packagekit-glib2/pk-console-shared.c:266
 msgid "Querying"
 msgstr "A consultar"
 
 #. TRANSLATORS: transaction state, getting data from a server
-#: ../lib/packagekit-glib2/pk-console-shared.c:262
+#: ../lib/packagekit-glib2/pk-console-shared.c:270
 msgid "Getting information"
 msgstr "A obter informação"
 
 #. TRANSLATORS: transaction state, removing packages
-#: ../lib/packagekit-glib2/pk-console-shared.c:266
+#: ../lib/packagekit-glib2/pk-console-shared.c:274
 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:270
-#: ../lib/packagekit-glib2/pk-console-shared.c:648
+#: ../lib/packagekit-glib2/pk-console-shared.c:278
+#: ../lib/packagekit-glib2/pk-console-shared.c:656
 msgid "Downloading packages"
 msgstr "A transferir pacotes"
 
 #. TRANSLATORS: transaction state, refreshing internal lists
-#: ../lib/packagekit-glib2/pk-console-shared.c:278
+#: ../lib/packagekit-glib2/pk-console-shared.c:286
 msgid "Refreshing software list"
 msgstr "A actualizar a lista de software"
 
 #. TRANSLATORS: transaction state, installing updates
-#: ../lib/packagekit-glib2/pk-console-shared.c:282
+#: ../lib/packagekit-glib2/pk-console-shared.c:290
 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:286
+#: ../lib/packagekit-glib2/pk-console-shared.c:294
 msgid "Cleaning up packages"
 msgstr "A limpar pacotes"
 
 #. TRANSLATORS: transaction state, obsoleting old packages
-#: ../lib/packagekit-glib2/pk-console-shared.c:290
+#: ../lib/packagekit-glib2/pk-console-shared.c:298
 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:294
+#: ../lib/packagekit-glib2/pk-console-shared.c:302
 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:298
+#: ../lib/packagekit-glib2/pk-console-shared.c:306
 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:302
-#: ../lib/packagekit-glib2/pk-console-shared.c:608
+#: ../lib/packagekit-glib2/pk-console-shared.c:310
+#: ../lib/packagekit-glib2/pk-console-shared.c:616
 msgid "Rolling back"
 msgstr "A reverter"
 
 #. TRANSLATORS: transaction state, when we're doing a test transaction
-#: ../lib/packagekit-glib2/pk-console-shared.c:306
+#: ../lib/packagekit-glib2/pk-console-shared.c:314
 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:310
+#: ../lib/packagekit-glib2/pk-console-shared.c:318
 msgid "Committing changes"
 msgstr "A aplicar alterações"
 
 #. TRANSLATORS: transaction state, requesting data from a server
-#: ../lib/packagekit-glib2/pk-console-shared.c:314
+#: ../lib/packagekit-glib2/pk-console-shared.c:322
 msgid "Requesting data"
 msgstr "A pedir dados"
 
 #. TRANSLATORS: transaction state, all done!
-#: ../lib/packagekit-glib2/pk-console-shared.c:318
+#: ../lib/packagekit-glib2/pk-console-shared.c:326
 msgid "Finished"
 msgstr "Terminado"
 
 #. TRANSLATORS: transaction state, in the process of cancelling
-#: ../lib/packagekit-glib2/pk-console-shared.c:322
+#: ../lib/packagekit-glib2/pk-console-shared.c:330
 msgid "Cancelling"
 msgstr "A cancelar"
 
 #. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:326
+#: ../lib/packagekit-glib2/pk-console-shared.c:334
 msgid "Downloading repository information"
 msgstr "A transferir informação dos repositórios"
 
 #. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:330
+#: ../lib/packagekit-glib2/pk-console-shared.c:338
 msgid "Downloading list of packages"
 msgstr "A transferir lista de pacotes"
 
 #. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:334
+#: ../lib/packagekit-glib2/pk-console-shared.c:342
 msgid "Downloading file lists"
 msgstr "A transferir listas de ficheiros"
 
 #. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:338
+#: ../lib/packagekit-glib2/pk-console-shared.c:346
 msgid "Downloading lists of changes"
 msgstr "A transferir listas de alterações"
 
 #. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:342
+#: ../lib/packagekit-glib2/pk-console-shared.c:350
 msgid "Downloading groups"
 msgstr "A transferir grupos"
 
 #. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:346
+#: ../lib/packagekit-glib2/pk-console-shared.c:354
 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:350
+#: ../lib/packagekit-glib2/pk-console-shared.c:358
 msgid "Repackaging files"
 msgstr "A empacotar ficheiros novamente"
 
 #. TRANSLATORS: transaction state, loading databases
-#: ../lib/packagekit-glib2/pk-console-shared.c:354
+#: ../lib/packagekit-glib2/pk-console-shared.c:362
 msgid "Loading cache"
 msgstr "A carregar cache"
 
 #. TRANSLATORS: transaction state, scanning for running processes
-#: ../lib/packagekit-glib2/pk-console-shared.c:358
+#: ../lib/packagekit-glib2/pk-console-shared.c:366
 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:362
+#: ../lib/packagekit-glib2/pk-console-shared.c:370
 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:366
+#: ../lib/packagekit-glib2/pk-console-shared.c:374
 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:370
+#: ../lib/packagekit-glib2/pk-console-shared.c:378
 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:374
+#: ../lib/packagekit-glib2/pk-console-shared.c:382
 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:378
+#: ../lib/packagekit-glib2/pk-console-shared.c:386
 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:382
+#: ../lib/packagekit-glib2/pk-console-shared.c:390
 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:386
+#: ../lib/packagekit-glib2/pk-console-shared.c:394
 msgid "Copying files"
 msgstr "A copiar ficheiros"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:404
+#: ../lib/packagekit-glib2/pk-console-shared.c:412
 msgid "Trivial"
 msgstr "Trivial"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:408
+#: ../lib/packagekit-glib2/pk-console-shared.c:416
 msgid "Normal"
 msgstr "Normal"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:412
+#: ../lib/packagekit-glib2/pk-console-shared.c:420
 msgid "Important"
 msgstr "Importante"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:416
+#: ../lib/packagekit-glib2/pk-console-shared.c:424
 msgid "Security"
 msgstr "Segurança"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:420
+#: ../lib/packagekit-glib2/pk-console-shared.c:428
 msgid "Bug fix "
 msgstr "Correcção de erro"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:424
+#: ../lib/packagekit-glib2/pk-console-shared.c:432
 msgid "Enhancement"
 msgstr "Melhoramentos"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:428
+#: ../lib/packagekit-glib2/pk-console-shared.c:436
 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:433
-#: ../lib/packagekit-glib2/pk-console-shared.c:506
+#: ../lib/packagekit-glib2/pk-console-shared.c:441
+#: ../lib/packagekit-glib2/pk-console-shared.c:514
 msgid "Installed"
 msgstr "Instalado"
 
 #. TRANSLATORS: The state of a package, i.e. not installed
-#: ../lib/packagekit-glib2/pk-console-shared.c:438
+#: ../lib/packagekit-glib2/pk-console-shared.c:446
 msgid "Available"
 msgstr "Disponível"
 
 #. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:456
+#: ../lib/packagekit-glib2/pk-console-shared.c:464
 msgid "Downloading"
 msgstr "A transferir"
 
 #. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:460
+#: ../lib/packagekit-glib2/pk-console-shared.c:468
 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:464
-#: ../lib/packagekit-glib2/pk-console-shared.c:584
+#: ../lib/packagekit-glib2/pk-console-shared.c:472
+#: ../lib/packagekit-glib2/pk-console-shared.c:592
 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:468
-#: ../lib/packagekit-glib2/pk-console-shared.c:580
+#: ../lib/packagekit-glib2/pk-console-shared.c:476
+#: ../lib/packagekit-glib2/pk-console-shared.c:588
 msgid "Removing"
 msgstr "A remover"
 
 #. 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 "Cleaning up"
 msgstr "A limpar"
 
 #. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:476
+#: ../lib/packagekit-glib2/pk-console-shared.c:484
 msgid "Obsoleting"
 msgstr "A torna obsoleto"
 
 #. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:480
+#: ../lib/packagekit-glib2/pk-console-shared.c:488
 msgid "Reinstalling"
 msgstr "A reinstalar"
 
 #. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:498
+#: ../lib/packagekit-glib2/pk-console-shared.c:506
 msgid "Downloaded"
 msgstr "Transferido"
 
 #. 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 "Removed"
 msgstr "Removido"
 
 #. 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 "Cleaned up"
 msgstr "Limpo"
 
 #. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:518
+#: ../lib/packagekit-glib2/pk-console-shared.c:526
 msgid "Obsoleted"
 msgstr "obsoleto"
 
 #. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:522
+#: ../lib/packagekit-glib2/pk-console-shared.c:530
 msgid "Reinstalled"
 msgstr "Reinstalado"
 
 #. 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 "Unknown role type"
 msgstr "Tipo de perfil desconhecido"
 
 #. 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 dependencies"
 msgstr "A obter dependências"
 
 #. 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 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:552
+#: ../lib/packagekit-glib2/pk-console-shared.c:560
 msgid "Getting details"
 msgstr "A obter detalhes"
 
 #. 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 "Getting requires"
 msgstr "A obter obrigatórios"
 
 #. 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 "Getting updates"
 msgstr "A obter actualizações"
 
 #. 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 by details"
 msgstr "A pesquisar por detalhes"
 
 #. 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 file"
 msgstr "A pesquisar por ficheiro"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:572
+#: ../lib/packagekit-glib2/pk-console-shared.c:580
 msgid "Searching groups"
 msgstr "A pesquisar por grupos"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:576
+#: ../lib/packagekit-glib2/pk-console-shared.c:584
 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:588
+#: ../lib/packagekit-glib2/pk-console-shared.c:596
 msgid "Installing files"
 msgstr "A instalar ficheiros"
 
 #. 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 "Refreshing cache"
 msgstr "A actualizar a cache"
 
 #. 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 "Updating packages"
 msgstr "A actualizar pacotes"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:600
+#: ../lib/packagekit-glib2/pk-console-shared.c:608
 msgid "Updating system"
 msgstr "A actualizar sistema"
 
 #. 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 "Canceling"
 msgstr "A cancelar"
 
 #. 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 "Getting repositories"
 msgstr "A obter 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:624
 msgid "Enabling repository"
 msgstr "A activar repositórios"
 
 #. 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 "Setting data"
 msgstr "A definir dados"
 
 #. 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 "Resolving"
 msgstr "A resolver"
 
 #. 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 "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:632
+#: ../lib/packagekit-glib2/pk-console-shared.c:640
 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:636
+#: ../lib/packagekit-glib2/pk-console-shared.c:644
 msgid "Installing signature"
 msgstr "A instalar assinatura"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:640
+#: ../lib/packagekit-glib2/pk-console-shared.c:648
 msgid "Getting packages"
 msgstr "A obter pacotes"
 
 #. 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 "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:652
+#: ../lib/packagekit-glib2/pk-console-shared.c:660
 msgid "Getting upgrades"
 msgstr "A obter actualizações"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:656
+#: ../lib/packagekit-glib2/pk-console-shared.c:664
 msgid "Getting categories"
 msgstr "A obter categorias"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:660
+#: ../lib/packagekit-glib2/pk-console-shared.c:668
 msgid "Getting transactions"
 msgstr "A obter transacções"
 
 #. 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
+#: ../lib/packagekit-glib2/pk-console-shared.c:672
+#: ../lib/packagekit-glib2/pk-console-shared.c:676
 msgid "Simulating install"
 msgstr "A simular instalaçã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:680
 msgid "Simulating remove"
 msgstr "A simular remoção"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:676
+#: ../lib/packagekit-glib2/pk-console-shared.c:684
 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:66
+#: ../lib/packagekit-glib2/pk-task-text.c:69
 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:71
+#: ../lib/packagekit-glib2/pk-task-text.c:74
 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:104
+#: ../lib/packagekit-glib2/pk-task-text.c:123
 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:110
+#: ../lib/packagekit-glib2/pk-task-text.c:129
 msgid "Software source name"
 msgstr "O nome da origem do software"
 
 #. TRANSLATORS: the key URL
-#: ../lib/packagekit-glib2/pk-task-text.c:113
+#: ../lib/packagekit-glib2/pk-task-text.c:132
 msgid "Key URL"
 msgstr "URL Chave"
 
 #. TRANSLATORS: the username of the key
-#: ../lib/packagekit-glib2/pk-task-text.c:116
+#: ../lib/packagekit-glib2/pk-task-text.c:135
 msgid "Key user"
 msgstr "Utilizador Chave"
 
 #. TRANSLATORS: the key ID, usually a few hex digits
-#: ../lib/packagekit-glib2/pk-task-text.c:119
+#: ../lib/packagekit-glib2/pk-task-text.c:138
 msgid "Key ID"
 msgstr "ID da Chave"
 
 #. TRANSLATORS: the key fingerprint, again, yet more hex
-#: ../lib/packagekit-glib2/pk-task-text.c:122
+#: ../lib/packagekit-glib2/pk-task-text.c:141
 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:125
+#: ../lib/packagekit-glib2/pk-task-text.c:144
 msgid "Key Timestamp"
 msgstr "timestamp da Chave"
 
 #. TRANSLATORS: ask the user if they want to import
-#: ../lib/packagekit-glib2/pk-task-text.c:131
+#: ../lib/packagekit-glib2/pk-task-text.c:157
 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:136
+#: ../lib/packagekit-glib2/pk-task-text.c:162
 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:171
+#: ../lib/packagekit-glib2/pk-task-text.c:205
 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:180
+#: ../lib/packagekit-glib2/pk-task-text.c:214
 msgid "Agreement"
 msgstr "Acordo"
 
 #. TRANSLATORS: ask the user if they've read and accepted the EULA
-#: ../lib/packagekit-glib2/pk-task-text.c:186
+#: ../lib/packagekit-glib2/pk-task-text.c:223
 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:191
+#: ../lib/packagekit-glib2/pk-task-text.c:228
 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:221
+#: ../lib/packagekit-glib2/pk-task-text.c:267
 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:224
+#: ../lib/packagekit-glib2/pk-task-text.c:270
 msgid "Media type"
 msgstr "Tipo de Suporte"
 
 #. TRANSLATORS: the media label, usually like 'disk-1of3'
-#: ../lib/packagekit-glib2/pk-task-text.c:227
+#: ../lib/packagekit-glib2/pk-task-text.c:273
 msgid "Media label"
 msgstr "Etiqueta do suporte"
 
 #. TRANSLATORS: the media description, usually like 'Fedora 12 disk 5'
-#: ../lib/packagekit-glib2/pk-task-text.c:230
+#: ../lib/packagekit-glib2/pk-task-text.c:276
 msgid "Text"
 msgstr "Texto"
 
 #. TRANSLATORS: ask the user to insert the media
-#: ../lib/packagekit-glib2/pk-task-text.c:234
+#: ../lib/packagekit-glib2/pk-task-text.c:282
 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:239
+#: ../lib/packagekit-glib2/pk-task-text.c:287
 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:254
+#: ../lib/packagekit-glib2/pk-task-text.c:302
 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:259
+#: ../lib/packagekit-glib2/pk-task-text.c:307
 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:264
+#: ../lib/packagekit-glib2/pk-task-text.c:312
 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:269
+#: ../lib/packagekit-glib2/pk-task-text.c:317
 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:274
+#: ../lib/packagekit-glib2/pk-task-text.c:322
 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:324
+#: ../lib/packagekit-glib2/pk-task-text.c:382
 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:329
+#: ../lib/packagekit-glib2/pk-task-text.c:387
 msgid "The transaction did not proceed."
 msgstr "A transacção não prosseguiu."
 
@@ -1670,16 +1716,23 @@ msgid "Authentication is required to accept a EULA"
 msgstr "Autenticação é necessária para aceitar a EULA"
 
 #: ../policy/org.freedesktop.packagekit.policy.in.h:9
-msgid "Authentication is required to cancel a task that was not started by yourself"
-msgstr "Autenticação é necessária para cancelar uma tarefa que não foi iniciada por si"
+msgid ""
+"Authentication is required to cancel a task that was not started by yourself"
+msgstr ""
+"Autenticação é necessária para cancelar uma tarefa que não foi iniciada por "
+"si"
 
 #: ../policy/org.freedesktop.packagekit.policy.in.h:10
 msgid "Authentication is required to change software source parameters"
 msgstr "Autenticação é necessária para alterar parâmetros do código fonte"
 
 #: ../policy/org.freedesktop.packagekit.policy.in.h:11
-msgid "Authentication is required to consider a key used for signing packages as trusted"
-msgstr "Autenticação é necessária para considerar segura uma chave utilizada para assinar pacotes"
+msgid ""
+"Authentication is required to consider a key used for signing packages as "
+"trusted"
+msgstr ""
+"Autenticação é necessária para considerar segura uma chave utilizada para "
+"assinar pacotes"
 
 #: ../policy/org.freedesktop.packagekit.policy.in.h:12
 msgid "Authentication is required to install a signed package"
@@ -1695,7 +1748,9 @@ msgstr "Autenticação é necessária para actualizar as fontes do sistema"
 
 #: ../policy/org.freedesktop.packagekit.policy.in.h:15
 msgid "Authentication is required to reload the device with a new driver"
-msgstr "Autenticação é necessária para recarregar o dispositivo com o novo controlador"
+msgstr ""
+"Autenticação é necessária para recarregar o dispositivo com o novo "
+"controlador"
 
 #: ../policy/org.freedesktop.packagekit.policy.in.h:16
 msgid "Authentication is required to remove packages"
@@ -1706,8 +1761,12 @@ msgid "Authentication is required to rollback a transaction"
 msgstr "Autenticação é necessária para voltar atrás uma transacção"
 
 #: ../policy/org.freedesktop.packagekit.policy.in.h:18
-msgid "Authentication is required to set the network proxy used for downloading packages"
-msgstr "Autenticação é necessária para configurar o proxy de rede utilizado para transferir pacotes"
+msgid ""
+"Authentication is required to set the network proxy used for downloading "
+"packages"
+msgstr ""
+"Autenticação é necessária para configurar o proxy de rede utilizado para "
+"transferir pacotes"
 
 #: ../policy/org.freedesktop.packagekit.policy.in.h:19
 msgid "Authentication is required to update packages"
@@ -1834,198 +1893,278 @@ msgstr "Isto pode acontecer por duas razões:"
 #. 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 "O executável não está a ser executado pelo utilizador correcto (usualmente, o root)"
+msgstr ""
+"O executável não está a ser executado pelo utilizador correcto (usualmente, "
+"o 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 "O ficheiro org.freedesktop.PackageKit.conf não está instalado no directório do sistema:"
+msgid ""
+"The org.freedesktop.PackageKit.conf file is not installed in the system "
+"directory:"
+msgstr ""
+"O ficheiro org.freedesktop.PackageKit.conf não está instalado no directório "
+"do sistema:"
 
 #. TRANSLATORS: a backend is the system package tool, e.g. yum, apt
-#: ../src/pk-main.c:205
+#: ../src/pk-main.c:199
 msgid "Packaging backend to use, e.g. dummy"
 msgstr "Plataforma de pacotes a utilizar, i.e., yum, apt"
 
 #. TRANSLATORS: if we should run in the background
-#: ../src/pk-main.c:208
+#: ../src/pk-main.c:202
 msgid "Daemonize and detach from the terminal"
 msgstr "Criar o processo como daemon e desligar da consola"
 
 #. TRANSLATORS: if we should not monitor how long we are inactive for
-#: ../src/pk-main.c:214
+#: ../src/pk-main.c:205
 msgid "Disable the idle timer"
 msgstr "Desactivar o contador do tempo inactivo"
 
 #. TRANSLATORS: show version
-#: ../src/pk-main.c:217
+#: ../src/pk-main.c:208
 msgid "Show version and exit"
 msgstr "Mostrar a versão e terminar"
 
 #. TRANSLATORS: exit after we've started up, used for user profiling
-#: ../src/pk-main.c:220
+#: ../src/pk-main.c:211
 msgid "Exit after a small delay"
 msgstr "Sair depois de uma pequena pausa"
 
 #. TRANSLATORS: exit straight away, used for automatic profiling
-#: ../src/pk-main.c:223
+#: ../src/pk-main.c:214
 msgid "Exit after the engine has loaded"
 msgstr "Terminar depois do \"motor\" ter carregado"
 
 #. TRANSLATORS: describing the service that is running
-#: ../src/pk-main.c:238
+#: ../src/pk-main.c:229
 msgid "PackageKit service"
 msgstr "Serviço PackageKit"
 
 #. TRANSLATORS: fatal error, dbus is not running
-#: ../src/pk-main.c:275
+#: ../src/pk-main.c:266
 msgid "Cannot connect to the system bus"
 msgstr "Não foi possível ligar ao barramento do sistema"
 
 #. TRANSLATORS: cannot register on system bus, unknown reason -- geeky error follows
-#: ../src/pk-main.c:334
+#: ../src/pk-main.c:317
 msgid "Error trying to start:"
 msgstr "Erro ao tentar iniciar:"
 
 #: ../src/pk-polkit-action-lookup.c:150
 msgid "To install debugging packages, extra sources need to be enabled"
-msgstr "Para instalar pacotes de depuração, fontes extra precisam de ser activadas"
+msgstr ""
+"Para instalar pacotes de depuração, fontes extra precisam de ser activadas"
 
 #. TRANSLATORS: is not GPG signed
-#: ../src/pk-polkit-action-lookup.c:171
-#: ../src/pk-polkit-action-lookup.c:190
+#: ../src/pk-polkit-action-lookup.c:171 ../src/pk-polkit-action-lookup.c:190
 msgid "The software is not from a trusted source."
 msgstr "O software não é de uma origem de confiança."
 
 #: ../src/pk-polkit-action-lookup.c:176
 msgid "Do not update this package unless you are sure it is safe to do so."
-msgstr "Não actualize este pacote a não ser que tenha a certeza que é seguro fazê-lo."
+msgstr ""
+"Não actualize este pacote a não ser que tenha a certeza que é seguro fazê-lo."
 
 #: ../src/pk-polkit-action-lookup.c:177
 msgid "Do not update these packages unless you are sure it is safe to do so."
-msgstr "Não actualize estes pacotes a não ser que tenha a certeza que é seguro fazê-lo."
+msgstr ""
+"Não actualize estes pacotes a não ser que tenha a certeza que é seguro fazê-"
+"lo."
 
 #: ../src/pk-polkit-action-lookup.c:195
 msgid "Do not install this package unless you are sure it is safe to do so."
-msgstr "Não instale este pacote a não ser que tenha a certeza que é seguro fazê-lo."
+msgstr ""
+"Não instale este pacote a não ser que tenha a certeza que é seguro fazê-lo."
 
 #: ../src/pk-polkit-action-lookup.c:196
 msgid "Do not install these packages unless you are sure it is safe to do so."
-msgstr "Não instale estes pacotes a não ser que tenha a certeza que é seguro fazê-lo."
-
-#. 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 malicioso pode danificar o seu computador ou causar outros danos."
+msgstr ""
+"Não instale estes pacotes a não ser que tenha a certeza que é seguro fazê-lo."
 
 #. TRANSLATORS: too many packages to list each one
-#: ../src/pk-polkit-action-lookup.c:277
+#: ../src/pk-polkit-action-lookup.c:273
 msgid "Many packages"
 msgstr "Muitos pacotes"
 
 #. TRANSLATORS: if the transaction is forced to install only trusted packages
-#: ../src/pk-polkit-action-lookup.c:343
+#: ../src/pk-polkit-action-lookup.c:339
 msgid "Only trusted"
 msgstr "Apenas de confiança"
 
+#. TRANSLATORS: turn on all debugging
+#: ../src/egg-debug.c:388
+msgid "Show debugging information for all files"
+msgstr "Mostrar informação de depuração para todos os ficheiros"
+
+#. TRANSLATORS: a list of modules to debug
+#: ../src/egg-debug.c:459
+msgid "Debug these specific modules"
+msgstr "Depurar estes módulos específicos"
+
+#. TRANSLATORS: a list of functions to debug
+#: ../src/egg-debug.c:462
+msgid "Debug these specific functions"
+msgstr "Depurar estas funções específicas"
+
+#. TRANSLATORS: save to a log
+#: ../src/egg-debug.c:465
+msgid "Log debugging data to a file"
+msgstr "Registar dados de depuração para um ficheiro"
+
+#: ../src/egg-debug.c:469
+msgid "Debugging Options"
+msgstr "Opções de depuração"
+
+#: ../src/egg-debug.c:469
+msgid "Show debugging options"
+msgstr "Mostrar opções de depuração"
+
+#~ msgid "Malicious software can damage your computer or cause other harm."
+#~ msgstr ""
+#~ "Software malicioso pode danificar o seu computador ou causar outros danos."
+
 #~ msgid "Transaction failed with no error"
 #~ msgstr "A transacção falhou sem erro"
+
 #~ msgid "Failed to get transaction list"
 #~ msgstr "Falha ao obter a lista da transacção"
-#~ msgid "Percentage"
-#~ msgstr "Percentagem"
+
 #~ msgid "Please restart the application as it is being used."
 #~ msgstr "Por favor, reinicie a aplicação para completar a actualização."
+
 #~ msgid "The package %s is already installed"
 #~ msgstr "O pacote %s já está instalado"
+
 #~ msgid "The package %s could not be installed: %s"
 #~ msgstr "Não foi possível instalar o pacote %s: %s"
+
 #~ msgid "The package install was canceled!"
 #~ msgstr "A instalação dos pacotes foi cancelada!"
+
 #~ msgid "This tool could not install the packages: %s"
 #~ msgstr "Esta ferramenta não conseguiu instalar os pacotes: %s"
+
 #~ msgid "This tool could not install the files: %s"
 #~ msgstr "Esta ferramenta não conseguiu instalar os ficheiros: %s"
+
 #~ msgid "This tool could not remove %s: %s"
 #~ msgstr "Esta ferramenta não conseguiu remover %s: %s"
+
 #~ msgid "This tool could not remove the packages: %s"
 #~ msgstr "Esta ferramenta não conseguiu remover os pacotes: %s"
+
 #~ msgid "Proceed with additional packages?"
 #~ msgstr "Continuar com os pacotes adicionais?"
+
 #~ msgid "The package removal was canceled!"
 #~ msgstr "A remoção dos pacotes foi cancelada!"
+
 #~ msgid "This tool could not download the package %s as it could not be found"
 #~ msgstr ""
 #~ "Esta ferramenta não conseguiu transferir o pacote %s pois não o conseguiu "
 #~ "encontrar"
+
 #~ msgid "This tool could not download the packages: %s"
 #~ msgstr "Esta ferramenta não conseguiu transferir os pacotes: %s"
+
 #~ msgid "This tool could not update %s: %s"
 #~ msgstr "Esta ferramenta não conseguiu actualizar %s: %s"
+
 #~ msgid "The package update was canceled!"
 #~ msgstr "A actualização dos pacotes foi cancelada!"
+
 #~ msgid "This tool could not get the requirements for %s: %s"
 #~ msgstr "Esta ferramenta não conseguiu obter os requisitos para %s: %s"
+
 #~ msgid "This tool could not get the dependencies for %s: %s"
 #~ msgstr "Esta ferramenta não conseguiu obter as dependências para %s: %s"
+
 #~ msgid "This tool could not get package details for %s: %s"
 #~ msgstr "Esta ferramenta não conseguiu obter os detalhes para %s: %s"
+
 #~ msgid "This tool could not find the files for %s: %s"
 #~ msgstr "Esta ferramenta não conseguiu encontrar os ficheiros para %s: %s"
+
 #~ msgid "This tool could not get the file list for %s: %s"
 #~ msgstr ""
 #~ "Esta ferramenta não conseguiu obter a lista de ficheiros para %s: %s"
+
 #~ msgid "File already exists: %s"
 #~ msgstr "Ficheiro já existe: %s"
+
 #~ msgid "This tool could not get package list: %s"
 #~ msgstr "Esta ferramenta não conseguiu obter a lista de pacotes: %s"
+
 #~ msgid "Failed to save to disk"
 #~ msgstr "A gravação para disco falhou"
+
 #~ msgid "File does not exist: %s"
 #~ msgstr "Ficheiro não existe: %s"
+
 #~ msgid "Packages to add"
 #~ msgstr "Pacotes para adicionar"
+
 #~ msgid "Packages to remove"
 #~ msgstr "Pacotes para remover"
+
 #~ msgid "No new packages need to be installed"
 #~ msgstr "Não existem pacotes novos para instalar"
+
 #~ msgid "not found."
 #~ msgstr "não encontrado."
+
 #~ msgid "No packages can be found to install"
 #~ msgstr "Não foram encontrados pacotes para instalar"
+
 #~ msgid "This tool could not find the update details for %s: %s"
 #~ msgstr ""
 #~ "Esta ferramenta não conseguiu encontrar os detalhes de actualização para %"
 #~ "s: %s"
+
 #~ msgid "This tool could not get the update details for %s: %s"
 #~ msgstr ""
 #~ "Esta ferramenta não conseguiu obter os detalhes de actualização para %s: %"
 #~ "s"
+
 #~ msgid "Error:"
 #~ msgstr "Erro:"
+
 #~ msgid "Repository signature required"
 #~ msgstr "A assinatura do repositório é necessária"
+
 #~ msgid "End user license agreement required"
 #~ msgstr "O acordo de licenciamento com o utilizador final é necessário"
+
 #~ msgid "Do you agree to this license?"
 #~ msgstr "Concorda com esta licença?"
+
 #~ msgid "The license was refused."
 #~ msgstr "A licença foi recusada."
+
 #~ msgid "This tool could not connect to system DBUS."
 #~ msgstr "Esta ferramenta não conseguiu ligar ao sistema DBUS."
+
 #~ msgid "A package name or filename to install is required"
 #~ msgstr "É necessário um nome de pacote ou nome de ficheiro a instalar"
+
 #~ msgid "A list file name to create is required"
 #~ msgstr "É necessário indicar o nome do ficheiro a criar com a lista"
+
 #~ msgid "A list file to open is required"
 #~ msgstr "É necessária uma lista de ficheiros"
+
 #~ msgid "Incorrect privileges for this operation"
 #~ msgstr "Privilégios incorrectos para esta operação"
+
 #~ msgid "Cannot show the list of transactions"
 #~ msgstr "Impossível mostrar a lista de transacções"
+
 #~ msgid "EULA ID"
 #~ msgstr "ID da EULA"
+
 #~ msgid "Media ID"
 #~ msgstr "ID do Suporte:"
+
 #~ msgid "The package could not be found"
 #~ msgstr "O pacote não foi encontrado"
-
commit ab2ac164b8e656433c1338d32cf8c2abafff663b
Author: Anders F Bjorklund <afb at users.sourceforge.net>
Date:   Mon Feb 22 23:30:18 2010 +0100

    smart: make repo-list work with channelsync too

diff --git a/backends/smart/smartBackend.py b/backends/smart/smartBackend.py
index da1b846..91c0b49 100755
--- a/backends/smart/smartBackend.py
+++ b/backends/smart/smartBackend.py
@@ -907,7 +907,8 @@ class PackageKitSmartBackend(PackageKitBaseBackend):
             name = channel.get("name", alias)
             parsed = smart.channel.parseChannelData(channel)
             enabled = True
-            if channel.has_key('disabled') and channel['disabled'] == 'yes':
+            if channel.has_key('disabled') and (channel['disabled'] == 'yes'
+                                            or channel['disabled'] == True):
                 enabled = False
             channel['alias'] = alias
             if self._channel_passes_filters(channel, filters):
commit 899861f3a7bd62a28aace43513e872bc4fb086c1
Author: Anders F Bjorklund <afb at users.sourceforge.net>
Date:   Mon Feb 22 23:02:40 2010 +0100

    smart: change encoding to preferred, replace errors on stdout

diff --git a/backends/smart/smartBackend.py b/backends/smart/smartBackend.py
index 3f977f9..da1b846 100755
--- a/backends/smart/smartBackend.py
+++ b/backends/smart/smartBackend.py
@@ -28,6 +28,8 @@ from packagekit.package import PackagekitPackage
 from packagekit.enums import *
 import re
 import sys
+import codecs
+import locale
 
 # TODO: move Groups to a separate class (including the lookup table)
 # TODO: move Filter to a separate class (and use "PackagekitFilter")
@@ -36,6 +38,11 @@ import sys
 pkprogress = PackagekitProgress()
 pkpackage = PackagekitPackage()
 
+try:
+    ENCODING = locale.getpreferredencoding()
+except locale.Error:
+    ENCODING = "ascii"
+
 def needs_cache(func):
     """ Load smart's channels, and save the cache when done. """
     def cache_wrap(obj, *args, **kwargs):
@@ -148,6 +155,9 @@ class PackageKitSmartBackend(PackageKitBaseBackend):
         PackageKitBaseBackend.__init__(self, args)
         self._cacheloaded = False
 
+        writer = codecs.getwriter(ENCODING)
+        sys.stdout = writer(sys.stdout, errors="replace")
+
         self.ctrl = smart.init()
         smart.iface.object = PackageKitSmartInterface(self.ctrl, self)
         smart.initPlugins()
commit 8502a99f500ec198e10f555e5a23d8434bf5b666
Author: Adrien Bustany <abustany at gnome.org>
Date:   Thu Feb 18 16:12:17 2010 -0300

    PackageKit-Qt: Drop QObject for Package
    
    This commit removes the QObject parent class from the Package class. To handle
    memory management, the QSharedPointer class is used.
    
    Note: All the API is broken by this commit. But it's for your own goodness.

diff --git a/lib/packagekit-qt/src/client.cpp b/lib/packagekit-qt/src/client.cpp
index 007977a..2201c42 100644
--- a/lib/packagekit-qt/src/client.cpp
+++ b/lib/packagekit-qt/src/client.cpp
@@ -273,32 +273,32 @@ Transaction* Client::acceptEula(EulaInfo info)
 	RUN_TRANSACTION(AcceptEula(info.id))
 }
 
-Transaction* Client::downloadPackages(const QList<Package*>& packages)
+Transaction* Client::downloadPackages(const QList<QSharedPointer<Package> >& packages)
 {
 	RUN_TRANSACTION(DownloadPackages(Util::packageListToPids(packages)))
 }
 
-Transaction* Client::downloadPackages(Package* package)
+Transaction* Client::downloadPackages(QSharedPointer<Package> package)
 {
-	return downloadPackages(QList<Package*>() << package);
+	return downloadPackages(QList<QSharedPointer<Package> >() << package);
 }
 
-Transaction* Client::getDepends(const QList<Package*>& packages, Enum::Filters filters, bool recursive)
+Transaction* Client::getDepends(const QList<QSharedPointer<Package> >& packages, Enum::Filters filters, bool recursive)
 {
 	RUN_TRANSACTION(GetDepends(Util::filtersToString(filters), Util::packageListToPids(packages), recursive))
 }
 
-Transaction* Client::getDepends(Package* package, Enum::Filters filters, bool recursive)
+Transaction* Client::getDepends(QSharedPointer<Package> package, Enum::Filters filters, bool recursive)
 {
-	return getDepends(QList<Package*>() << package, filters, recursive);
+	return getDepends(QList<QSharedPointer<Package> >() << package, filters, recursive);
 }
 
-Transaction* Client::getDetails(const QList<Package*>& packages)
+Transaction* Client::getDetails(const QList<QSharedPointer<Package> >& packages)
 {
 	Q_D(Client);
 	CREATE_NEW_TRANSACTION
 
-	foreach(Package* p, packages) {
+	foreach(QSharedPointer<Package> p, packages) {
 		t->d_ptr->packageMap.insert(p->id(), p);
 	}
 
@@ -310,19 +310,19 @@ Transaction* Client::getDetails(const QList<Package*>& packages)
 	return t;
 }
 
-Transaction* Client::getDetails(Package* package)
+Transaction* Client::getDetails(QSharedPointer<Package> package)
 {
-	return getDetails(QList<Package*>() << package);
+	return getDetails(QList<QSharedPointer<Package> >() << package);
 }
 
-Transaction* Client::getFiles(const QList<Package*>& packages)
+Transaction* Client::getFiles(const QList<QSharedPointer<Package> >& packages)
 {
 	RUN_TRANSACTION(GetFiles(Util::packageListToPids(packages)))
 }
 
-Transaction* Client::getFiles(Package* package)
+Transaction* Client::getFiles(QSharedPointer<Package> package)
 {
-	return getFiles(QList<Package*>() << package);
+	return getFiles(QList<QSharedPointer<Package> >() << package);
 }
 
 Transaction* Client::getOldTransactions(uint number)
@@ -340,24 +340,24 @@ Transaction* Client::getRepoList(Enum::Filters filters)
 	RUN_TRANSACTION(GetRepoList(Util::filtersToString(filters)))
 }
 
-Transaction* Client::getRequires(const QList<Package*>& packages, Enum::Filters filters, bool recursive)
+Transaction* Client::getRequires(const QList<QSharedPointer<Package> >& packages, Enum::Filters filters, bool recursive)
 {
 	RUN_TRANSACTION(GetRequires(Util::filtersToString(filters), Util::packageListToPids(packages), recursive))
 }
 
-Transaction* Client::getRequires(Package* package, Enum::Filters filters, bool recursive)
+Transaction* Client::getRequires(QSharedPointer<Package> package, Enum::Filters filters, bool recursive)
 {
-	return getRequires(QList<Package*>() << package, filters, recursive);
+	return getRequires(QList<QSharedPointer<Package> >() << package, filters, recursive);
 }
 
-Transaction* Client::getUpdateDetail(const QList<Package*>& packages)
+Transaction* Client::getUpdateDetail(const QList<QSharedPointer<Package> >& packages)
 {
 	RUN_TRANSACTION(GetUpdateDetail(Util::packageListToPids(packages)))
 }
 
-Transaction* Client::getUpdateDetail(Package* package)
+Transaction* Client::getUpdateDetail(QSharedPointer<Package> package)
 {
-	return getUpdateDetail(QList<Package*>() << package);
+	return getUpdateDetail(QList<QSharedPointer<Package> >() << package);
 }
 
 Transaction* Client::getUpdates(Enum::Filters filters)
@@ -380,17 +380,17 @@ Transaction* Client::installFiles(const QString& file, bool only_trusted)
 	return installFiles(QStringList() << file, only_trusted);
 }
 
-Transaction* Client::installPackages(bool only_trusted, const QList<Package*>& packages)
+Transaction* Client::installPackages(bool only_trusted, const QList<QSharedPointer<Package> >& packages)
 {
 	RUN_TRANSACTION(InstallPackages(only_trusted, Util::packageListToPids(packages)))
 }
 
-Transaction* Client::installPackages(bool only_trusted, Package* p)
+Transaction* Client::installPackages(bool only_trusted, QSharedPointer<Package> p)
 {
-	return installPackages(only_trusted, QList<Package*>() << p);
+	return installPackages(only_trusted, QList<QSharedPointer<Package> >() << p);
 }
 
-Transaction* Client::installSignature(Enum::SigType type, const QString& key_id, Package* p)
+Transaction* Client::installSignature(Enum::SigType type, const QString& key_id, QSharedPointer<Package> p)
 {
 	RUN_TRANSACTION(InstallSignature(Util::enumToString<Enum>(type, "SigType", "Signature"), key_id, p->id()))
 }
@@ -400,14 +400,14 @@ Transaction* Client::refreshCache(bool force)
 	RUN_TRANSACTION(RefreshCache(force))
 }
 
-Transaction* Client::removePackages(const QList<Package*>& packages, bool allow_deps, bool autoremove)
+Transaction* Client::removePackages(const QList<QSharedPointer<Package> >& packages, bool allow_deps, bool autoremove)
 {
 	RUN_TRANSACTION(RemovePackages(Util::packageListToPids(packages), allow_deps, autoremove))
 }
 
-Transaction* Client::removePackages(Package* p, bool allow_deps, bool autoremove)
+Transaction* Client::removePackages(QSharedPointer<Package> p, bool allow_deps, bool autoremove)
 {
-	return removePackages(QList<Package*>() << p, allow_deps, autoremove);
+	return removePackages(QList<QSharedPointer<Package> >() << p, allow_deps, autoremove);
 }
 
 Transaction* Client::repoEnable(const QString& repo_id, bool enable)
@@ -480,12 +480,12 @@ Transaction* Client::searchNames(const QString& search, Enum::Filters filters)
 	return searchNames(QStringList() << search, filters);
 }
 
-Package* Client::searchFromDesktopFile(const QString& path)
+QSharedPointer<Package> Client::searchFromDesktopFile(const QString& path)
 {
 	QSqlDatabase db = QSqlDatabase::database();
 	if (!db.isOpen()) {
 		qDebug() << "Desktop files database is not open";
-		return NULL;
+		return QSharedPointer<Package> (NULL);
 	}
 
 	QSqlQuery q(db);
@@ -493,12 +493,12 @@ Package* Client::searchFromDesktopFile(const QString& path)
 	q.bindValue(":path", path);
 	if(!q.exec()) {
 		qDebug() << "Error while running query " << q.executedQuery();
-		return NULL;
+		return QSharedPointer<Package> (NULL);
 	}
 
-	if (!q.next()) return NULL; // Return NULL if no results
+	if (!q.next()) return QSharedPointer<Package> (NULL); // Return NULL if no results
 
-	return new Package(q.value(0).toString());
+	return QSharedPointer<Package> (new Package(q.value(0).toString()));
 
 }
 
@@ -512,44 +512,44 @@ Transaction* Client::simulateInstallFiles(const QString& file)
 	return simulateInstallFiles(QStringList() << file);
 }
 
-Transaction* Client::simulateInstallPackages(const QList<Package*>& packages)
+Transaction* Client::simulateInstallPackages(const QList<QSharedPointer<Package> >& packages)
 {
 	RUN_TRANSACTION(SimulateInstallPackages(Util::packageListToPids(packages)))
 }
 
-Transaction* Client::simulateInstallPackages(Package* package)
+Transaction* Client::simulateInstallPackages(QSharedPointer<Package> package)
 {
-	return simulateInstallPackages(QList<Package*>() << package);
+	return simulateInstallPackages(QList<QSharedPointer<Package> >() << package);
 }
 
-Transaction* Client::simulateRemovePackages(const QList<Package*>& packages)
+Transaction* Client::simulateRemovePackages(const QList<QSharedPointer<Package> >& packages)
 {
 	RUN_TRANSACTION(SimulateRemovePackages(Util::packageListToPids(packages)))
 }
 
-Transaction* Client::simulateRemovePackages(Package* package)
+Transaction* Client::simulateRemovePackages(QSharedPointer<Package> package)
 {
-	return simulateRemovePackages(QList<Package*>() << package);
+	return simulateRemovePackages(QList<QSharedPointer<Package> >() << package);
 }
 
-Transaction* Client::simulateUpdatePackages(const QList<Package*>& packages)
+Transaction* Client::simulateUpdatePackages(const QList<QSharedPointer<Package> >& packages)
 {
 	RUN_TRANSACTION(SimulateUpdatePackages(Util::packageListToPids(packages)))
 }
 
-Transaction* Client::simulateUpdatePackages(Package* package)
+Transaction* Client::simulateUpdatePackages(QSharedPointer<Package> package)
 {
-	return simulateUpdatePackages(QList<Package*>() << package);
+	return simulateUpdatePackages(QList<QSharedPointer<Package> >() << package);
 }
 
-Transaction* Client::updatePackages(bool only_trusted, const QList<Package*>& packages)
+Transaction* Client::updatePackages(bool only_trusted, const QList<QSharedPointer<Package> >& packages)
 {
 	RUN_TRANSACTION(UpdatePackages(only_trusted, Util::packageListToPids(packages)))
 }
 
-Transaction* Client::updatePackages(bool only_trusted, Package* package)
+Transaction* Client::updatePackages(bool only_trusted, QSharedPointer<Package> package)
 {
-	return updatePackages(only_trusted, QList<Package*>() << package);
+	return updatePackages(only_trusted, QList<QSharedPointer<Package> >() << package);
 }
 
 Transaction* Client::updateSystem(bool only_trusted)
diff --git a/lib/packagekit-qt/src/client.h b/lib/packagekit-qt/src/client.h
index 6e18e58..924fb0c 100644
--- a/lib/packagekit-qt/src/client.h
+++ b/lib/packagekit-qt/src/client.h
@@ -183,7 +183,7 @@ public:
 	 * \li \c type is the signature type
 	 */
 	typedef struct {
-		Package* package;
+		QSharedPointer<Package> package;
 		QString repoId;
 		QString keyUrl;
 		QString keyUserid;
@@ -202,7 +202,7 @@ public:
 	 */
 	typedef struct {
 		QString id;
-		Package* package;
+		QSharedPointer<Package> package;
 		QString vendorName;
 		QString licenseAgreement;
 	} EulaInfo;
@@ -248,9 +248,9 @@ public:
 	 * \li \c issued and \c updated indicate the dates at which the update was issued and updated
 	 */
 	typedef struct {
-		Package* package;
-		QList<Package*> updates;
-		QList<Package*> obsoletes;
+		QSharedPointer<Package> package;
+		QList<QSharedPointer<Package> > updates;
+		QList<QSharedPointer<Package> > obsoletes;
 		QString vendorUrl;
 		QString bugzillaUrl;
 		QString cveUrl;
@@ -293,12 +293,12 @@ public:
 	/**
 	 * Download the given \p packages to a temp dir
 	 */
-	Transaction* downloadPackages(const QList<Package*>& packages);
+	Transaction* downloadPackages(const QList<QSharedPointer<Package> >& packages);
 
 	/**
 	 * This is a convenience function
 	 */
-	Transaction* downloadPackages(Package* package);
+	Transaction* downloadPackages(QSharedPointer<Package> package);
 
 	/**
 	 * Returns the collection categories
@@ -317,24 +317,24 @@ public:
 	 * \sa Transaction::package
 	 *
 	 */
-	Transaction* getDepends(const QList<Package*>& packages, Enum::Filters filters, bool recursive);
-	Transaction* getDepends(Package* package, Enum::Filters filters , bool recursive);
+	Transaction* getDepends(const QList<QSharedPointer<Package> >& packages, Enum::Filters filters, bool recursive);
+	Transaction* getDepends(QSharedPointer<Package> package, Enum::Filters filters , bool recursive);
 
 	/**
 	 * Gets more details about the given \p packages
 	 *
 	 * \sa Transaction::details
 	 */
-	Transaction* getDetails(const QList<Package*>& packages);
-	Transaction* getDetails(Package* package);
+	Transaction* getDetails(const QList<QSharedPointer<Package> >& packages);
+	Transaction* getDetails(QSharedPointer<Package> package);
 
 	/**
 	 * Gets the files contained in the given \p packages
 	 *
 	 * \sa Transaction::files
 	 */
-	Transaction* getFiles(const QList<Package*>& packages);
-	Transaction* getFiles(Package* packages);
+	Transaction* getFiles(const QList<QSharedPointer<Package> >& packages);
+	Transaction* getFiles(QSharedPointer<Package> packages);
 
 	/**
 	 * \brief Gets the last \p number finished transactions
@@ -361,14 +361,14 @@ public:
 	 * The search can be limited using the \p filters parameter. The recursive flag is used to tell
 	 * if the package manager should also search for the package requiring the resulting packages.
 	 */
-	Transaction* getRequires(const QList<Package*>& packages, Enum::Filters filters, bool recursive);
-	Transaction* getRequires(Package* package, Enum::Filters filters, bool recursive);
+	Transaction* getRequires(const QList<QSharedPointer<Package> >& packages, Enum::Filters filters, bool recursive);
+	Transaction* getRequires(QSharedPointer<Package> package, Enum::Filters filters, bool recursive);
 
 	/**
 	 * Retrieves more details about the update for the given \p packages
 	 */
-	Transaction* getUpdateDetail(const QList<Package*>& packages);
-	Transaction* getUpdateDetail(Package* package);
+	Transaction* getUpdateDetail(const QList<QSharedPointer<Package> >& packages);
+	Transaction* getUpdateDetail(QSharedPointer<Package> package);
 
 	/**
 	 * \p Gets the available updates
@@ -395,15 +395,15 @@ public:
 	 *
 	 * \p only_trusted indicates if we should allow installation of untrusted packages (requires a different authorization)
 	 */
-	Transaction* installPackages(bool only_trusted, const QList<Package*>& packages);
-	Transaction* installPackages(bool only_trusted, Package* p);
+	Transaction* installPackages(bool only_trusted, const QList<QSharedPointer<Package> >& packages);
+	Transaction* installPackages(bool only_trusted, QSharedPointer<Package> p);
 
 	/**
 	 * \brief Installs a signature
 	 *
 	 * \p type, \p key_id and \p p generally come from the Transaction::repoSignatureRequired
 	 */
-	Transaction* installSignature(Enum::SigType type, const QString& key_id, Package* p);
+	Transaction* installSignature(Enum::SigType type, const QString& key_id, QSharedPointer<Package> p);
 
 	/**
 	 * Refreshes the package manager's cache
@@ -417,8 +417,8 @@ public:
 	 * packages to be removed. \p autoremove tells the package manager to remove all the package which
 	 * won't be needed anymore after the packages are uninstalled.
 	 */
-	Transaction* removePackages(const QList<Package*>& packages, bool allow_deps, bool autoremove);
-	Transaction* removePackages(Package* p, bool allow_deps, bool autoremove);
+	Transaction* removePackages(const QList<QSharedPointer<Package> >& packages, bool allow_deps, bool autoremove);
+	Transaction* removePackages(QSharedPointer<Package> p, bool allow_deps, bool autoremove);
 
 	/**
 	 * Activates or disables a repository
@@ -483,7 +483,7 @@ public:
 	 * \p path the path to the desktop file (as shipped by the package)
 	 * \return The associated package, or NULL if there's no result
 	 */
-	Package* searchFromDesktopFile(const QString& path);
+	QSharedPointer<Package> searchFromDesktopFile(const QString& path);
 
 	/**
 	 * \brief Simulates an installation of \p files.
@@ -502,8 +502,8 @@ public:
 	 * \note: This method might emit packages with INSTALLING, REMOVING, UPDATING,
 	 *        REINSTALLING or OBSOLETING status.
 	 */
-	Transaction* simulateInstallPackages(const QList<Package*>& packages);
-	Transaction* simulateInstallPackages(Package* package);
+	Transaction* simulateInstallPackages(const QList<QSharedPointer<Package> >& packages);
+	Transaction* simulateInstallPackages(QSharedPointer<Package> package);
 
 	/**
 	 * \brief Simulates a removal of \p packages.
@@ -512,8 +512,8 @@ public:
 	 * \note: This method might emit packages with INSTALLING, REMOVING, UPDATING,
 	 *        REINSTALLING or OBSOLETING status.
 	 */
-	Transaction* simulateRemovePackages(const QList<Package*>& packages);
-	Transaction* simulateRemovePackages(Package* package);
+	Transaction* simulateRemovePackages(const QList<QSharedPointer<Package> >& packages);
+	Transaction* simulateRemovePackages(QSharedPointer<Package> package);
 
 	/**
 	 * \brief Simulates an update of \p packages.
@@ -522,14 +522,14 @@ public:
 	 * \note: This method might emit packages with INSTALLING, REMOVING, UPDATING,
 	 *        REINSTALLING or OBSOLETING status.
 	 */
-	Transaction* simulateUpdatePackages(const QList<Package*>& packages);
-	Transaction* simulateUpdatePackages(Package* package);
+	Transaction* simulateUpdatePackages(const QList<QSharedPointer<Package> >& packages);
+	Transaction* simulateUpdatePackages(QSharedPointer<Package> package);
 
 	/**
 	 * Update the given \p packages
 	 */
-	Transaction* updatePackages(bool only_trusted, const QList<Package*>& packages);
-	Transaction* updatePackages(bool only_trusted, Package* package);
+	Transaction* updatePackages(bool only_trusted, const QList<QSharedPointer<Package> >& packages);
+	Transaction* updatePackages(bool only_trusted, QSharedPointer<Package> package);
 
 	/**
 	 * Updates the whole system
diff --git a/lib/packagekit-qt/src/clientprivate.h b/lib/packagekit-qt/src/clientprivate.h
index 8b9f7a7..50bfc83 100644
--- a/lib/packagekit-qt/src/clientprivate.h
+++ b/lib/packagekit-qt/src/clientprivate.h
@@ -49,7 +49,7 @@ public:
 
 	Client::DaemonError error;
 
-	Package* packageFromCache(const QString& pid);
+	QSharedPointer<Package> packageFromCache(const QString& pid);
 	void removeTransactionFromPool(const QString &tid);
 
 public Q_SLOTS:
@@ -65,7 +65,7 @@ private:
 	friend class Client;
 	ClientPrivate(Client* parent);
 
-	QHash<QString, Package*> retrievedPackages;
+	QHash<QString, QSharedPointer<Package> > retrievedPackages;
 };
 
 } // End namespace PackageKit
diff --git a/lib/packagekit-qt/src/package.cpp b/lib/packagekit-qt/src/package.cpp
index 97b2b9a..bd5a110 100644
--- a/lib/packagekit-qt/src/package.cpp
+++ b/lib/packagekit-qt/src/package.cpp
@@ -29,7 +29,7 @@ using namespace PackageKit;
 class Package::DetailsPrivate
 {
 public:
-	Package* package;
+	QSharedPointer<Package> package;
 	QString license;
 	Enum::Group group;
 	QString description;
@@ -37,7 +37,7 @@ public:
 	uint size;
 };
 
-Package::Details::Details(Package* p, const QString& license, const QString& group, const QString& detail, const QString& url, qulonglong size) : d_ptr(new DetailsPrivate)
+Package::Details::Details(QSharedPointer<Package> p, const QString& license, const QString& group, const QString& detail, const QString& url, qulonglong size) : d_ptr(new DetailsPrivate)
 {
 	Q_D(Details);
 	d->package = p;
@@ -53,7 +53,7 @@ Package::Details::~Details()
 	delete d_ptr;
 }
 
-Package* Package::Details::package() const
+QSharedPointer<Package> Package::Details::package() const
 {
 	Q_D(const Details);
 	return d->package;
@@ -105,8 +105,8 @@ public:
 	QString iconPath;
 };
 
-Package::Package(const QString& packageId, const QString& info, const QString& summary, QObject *parent)
-    : QObject(parent), d(new Private)
+Package::Package(const QString& packageId, const QString& info, const QString& summary)
+    : d(new Private)
 {
 	d->id = packageId;
 
diff --git a/lib/packagekit-qt/src/package.h b/lib/packagekit-qt/src/package.h
index 69d0de5..2c5bf6f 100644
--- a/lib/packagekit-qt/src/package.h
+++ b/lib/packagekit-qt/src/package.h
@@ -37,7 +37,7 @@ namespace PackageKit {
  *
  * \note All Package objects should be deleted by the user.
  */
-class Package : public QObject
+class Package
 {
 public:
 	/**
@@ -99,7 +99,7 @@ public:
 			 * Returns the package these details are linked to
 			 * \return the Package object to which these details are related
 			 */
-			Package* package() const;
+			QSharedPointer<Package> package() const;
 
 			/**
 			 * Returns the package's license
@@ -133,7 +133,7 @@ public:
 			Q_DECLARE_PRIVATE(Details);
 			friend class Package;
 			friend class TransactionPrivate;
-			Details(Package* p, const QString& license, const QString& group, const QString& detail, const QString& url, qulonglong size);
+			Details(QSharedPointer<Package> p, const QString& license, const QString& group, const QString& detail, const QString& url, qulonglong size);
 	};
 
 	/**
@@ -166,7 +166,7 @@ private:
 	friend class TransactionPrivate;
 	friend class Details;
 	friend class Client;
-	Package(const QString& packageId, const QString& info = QString(), const QString& summary = QString(), QObject *parent = 0);
+	Package(const QString& packageId, const QString& info = QString(), const QString& summary = QString());
 	void setDetails(Details* det);
 	void setInfoSummary(const QString& info, const QString& summary);
 	class Private;
diff --git a/lib/packagekit-qt/src/transaction.cpp b/lib/packagekit-qt/src/transaction.cpp
index 739f0a8..f17b389 100644
--- a/lib/packagekit-qt/src/transaction.cpp
+++ b/lib/packagekit-qt/src/transaction.cpp
@@ -115,10 +115,10 @@ void Transaction::cancel()
 	}
 }
 
-Package* Transaction::lastPackage() const
+QSharedPointer<Package> Transaction::lastPackage() const
 {
 	Q_D(const Transaction);
-	return new Package(d->p->lastPackage ());
+	return QSharedPointer<Package> (new Package(d->p->lastPackage ()));
 }
 
 uint Transaction::percentage() const
diff --git a/lib/packagekit-qt/src/transaction.h b/lib/packagekit-qt/src/transaction.h
index 01f1819..8af1b9a 100644
--- a/lib/packagekit-qt/src/transaction.h
+++ b/lib/packagekit-qt/src/transaction.h
@@ -98,7 +98,7 @@ public:
 	 * \sa transactionListChanged
 	 * \sa getTransactionList
 	 */
-	Package* lastPackage() const;
+	QSharedPointer<Package> lastPackage() const;
 
 	/**
 	 * The percentage complete of the whole transaction.
@@ -232,7 +232,7 @@ Q_SIGNALS:
 	 * Sends additional details about the \p package
 	 * \sa Client::getDetails
 	 */
-	void details(PackageKit::Package* package);
+	void details(QSharedPointer<PackageKit::Package> package);
 
 	/**
 	 * Sent when the transaction has been destroyed and is
@@ -271,7 +271,7 @@ Q_SIGNALS:
 	 * Sends the \p filenames contained in package \p p
 	 * \sa Client::getFiles
 	 */
-	void files(PackageKit::Package* p, const QStringList& filenames);
+	void files(QSharedPointer<PackageKit::Package> p, const QStringList& filenames);
 
 	/**
 	 * Emitted when the transaction finishes
@@ -290,7 +290,7 @@ Q_SIGNALS:
 	/**
 	 * Emitted when the transaction sends a new package
 	 */
-	void package(PackageKit::Package* p);
+	void package(QSharedPointer<PackageKit::Package> p);
 
 	/**
 	 * Sends some additional details about a software repository
@@ -307,7 +307,7 @@ Q_SIGNALS:
 	 * Indicates that a restart is required
 	 * \p package is the package who triggered the restart signal
 	 */
-	void requireRestart(PackageKit::Enum::Restart type, Package* p);
+	void requireRestart(PackageKit::Enum::Restart type, QSharedPointer<PackageKit::Package> p);
 
 	/**
 	 * Sends an old transaction
diff --git a/lib/packagekit-qt/src/transactionprivate.cpp b/lib/packagekit-qt/src/transactionprivate.cpp
index c1f3b40..be2a946 100644
--- a/lib/packagekit-qt/src/transactionprivate.cpp
+++ b/lib/packagekit-qt/src/transactionprivate.cpp
@@ -37,11 +37,11 @@ TransactionPrivate::~TransactionPrivate()
 
 void TransactionPrivate::details(const QString& pid, const QString& license, const QString& group, const QString& detail, const QString& url, qulonglong size)
 {
-	Package* p = packageMap.value(pid, NULL);
+	QSharedPointer<Package> p = packageMap.value(pid, QSharedPointer<Package> (NULL));
 	if(p) {
 		packageMap.remove(pid);
 	} else {
-		p = new Package(pid);
+		p = QSharedPointer<Package> (new Package(pid));
 	}
 
 	Package::Details* d = new Package::Details(p, license, group, detail, url, size);
@@ -63,7 +63,7 @@ void TransactionPrivate::eulaRequired(const QString& eulaId, const QString& pid,
 {
 	Client::EulaInfo i;
 	i.id = eulaId;
-	i.package = new Package(pid);
+	i.package = QSharedPointer<Package> (new Package(pid));
 	i.vendorName = vendor;
 	i.licenseAgreement = licenseAgreement;
 	t->eulaRequired(i);
@@ -76,7 +76,7 @@ void TransactionPrivate::mediaChangeRequired(const QString& mediaType, const QSt
 
 void TransactionPrivate::files(const QString& pid, const QString& filenames)
 {
-	t->files(new Package(pid), filenames.split(";"));
+	t->files(QSharedPointer<Package> (new Package(pid)), filenames.split(";"));
 }
 
 void TransactionPrivate::finished(const QString& exitCode, uint runtime)
@@ -98,13 +98,13 @@ void TransactionPrivate::message(const QString& type, const QString& message)
 
 void TransactionPrivate::package(const QString& info, const QString& pid, const QString& summary)
 {
-	t->package(new Package(pid, info, summary));
+	t->package(QSharedPointer<Package> (new Package(pid, info, summary)));
 }
 
 void TransactionPrivate::repoSignatureRequired(const QString& pid, const QString& repoName, const QString& keyUrl, const QString& keyUserid, const QString& keyId, const QString& keyFingerprint, const QString& keyTimestamp, const QString& type)
 {
 	Client::SignatureInfo i;
-	i.package = new Package(pid);
+	i.package = QSharedPointer<Package> (new Package(pid));
 	i.repoId = repoName;
 	i.keyUrl = keyUrl;
 	i.keyUserid = keyUserid;
@@ -118,7 +118,7 @@ void TransactionPrivate::repoSignatureRequired(const QString& pid, const QString
 
 void TransactionPrivate::requireRestart(const QString& type, const QString& pid)
 {
-	t->requireRestart((Enum::Restart)Util::enumFromString<Enum>(type, "Restart", "Restart"), new Package(pid));
+	t->requireRestart((Enum::Restart)Util::enumFromString<Enum>(type, "Restart", "Restart"), QSharedPointer<Package> (new Package(pid)));
 }
 
 void TransactionPrivate::transaction(const QString& oldTid, const QString& timespec, bool succeeded, const QString& role, uint duration, const QString& data, uint uid, const QString& cmdline)
@@ -129,15 +129,15 @@ void TransactionPrivate::transaction(const QString& oldTid, const QString& times
 void TransactionPrivate::updateDetail(const QString& pid, const QString& updates, const QString& obsoletes, const QString& vendorUrl, const QString& bugzillaUrl, const QString& cveUrl, const QString& restart, const QString& updateText, const QString& changelog, const QString& state, const QString& issued, const QString& updated)
 {
 	Client::UpdateInfo i;
-	i.package = new Package(pid);
+	i.package = QSharedPointer<Package> (new Package(pid));
 	if( !updates.isEmpty() ) {
 		foreach(const QString p, updates.split("&")) {
-			i.updates.append(new Package(p));
+			i.updates.append(QSharedPointer<Package> (new Package(p)));
 		}
 	}
 	if( !obsoletes.isEmpty() ) {
 		foreach(const QString p, obsoletes.split("&")) {
-			i.obsoletes.append(new Package(p));
+			i.obsoletes.append(QSharedPointer<Package> (new Package(p)));
 		}
 	}
 	i.vendorUrl = vendorUrl;
diff --git a/lib/packagekit-qt/src/transactionprivate.h b/lib/packagekit-qt/src/transactionprivate.h
index 1e1218f..4227709 100644
--- a/lib/packagekit-qt/src/transactionprivate.h
+++ b/lib/packagekit-qt/src/transactionprivate.h
@@ -54,7 +54,7 @@ public:
 	QString cmdline;
 
 	// Used for getDetails
-	QHash<QString, Package*> packageMap;
+	QHash<QString, QSharedPointer<Package> > packageMap;
 
 	Client::DaemonError error;
 
diff --git a/lib/packagekit-qt/src/util.cpp b/lib/packagekit-qt/src/util.cpp
index 2420717..a687153 100644
--- a/lib/packagekit-qt/src/util.cpp
+++ b/lib/packagekit-qt/src/util.cpp
@@ -23,10 +23,10 @@
 
 using namespace PackageKit;
 
-QStringList Util::packageListToPids(const QList<Package*>& packages)
+QStringList Util::packageListToPids(const QList<QSharedPointer<Package> >& packages)
 {
 	QStringList pids;
-	foreach(Package* p, packages)
+	foreach(QSharedPointer<Package> p, packages)
 		pids.append(p->id());
 
 	return pids;
diff --git a/lib/packagekit-qt/src/util.h b/lib/packagekit-qt/src/util.h
index 42550a9..ba7d90f 100644
--- a/lib/packagekit-qt/src/util.h
+++ b/lib/packagekit-qt/src/util.h
@@ -130,7 +130,7 @@ public:
 		return pkName.toLower();
 	};
 
-	static QStringList packageListToPids(const QList<Package*>& packages);
+	static QStringList packageListToPids(const QList<QSharedPointer<Package> >& packages);
 
 	static QString filtersToString(const QFlags<PackageKit::Enum::Filter>& flags);
 
diff --git a/lib/packagekit-qt/test/transactiontest.cpp b/lib/packagekit-qt/test/transactiontest.cpp
index fb19a47..03fcffc 100644
--- a/lib/packagekit-qt/test/transactiontest.cpp
+++ b/lib/packagekit-qt/test/transactiontest.cpp
@@ -4,7 +4,7 @@ using namespace PackageKit;
 
 TransactionTest::TransactionTest(QObject* parent) : QObject(parent) 
 {
-	currentPackage = NULL;
+	currentPackage = QSharedPointer<Package> (NULL);
 	connect (PackageKit::Client::instance(), SIGNAL(error(PackageKit::Client::DaemonError)), this, SLOT(error(PackageKit::Client::DaemonError)));
 }
 
@@ -18,7 +18,7 @@ void TransactionTest::searchName()
 	Transaction* t = PackageKit::Client::instance()->searchNames("vim");
 	qDebug() << "searchName";
 	QEventLoop el;
-	connect(t, SIGNAL(package(PackageKit::Package*)), this, SLOT(searchName_cb(PackageKit::Package*)));
+	connect(t, SIGNAL(package(QSharedPointer<PackageKit::Package>)), this, SLOT(searchName_cb(QSharedPointer<PackageKit::Package>)));
 	connect(t, SIGNAL(finished(PackageKit::Enum::Exit, uint)), &el, SLOT(quit()));
 	el.exec();
 	CPPUNIT_ASSERT_MESSAGE("searchName", success);
@@ -27,7 +27,7 @@ void TransactionTest::searchName()
 void TransactionTest::searchDesktop()
 {
 	success = FALSE;
-	Package* p = PackageKit::Client::instance()->searchFromDesktopFile("/usr/share/applications/gnome-terminal.desktop");
+	QSharedPointer<Package> p = PackageKit::Client::instance()->searchFromDesktopFile("/usr/share/applications/gnome-terminal.desktop");
 	qDebug() << "searchDesktop";
 	CPPUNIT_ASSERT_MESSAGE("searchDesktop", p);
 }
@@ -39,7 +39,7 @@ void TransactionTest::resolveAndInstallAndRemove()
 	Transaction* t = c->resolve("glib2");
 	qDebug() << "Resolving";
 	QEventLoop el;
-	connect(t, SIGNAL(package(PackageKit::Package*)), this, SLOT(resolveAndInstallAndRemove_cb(PackageKit::Package*)));
+	connect(t, SIGNAL(package(QSharedPointer<PackageKit::Package>)), this, SLOT(resolveAndInstallAndRemove_cb(QSharedPointer<PackageKit::Package>)));
 	connect(t, SIGNAL(finished(PackageKit::Enum::Exit, uint)), &el, SLOT(quit()));
 	el.exec();
 	CPPUNIT_ASSERT_MESSAGE("resolve", success);
@@ -55,8 +55,6 @@ void TransactionTest::resolveAndInstallAndRemove()
 	qDebug() << "Removing";
 	connect(t, SIGNAL(finished(PackageKit::Enum::Exit, uint)), &el, SLOT(quit()));
 	el.exec();
-
-	delete(currentPackage);
 }
 
 void TransactionTest::refreshCache()
@@ -106,14 +104,15 @@ void TransactionTest::getRepos()
 	CPPUNIT_ASSERT_MESSAGE("getRepoList (filtered)", success);
 }
 
-void TransactionTest::searchName_cb(Package* p)
+void TransactionTest::searchName_cb(QSharedPointer<Package> p)
 {
-	delete(p);
+	qDebug() << "Emitted package: " << p->name ();
 	success = TRUE;
 }
 
-void TransactionTest::resolveAndInstallAndRemove_cb(Package* p)
+void TransactionTest::resolveAndInstallAndRemove_cb(QSharedPointer<Package> p)
 {
+	qDebug () << "Emitted package: " << p->name ();
 	currentPackage = p;
 	success = TRUE;
 }
diff --git a/lib/packagekit-qt/test/transactiontest.h b/lib/packagekit-qt/test/transactiontest.h
index b7ebd60..13f2db6 100644
--- a/lib/packagekit-qt/test/transactiontest.h
+++ b/lib/packagekit-qt/test/transactiontest.h
@@ -32,8 +32,8 @@ public:
 	void getRepos();
 
 public slots:
-	void searchName_cb(PackageKit::Package* p);
-	void resolveAndInstallAndRemove_cb(PackageKit::Package* p);
+	void searchName_cb(QSharedPointer<PackageKit::Package> p);
+	void resolveAndInstallAndRemove_cb(QSharedPointer<PackageKit::Package> p);
 	void getDistroUpgrades_cb();
 	void getRepos_cb(const QString& repoName, const QString& repoDetail, bool enabled);
 
@@ -41,7 +41,7 @@ public slots:
 
 private:
 	bool success;
-	PackageKit::Package* currentPackage;
+	QSharedPointer<PackageKit::Package> currentPackage;
 
 };
 
commit 58fb8cc1671b4e1aba770186ba7691cb17c28837
Author: Fabio Erculiani <lxnay at sabayon.org>
Date:   Mon Feb 22 12:57:51 2010 +0100

    portage: add myself to authors

diff --git a/backends/portage/pk-backend-portage.c b/backends/portage/pk-backend-portage.c
index c98aaa5..12e42cb 100644
--- a/backends/portage/pk-backend-portage.c
+++ b/backends/portage/pk-backend-portage.c
@@ -490,7 +490,7 @@ backend_simulate_install_packages (PkBackend *backend, gchar **package_ids)
 
 PK_BACKEND_OPTIONS (
 	"Portage",				/* description */
-	"Mounir Lamouri (volkmar) <mounir.lamouri at gmail.com>",	/* author */
+	"Mounir Lamouri (volkmar) <mounir.lamouri at gmail.com>, Fabio Erculiani <lxnay at sabayon.org>",	/* author */
 	backend_initialize,			/* initalize */
 	backend_destroy,			/* destroy */
 	backend_get_groups,			/* get_groups */
commit f20dca5c666846f62a6c21a2e64c1f44abedf230
Author: Fabio Erculiani <lxnay at sabayon.org>
Date:   Sat Feb 20 17:07:01 2010 +0100

    portage: port backend to new API

diff --git a/backends/portage/portageBackend.py b/backends/portage/portageBackend.py
index eb00ae0..c9d6508 100755
--- a/backends/portage/portageBackend.py
+++ b/backends/portage/portageBackend.py
@@ -224,12 +224,11 @@ class PackageKitPortageMixin(object):
             return True
         return False
 
-    def _get_search_list(self, keys):
+    def _get_search_list(self, keys_list):
         '''
         Get a string composed of keys (separated with spaces).
         Returns a list of compiled regular expressions.
         '''
-        keys_list = keys.split()
         search_list = []
 
         for k in keys_list:
@@ -1656,7 +1655,7 @@ class PackageKitPortageBackend(PackageKitPortageMixin, PackageKitBaseBackend):
 
         self.percentage(100)
 
-    def search_group(self, filters, group):
+    def search_group(self, filters, groups):
         # TODO: filter unknown groups before searching ? (optimization)
         self.status(STATUS_QUERY)
         self.allow_cancel(True)
@@ -1668,16 +1667,17 @@ class PackageKitPortageBackend(PackageKitPortageMixin, PackageKitBaseBackend):
         cp_processed = 0.0
 
         for cp in cp_list:
-            if self._get_pk_group(cp) == group:
-                for cpv in self._get_all_cpv(cp, fltlist):
-                    self._package(cpv)
+            for group in groups:
+                if self._get_pk_group(cp) == group:
+                    for cpv in self._get_all_cpv(cp, fltlist):
+                        self._package(cpv)
 
             cp_processed += 100.0
             self.percentage(int(cp_processed/nb_cp))
 
         self.percentage(100)
 
-    def search_name(self, filters, keys):
+    def search_name(self, filters, keys_list):
         # searching for all keys in package name
         # also filtering by categories if categery is specified in a key
         # keys contain more than one category name, no results can be found
@@ -1686,7 +1686,6 @@ class PackageKitPortageBackend(PackageKitPortageMixin, PackageKitBaseBackend):
         self.percentage(0)
 
         categories = []
-        keys_list = keys.split(' ')
         for k in keys_list[:]:
             if "/" in k:
                 cat, cp = portage.versions.catsplit(k)
commit cb115d8021dcc11fc18ad9d7977a55afcb7f71ae
Author: Fabio Erculiani <lxnay at sabayon.org>
Date:   Sat Feb 20 16:57:12 2010 +0100

    entropy: port backend to new API

diff --git a/backends/entropy/entropyBackend.py b/backends/entropy/entropyBackend.py
index 1179c5a..a377a45 100755
--- a/backends/entropy/entropyBackend.py
+++ b/backends/entropy/entropyBackend.py
@@ -41,12 +41,13 @@ from packagekit.backend import PackageKitBaseBackend, \
     GROUP_SYSTEM, GROUP_SECURITY, GROUP_OTHER, GROUP_DESKTOP_XFCE, \
     GROUP_UNKNOWN, INFO_IMPORTANT, INFO_NORMAL, INFO_DOWNLOADING, \
     INFO_INSTALLED, INFO_REMOVING, INFO_INSTALLING, \
+    ERROR_INVALID_PACKAGE_FILE, ERROR_FILE_NOT_FOUND, \
     INFO_AVAILABLE, get_package_id, split_package_id, MESSAGE_UNKNOWN, \
     MESSAGE_AUTOREMOVE_IGNORED, MESSAGE_CONFIG_FILES_CHANGED, STATUS_INFO, \
     MESSAGE_COULD_NOT_FIND_PACKAGE, MESSAGE_REPO_METADATA_DOWNLOAD_FAILED, \
     STATUS_QUERY, STATUS_DEP_RESOLVE, STATUS_REMOVE, STATUS_DOWNLOAD, \
     STATUS_INSTALL, STATUS_RUNNING, STATUS_REFRESH_CACHE, \
-    UPDATE_STATE_TESTING, UPDATE_STATE_STABLE
+    UPDATE_STATE_TESTING, UPDATE_STATE_STABLE, EXIT_EULA_REQUIRED
 
 from packagekit.package import PackagekitPackage
 
@@ -1418,10 +1419,10 @@ class PackageKitEntropyBackend(PackageKitBaseBackend, PackageKitEntropyMixin):
 
         self.percentage(100)
 
-    def search_details(self, filters, keys):
+    def search_details(self, filters, search_keys):
 
         self._log_message(__name__, "search_details: got %s and %s" % (
-            filters, keys,))
+            filters, search_keys,))
 
         self.status(STATUS_QUERY)
         self.allow_cancel(True)
@@ -1429,7 +1430,6 @@ class PackageKitEntropyBackend(PackageKitBaseBackend, PackageKitEntropyMixin):
 
         repos = self._get_all_repos()
 
-        search_keys = keys.split("&")
         pkgs = set()
         count = 0
         max_count = len(repos)
@@ -1456,10 +1456,10 @@ class PackageKitEntropyBackend(PackageKitBaseBackend, PackageKitEntropyMixin):
 
         self.percentage(100)
 
-    def search_file(self, filters, keys):
+    def search_file(self, filters, search_keys):
 
         self._log_message(__name__, "search_file: got %s and %s" % (
-            filters, keys,))
+            filters, search_keys,))
 
         self.status(STATUS_QUERY)
         self.allow_cancel(True)
@@ -1468,7 +1468,6 @@ class PackageKitEntropyBackend(PackageKitBaseBackend, PackageKitEntropyMixin):
         reverse_symlink_map = self._settings['system_rev_symlinks']
         repos = self._get_all_repos()
 
-        search_keys = keys.split("&")
         pkgs = set()
         count = 0
         max_count = len(repos)
@@ -1515,10 +1514,10 @@ class PackageKitEntropyBackend(PackageKitBaseBackend, PackageKitEntropyMixin):
 
         self.percentage(100)
 
-    def search_group(self, filters, group):
+    def search_group(self, filters, groups):
 
         self._log_message(__name__, "search_group: got %s and %s" % (
-            filters, group,))
+            filters, groups,))
 
         self.status(STATUS_QUERY)
         self.allow_cancel(True)
@@ -1532,12 +1531,13 @@ class PackageKitEntropyBackend(PackageKitBaseBackend, PackageKitEntropyMixin):
             all_matched_categories.update(e_data['categories'])
         all_matched_categories = sorted(all_matched_categories)
 
-        entropy_group = self._get_entropy_group(group)
-        # group_data is None when there's no matching group
-        group_data = entropy_groups.get(entropy_group)
         selected_categories = set()
-        if group_data is not None:
-            selected_categories.update(group_data['categories'])
+        for group in groups:
+            entropy_group = self._get_entropy_group(group)
+            # group_data is None when there's no matching group
+            group_data = entropy_groups.get(entropy_group)
+            if group_data is not None:
+                selected_categories.update(group_data['categories'])
 
         # if selected_categories is empty, then pull in pkgs with non matching
         # category in all_matched_categories
@@ -1572,10 +1572,10 @@ class PackageKitEntropyBackend(PackageKitBaseBackend, PackageKitEntropyMixin):
         # now feed stdout
         self._pk_feed_sorted_pkgs(pkgs)
 
-    def search_name(self, filters, keys):
+    def search_name(self, filters, search_keys):
 
         self._log_message(__name__, "search_name: got %s and %s" % (
-            filters, keys,))
+            filters, search_keys,))
 
         self.status(STATUS_QUERY)
         self.allow_cancel(True)
@@ -1583,7 +1583,6 @@ class PackageKitEntropyBackend(PackageKitBaseBackend, PackageKitEntropyMixin):
 
         repos = self._get_all_repos()
 
-        search_keys = keys.split("&")
         pkgs = set()
         count = 0
         max_count = len(repos)
commit 45222ee64b4900e59fc42ece094d49eeb7f9db10
Author: alshopov <alshopov at fedoraproject.org>
Date:   Sat Feb 20 07:28:04 2010 +0000

    Sending translation for Bulgarian

diff --git a/po/bg.po b/po/bg.po
index d390649..a16611f 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -1,14 +1,14 @@
 # Bulgarian translation of packagekit po-file.
-# Copyright (C) 2008, 2009 Alexander Shopov
-# Alexander Shopov <ash at contact.bg>, 2008, 2009.
+# Copyright (C) 2008, 2009, 2010 Alexander Shopov
+# Alexander Shopov <ash at kambanaria.org>, 2008, 2009, 2010.
 #
 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-05-27 13:28+0300\n"
-"Last-Translator: Alexander Shopov <ash at contact.bg>\n"
+"POT-Creation-Date: 2010-02-20 09:21+0200\n"
+"PO-Revision-Date: 2010-02-18 07:49+0200\n"
+"Last-Translator: Alexander Shopov <ash at kambanara.org>\n"
 "Language-Team: Bulgarian <dict at fsa-bg.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -16,170 +16,176 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 
 #. TRANSLATORS: this is an atomic transaction
-#: ../client/pk-console.c:235
+#. TRANSLATORS: the role is the point of the transaction, e.g. update-system
+#: ../client/pk-console.c:175 ../client/pk-console.c:597
 msgid "Transaction"
 msgstr "Транзакция"
 
 #. TRANSLATORS: this is the time the transaction was started in system timezone
-#: ../client/pk-console.c:237
+#: ../client/pk-console.c:177
 msgid "System time"
 msgstr "Системно време"
 
 #. TRANSLATORS: this is if the transaction succeeded or not
-#: ../client/pk-console.c:239
+#: ../client/pk-console.c:179
 msgid "Succeeded"
 msgstr "Успех"
 
-#. TRANSLATORS: if the repo is enabled
-#: ../client/pk-console.c:239 ../client/pk-console.c:406
+#: ../client/pk-console.c:179
 msgid "True"
 msgstr "Истина"
 
-#: ../client/pk-console.c:239 ../client/pk-console.c:406
+#: ../client/pk-console.c:179
 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:181 ../src/pk-polkit-action-lookup.c:332
 msgid "Role"
 msgstr "Роля"
 
 #. TRANSLATORS: this is The duration of the transaction
-#: ../client/pk-console.c:246
+#: ../client/pk-console.c:186
 msgid "Duration"
 msgstr "Продължителност"
 
-#: ../client/pk-console.c:246
+#: ../client/pk-console.c:186
 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:190 ../src/pk-polkit-action-lookup.c:346
 msgid "Command line"
 msgstr "Команден ред"
 
 #. TRANSLATORS: this is the user ID of the user that started the action
-#: ../client/pk-console.c:252
+#: ../client/pk-console.c:192
 msgid "User ID"
 msgstr "Идентификатор на потребител"
 
 #. TRANSLATORS: this is the username, e.g. hughsie
-#: ../client/pk-console.c:259
+#: ../client/pk-console.c:199
 msgid "Username"
 msgstr "Потребителско име"
 
 #. TRANSLATORS: this is the users real name, e.g. "Richard Hughes"
-#: ../client/pk-console.c:263
+#: ../client/pk-console.c:203
 msgid "Real name"
 msgstr "Истинско име"
 
-#: ../client/pk-console.c:271
+#: ../client/pk-console.c:211
 msgid "Affected packages:"
 msgstr "Засегнати пакети:"
 
-#: ../client/pk-console.c:273
+#: ../client/pk-console.c:213
 msgid "Affected packages: None"
 msgstr "Засегнати пакети: няма"
 
 #. TRANSLATORS: this is the distro, e.g. Fedora 10
-#: ../client/pk-console.c:298
+#: ../client/pk-console.c:248
 msgid "Distribution"
 msgstr "Дистрибуция"
 
 #. TRANSLATORS: this is type of update, stable or testing
-#: ../client/pk-console.c:300
+#: ../client/pk-console.c:250
 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:252 ../client/pk-console.c:291
 msgid "Summary"
 msgstr "Обобщение"
 
 #. TRANSLATORS: this is the group category name
-#: ../client/pk-console.c:314
+#: ../client/pk-console.c:280
 msgid "Category"
 msgstr "Категория"
 
 #. TRANSLATORS: this is group identifier
-#: ../client/pk-console.c:316
+#: ../client/pk-console.c:282
 msgid "ID"
 msgstr "Идентификатор"
 
 #. TRANSLATORS: this is the parent group
-#: ../client/pk-console.c:319
+#: ../client/pk-console.c:285
 msgid "Parent"
 msgstr "Родител"
 
 #. TRANSLATORS: this is the name of the parent group
-#: ../client/pk-console.c:322
+#: ../client/pk-console.c:288
 msgid "Name"
 msgstr "Име"
 
 #. TRANSLATORS: this is preferred icon for the group
-#: ../client/pk-console.c:328
+#: ../client/pk-console.c:294
 msgid "Icon"
 msgstr "Икона"
 
 #. TRANSLATORS: this is a header for the package that can be updated
-#: ../client/pk-console.c:343
+#: ../client/pk-console.c:340
 msgid "Details about the update:"
 msgstr "Подробности за обновлението:"
 
 #. TRANSLATORS: details about the update, package name and version
+#. TRANSLATORS: the package that is being processed
+#. TRANSLATORS: the package that is not signed by a known key
+#. TRANSLATORS: the package name that was trying to be installed
 #. TRANSLATORS: title, the names of the packages that the method is processing
-#: ../client/pk-console.c:345 ../src/pk-polkit-action-lookup.c:352
-#, fuzzy
+#: ../client/pk-console.c:346 ../client/pk-console.c:616
+#: ../lib/packagekit-glib2/pk-task-text.c:126
+#: ../lib/packagekit-glib2/pk-task-text.c:208
+#: ../src/pk-polkit-action-lookup.c:357
 msgid "Package"
 msgid_plural "Packages"
 msgstr[0] "Пакет"
-msgstr[1] "Пакет"
+msgstr[1] "Пакети"
 
 #. TRANSLATORS: details about the update, any packages that this update updates
-#: ../client/pk-console.c:348
+#: ../client/pk-console.c:349
 msgid "Updates"
 msgstr "Обновява"
 
 #. TRANSLATORS: details about the update, any packages that this update obsoletes
-#: ../client/pk-console.c:352
+#: ../client/pk-console.c:353
 msgid "Obsoletes"
-msgstr "Наследява"
+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:357 ../lib/packagekit-glib2/pk-task-text.c:211
 msgid "Vendor"
 msgstr "Производител"
 
 #. TRANSLATORS: details about the update, the bugzilla URLs
-#: ../client/pk-console.c:360
+#: ../client/pk-console.c:361
 msgid "Bugzilla"
 msgstr "Bugzilla"
 
 #. TRANSLATORS: details about the update, the CVE URLs
-#: ../client/pk-console.c:364
+#: ../client/pk-console.c:365
 msgid "CVE"
 msgstr "CVE"
 
 #. TRANSLATORS: details about the update, if the package requires a restart
-#: ../client/pk-console.c:368
+#: ../client/pk-console.c:369
 msgid "Restart"
 msgstr "Рестартиране"
 
 #. TRANSLATORS: details about the update, any description of the update
-#: ../client/pk-console.c:372
+#: ../client/pk-console.c:373
 msgid "Update text"
 msgstr "Обновяване на текста"
 
 #. TRANSLATORS: details about the update, the changelog for the package
-#: ../client/pk-console.c:376
+#: ../client/pk-console.c:377
 msgid "Changes"
 msgstr "Промени"
 
 #. TRANSLATORS: details about the update, the ongoing state of the update
-#: ../client/pk-console.c:380
+#: ../client/pk-console.c:381
 msgid "State"
 msgstr "Състояние"
 
@@ -189,1080 +195,885 @@ 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:389 ../lib/packagekit-glib2/pk-console-shared.c:510
 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:425
+msgid "Enabled"
+msgstr "Включено"
 
-#: ../client/pk-console.c:479
-msgid "Unknown"
-msgstr "Неизвестно"
+#. TRANSLATORS: if the repo is disabled
+#: ../client/pk-console.c:428
+msgid "Disabled"
+msgstr "Изключено"
 
 #. TRANSLATORS: a package requires the system to be restarted
-#: ../client/pk-console.c:521
+#: ../client/pk-console.c:460
 msgid "System restart required by:"
-msgstr "Изисква се рестартиране на машината от:"
+msgstr "Изисква се рестартиране на машината поради:"
 
 #. TRANSLATORS: a package requires the session to be restarted
-#: ../client/pk-console.c:524
+#: ../client/pk-console.c:463
 msgid "Session restart required:"
 msgstr "Изисква се рестартиране на сесията:"
 
 #. TRANSLATORS: a package requires the system to be restarted due to a security update
-#: ../client/pk-console.c:527
-#, fuzzy
+#: ../client/pk-console.c:466
 msgid "System restart (security) required by:"
-msgstr "Изисква се рестартиране на машината от:"
+msgstr "За сигурността се изисква рестартиране на машината поради:"
 
 #. TRANSLATORS: a package requires the session to be restarted due to a security update
-#: ../client/pk-console.c:530
-#, fuzzy
+#: ../client/pk-console.c:469
 msgid "Session restart (security) required:"
-msgstr "Изисква се рестартиране на сесията:"
+msgstr "За сигурността се изисква рестартиране на сесията:"
 
 #. TRANSLATORS: a package requires the application to be restarted
-#: ../client/pk-console.c:533
+#: ../client/pk-console.c:472
 msgid "Application restart required by:"
-msgstr "Изисква се рестартиране на програма от:"
+msgstr "Изисква се рестартиране на програма поради:"
+
+#. TRANSLATORS: This a list of details about the package
+#: ../client/pk-console.c:507
+msgid "Package description"
+msgstr "Описание на пакета"
+
+#. TRANSLATORS: This a message (like a little note that may be of interest) from the transaction
+#: ../client/pk-console.c:538
+msgid "Message:"
+msgstr "Съобщение:"
+
+#. TRANSLATORS: This where the package has no files
+#: ../client/pk-console.c:559
+msgid "No files"
+msgstr "Без файлове"
+
+#. TRANSLATORS: This a list files contained in the package
+#: ../client/pk-console.c:564
+msgid "Package files"
+msgstr "Файлове на пакета"
+
+#. TRANSLATORS: the percentage complete of the transaction
+#: ../client/pk-console.c:632
+msgid "Percentage"
+msgstr "Процент"
+
+#. TRANSLATORS: the status of the transaction (e.g. downloading)
+#: ../client/pk-console.c:650
+msgid "Status"
+msgstr "Състояние"
+
+#. TRANSLATORS: the results from the transaction
+#: ../client/pk-console.c:679
+msgid "Results:"
+msgstr "Резултати:"
+
+#. TRANSLATORS: we failed to get any results, which is pretty fatal in my book
+#: ../client/pk-console.c:686
+msgid "Fatal error"
+msgstr "Фатална грешка"
+
+#. TRANSLATORS: the transaction failed in a way we could not expect
+#: ../client/pk-console.c:695
+#: ../contrib/command-not-found/pk-command-not-found.c:432
+#: ../contrib/command-not-found/pk-command-not-found.c:603
+msgid "The transaction failed"
+msgstr "Неуспешна транзакция"
+
+#. TRANSLATORS: print a message when there are no updates
+#: ../client/pk-console.c:726
+msgid "There are no updates available at this time."
+msgstr "В момента няма налични обновления."
 
 #. TRANSLATORS: a package needs to restart their system
-#: ../client/pk-console.c:588
+#: ../client/pk-console.c:814
 msgid "Please restart the computer to complete the update."
-msgstr "Рестартирайте компютъра, за да завършите инсталацията."
+msgstr "Рестартирайте компютъра, за да завършите обновяването."
 
 #. TRANSLATORS: a package needs to restart the session
-#: ../client/pk-console.c:591
+#: ../client/pk-console.c:817
 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 "Рестартирайте приложението, защото в момента се ползва."
+msgstr "Излезте и влезте отново в системата, за да завършите обновяването."
 
 #. TRANSLATORS: a package needs to restart their system (due to security)
-#: ../client/pk-console.c:597
-#, fuzzy
+#: ../client/pk-console.c:820
 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:600
-#, fuzzy
+#: ../client/pk-console.c:823
 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: 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: 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: 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: 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: 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: When removing, we might have to remove other dependencies
-#: ../client/pk-console.c:920
-msgid "The following packages have to be removed:"
-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: We did not remove any packages
-#: ../client/pk-console.c:932
-msgid "The package removal was canceled!"
-msgstr "Деинсталирането на пакети бе отменено!"
+msgstr ""
+"Излезте и влезте отново в системата, за да завършите обновяването — "
+"инсталирани са обновления по сигурността."
 
-#. TRANSLATORS: The package name was not found in any software sources
-#: ../client/pk-console.c:973
+#. TRANSLATORS: The user used 'pkcon install dave.rpm' rather than 'pkcon install-local dave.rpm'
+#: ../client/pk-console.c:849
 #, c-format
-msgid "This tool could not download the package %s as it could not be found"
+msgid ""
+"Extected package name, actually got file. Try using 'pkcon install-local %s' "
+"instead."
 msgstr ""
-"Този инструмент не може да изтегли пакета „%s“, защото не може да бъде открит"
+"Очаквано бе име на пакет, а бе получено име на файл. Пробвайте с „pkcon "
+"install-local %s“."
 
-#. 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:857
 #, 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:885
 #, 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:913 ../client/pk-console.c:941
 #, 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:969 ../client/pk-console.c:997
+#: ../client/pk-console.c:1025 ../client/pk-console.c:1053
+#: ../client/pk-console.c:1081
 #, 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:1110
 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:1144
 msgid "PackageKit Console Interface"
-msgstr "Конзолен интерфейс на PackageKit Console"
+msgstr "Конзолен интерфейс на PackageKit"
 
 #. these are commands we can use with pkcon
-#: ../client/pk-console.c:1692
+#: ../client/pk-console.c:1146
 msgid "Subcommands:"
 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
-msgid "Show extra debugging information"
-msgstr "Показване на допълнителна информация за изчистване на грешки"
+#. TRANSLATORS: we keep a database updated with the time that an action was last executed
+#: ../client/pk-console.c:1225
+msgid "Failed to get the time since this action was last completed"
+msgstr "Неуспешно получаване на времето от последно завършване на операцията"
 
 #. TRANSLATORS: command line argument, just show the version string
-#: ../client/pk-console.c:1788 ../client/pk-monitor.c:130
+#: ../client/pk-console.c:1261 ../client/pk-monitor.c:306
 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:1264
 msgid "Set the filter, e.g. installed"
-msgstr "Задаване на филтър, напр. инсталирани"
+msgstr "Задаване на филтър, напр. „инсталирани“"
 
 #. TRANSLATORS: command line argument, work asynchronously
-#: ../client/pk-console.c:1794
+#: ../client/pk-console.c:1267
 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 "Този инструмент не може да се свърже към системната шина."
+#. command line argument, do we ask questions
+#: ../client/pk-console.c:1270
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:527
+msgid "Install the packages without asking for confirmation"
+msgstr "Инсталиране на пакетите без изчакване на потвърждение"
+
+#. TRANSLATORS: command line argument, this command is not a priority
+#: ../client/pk-console.c:1273
+msgid "Run the command using idle network bandwidth and also using less power"
+msgstr ""
+"Изпълняване на мрежовата команда при ненатоварен компютър като се ползва и "
+"по-малко ток"
+
+#. TRANSLATORS: command line argument, just output without fancy formatting
+#: ../client/pk-console.c:1276
+msgid ""
+"Print to screen a machine readable output, rather than using animated widgets"
+msgstr "Отпечатване на машинно четим изход без анимирани графични обекти"
+
+#. TRANSLATORS: we failed to contact the daemon
+#: ../client/pk-console.c:1298
+msgid "Failed to contact PackageKit"
+msgstr "Неуспех при свързване с PackageKit"
 
 #. TRANSLATORS: The user specified an incorrect filter
-#: ../client/pk-console.c:1911
+#: ../client/pk-console.c:1356
 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:1375
 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:1382 ../client/pk-console.c:1394
+#: ../client/pk-console.c:1406 ../client/pk-console.c:1418
 msgid "A search term is required"
 msgstr "Трябва да укажете дума за търсене"
 
 #. TRANSLATORS: the search type was provided, but invalid
-#: ../client/pk-console.c:1971
+#: ../client/pk-console.c:1428
 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:1434
+msgid "A package name to install is required"
+msgstr "Трябва да укажете име на пакет за инсталиране"
+
+#. TRANSLATORS: the user did not specify what they wanted to install
+#: ../client/pk-console.c:1443
+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:1455
 msgid "A type, key_id and package_id are required"
 msgstr "Трябва да укажете вид, идентификатор на ключ и на пакет"
 
 #. TRANSLATORS: the user did not specify what they wanted to remove
-#: ../client/pk-console.c:1995
+#: ../client/pk-console.c:1466
 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
-#, fuzzy
+#: ../client/pk-console.c:1475
 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:2010
+#: ../client/pk-console.c:1482
 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:1491
 msgid "A licence identifier (eula-id) is required"
 msgstr "Трябва да укажете идентификатор на лиценз"
 
 #. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:2028
+#: ../client/pk-console.c:1502
 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:1523
 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:1534 ../client/pk-console.c:1545
 msgid "A repository name is required"
 msgstr "Трябва да укажете име на хранилището"
 
 #. TRANSLATORS: The user didn't provide any data
-#: ../client/pk-console.c:2072
+#: ../client/pk-console.c:1556
 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:1573
 msgid "An action, e.g. 'update-system' is required"
 msgstr "Трябва да укажете действие, напр. „update-system“"
 
 #. TRANSLATORS: The user specified an invalid action
-#: ../client/pk-console.c:2093
+#: ../client/pk-console.c:1580
 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:1590 ../client/pk-console.c:1605
+#: ../client/pk-console.c:1614 ../client/pk-console.c:1634
+#: ../client/pk-console.c:1643 ../client/pk-generate-pack.c:316
 msgid "A package name is required"
 msgstr "Трябва да укажете име на пакет"
 
 #. TRANSLATORS: each package "provides" certain things, e.g. mime(gstreamer-decoder-mp3), the user didn't specify it
-#: ../client/pk-console.c:2140
+#: ../client/pk-console.c:1623
 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 "Трябва да укажете име на списък с файлове, който да бъде отворен"
+msgstr "Трябва да укажете име на пакет, предоставящ ресурса"
 
 #. TRANSLATORS: The user tried to use an unsupported option on the command line
-#: ../client/pk-console.c:2241
+#: ../client/pk-console.c:1703
 #, 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:1713
 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:255
 msgid "Set the file name of dependencies to be excluded"
 msgstr "Задайте името на файла със зависимостите, които да бъдат изключени"
 
 #. TRANSLATORS: the output location
-#: ../client/pk-generate-pack.c:191
+#: ../client/pk-generate-pack.c:258
 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:261
 msgid "The package to be put into the service pack"
 msgstr "Пакетът, който да бъде поставен в сервизния"
 
 #. TRANSLATORS: put all pending updates in the pack
-#: ../client/pk-generate-pack.c:197
+#: ../client/pk-generate-pack.c:264
 msgid "Put all updates available in the service pack"
 msgstr "Поставяне на всички налични обновления в сервизния пакет"
 
 #. TRANSLATORS: This is when the user fails to supply the correct arguments
-#: ../client/pk-generate-pack.c:225
+#: ../client/pk-generate-pack.c:300
 msgid "Neither --package or --updates option selected."
 msgstr "Не е указана никоя от опциите „--package“ и „--updates“."
 
 #. TRANSLATORS: This is when the user fails to supply just one argument
-#: ../client/pk-generate-pack.c:233
+#: ../client/pk-generate-pack.c:308
 msgid "Both options selected."
 msgstr "Указани са двете опции."
 
 #. TRANSLATORS: This is when the user fails to supply the output
-#: ../client/pk-generate-pack.c:249
+#: ../client/pk-generate-pack.c:324
 msgid "A output directory or file name is required"
 msgstr "Трябва да укажете изходен файл или папка"
 
+#. TRANSLATORS: This is when the dameon is not-installed/broken and fails to startup
+#: ../client/pk-generate-pack.c:342
+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:267 ../client/pk-generate-pack.c:273
+#: ../client/pk-generate-pack.c:353 ../client/pk-generate-pack.c:359
 msgid "The package manager cannot perform this type of operation."
-msgstr "Мениджърът на пакети не може да извърши тази операция."
+msgstr "Управлението на пакети не може да извърши тази операция."
 
 #. TRANSLATORS: This is when the distro didn't include libarchive support into PK
-#: ../client/pk-generate-pack.c:280
+#: ../client/pk-generate-pack.c:366
 msgid ""
 "Service packs cannot be created as PackageKit was not built with libarchive "
 "support."
 msgstr ""
+"Понеже PackageKit е компилиран без поддръжка на libarchive, не могат да се "
+"създават сервизни пакети."
 
 #. 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:377
 msgid "If specifying a file, the service pack name must end with"
 msgstr "Ако указвате файл, името на сервизния пакет трябва да завършва с"
 
 #. TRANSLATORS: This is when file already exists
-#: ../client/pk-generate-pack.c:307
+#: ../client/pk-generate-pack.c:393
 msgid "A pack with the same name already exists, do you want to overwrite it?"
 msgstr ""
 "Вече съществува сервизен пакет с такова име. Искате ли да го презапишете?"
 
 #. TRANSLATORS: This is when the pack was not overwritten
-#: ../client/pk-generate-pack.c:310
+#: ../client/pk-generate-pack.c:396
 msgid "The pack was not overwritten."
 msgstr "Сервизният пакет не бе презаписан."
 
 #. TRANSLATORS: This is when the temporary directory cannot be created, the directory name follows
-#: ../client/pk-generate-pack.c:323
+#: ../client/pk-generate-pack.c:409
 msgid "Failed to create directory:"
 msgstr "Следната папка не бе създадена:"
 
 #. TRANSLATORS: This is when the list of packages from the remote computer cannot be opened
-#: ../client/pk-generate-pack.c:333
+#: ../client/pk-generate-pack.c:421
 msgid "Failed to open package list."
-msgstr "Списъкът с пакети не можа да бъде отворен."
+msgstr "Списъкът с пакети не можe да бъде отворен."
 
 #. TRANSLATORS: The package name is being matched up to available packages
-#: ../client/pk-generate-pack.c:344
+#: ../client/pk-generate-pack.c:430
 msgid "Finding package name."
 msgstr "Търсене на пакет по име."
 
 #. TRANSLATORS: This is when the package cannot be found in any software source. The detailed error follows
-#: ../client/pk-generate-pack.c:348
+#: ../client/pk-generate-pack.c:434
 #, c-format
 msgid "Failed to find package '%s': %s"
 msgstr "Пакетът „%s“ не бе открит: %s"
 
 #. TRANSLATORS: This is telling the user we are in the process of making the pack
-#: ../client/pk-generate-pack.c:365
+#: ../client/pk-generate-pack.c:442
 msgid "Creating service pack..."
 msgstr "Създаване на сервизен пакет…"
 
 #. TRANSLATORS: we succeeded in making the file
-#: ../client/pk-generate-pack.c:372
+#: ../client/pk-generate-pack.c:457
 #, c-format
 msgid "Service pack created '%s'"
 msgstr "Сервизният пакет „%s“ е създаден"
 
 #. TRANSLATORS: we failed to make te file
-#: ../client/pk-generate-pack.c:377
+#: ../client/pk-generate-pack.c:462
 #, c-format
 msgid "Failed to create '%s': %s"
 msgstr "Неуспешно създаване на „%s“: %s"
 
+#: ../client/pk-monitor.c:236
+msgid "Failed to get daemon state"
+msgstr "Състоянието на демона не може да се получи"
+
 #. TRANSLATORS: this is a program that monitors PackageKit
-#: ../client/pk-monitor.c:146
+#: ../client/pk-monitor.c:322
 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:495
 msgid "Getting package information..."
 msgstr "Получаване на информация за пакета…"
 
 #. TRANSLATORS: run an applicaiton
-#: ../contrib/browser-plugin/pk-plugin-install.c:472
+#: ../contrib/browser-plugin/pk-plugin-install.c:501
 #, 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:507
 msgid "Installed version"
 msgstr "Инсталирана версия"
 
 #. TRANSLATORS: run the application now
-#: ../contrib/browser-plugin/pk-plugin-install.c:486
+#: ../contrib/browser-plugin/pk-plugin-install.c:515
 #, 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:521
 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:527
 #, 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:533
 #, 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:536
 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:541
 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:546
 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 ""
+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 ""
+msgstr "Изтегляне на списъците с файлове (това може да отнеме повече време)."
 
 #. TRANSLATORS: waiting for native lock
-#: ../contrib/command-not-found/pk-command-not-found.c:357
-#, fuzzy
+#: ../contrib/command-not-found/pk-command-not-found.c:373
 msgid "Waiting for package manager lock."
-msgstr "Търсене на пакет по име."
+msgstr "Изчакване на заключване от управлението на пакети."
 
 #. TRANSLATORS: loading package cache so we can search
-#: ../contrib/command-not-found/pk-command-not-found.c:361
-#, fuzzy
+#: ../contrib/command-not-found/pk-command-not-found.c:377
 msgid "Loading list of packages."
-msgstr "Изтегляне на пакети"
+msgstr "Зареждане на списък с пакети."
 
 #. TRANSLATORS: we failed to find the package, this shouldn't happen
-#: ../contrib/command-not-found/pk-command-not-found.c:420
+#: ../contrib/command-not-found/pk-command-not-found.c:423
 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:566
 msgid "Failed to launch:"
 msgstr "Неуспешно стартиране:"
 
+#. TRANSLATORS: we failed to install the package
+#: ../contrib/command-not-found/pk-command-not-found.c:594
+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:670
 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:699
 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:706
 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:716
 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:730
+#: ../contrib/command-not-found/pk-command-not-found.c:739
 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:746
 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:764
 msgid "The package providing this file is:"
-msgstr "Пакетът, който предоставя този файл е:"
+msgstr "Пакетът, който предоставя този файл, е:"
 
 #. TRANSLATORS: as the user if we want to install a package to provide the command
-#: ../contrib/command-not-found/pk-command-not-found.c:726
+#: ../contrib/command-not-found/pk-command-not-found.c:769
 #, 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:793
 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:803
 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:812
 msgid "Please choose a package to install"
 msgstr "Изберете пакета за инсталиране"
 
 #. TRANSLATORS: we are starting to install the packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:187
-#, fuzzy
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:197
 msgid "Starting install"
-msgstr "За инсталиране"
+msgstr "Начало на инсталирането"
 
 #. TRANSLATORS: we couldn't find the package name, non-fatal
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:397
-#, fuzzy, c-format
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:409
+#, c-format
 msgid "Failed to find the package %s, or already installed: %s"
-msgstr "Пакетът „%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
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:518
 msgid ""
 "Don't actually install any packages, only simulate what would be installed"
-msgstr ""
+msgstr "Да не се инсталират пакети, действието да се симулира"
 
 #. command line argument, do we skip packages that depend on the ones specified
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:556
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:521
 msgid "Do not install dependencies of the core packages"
-msgstr ""
+msgstr "Да се се инсталират зависимостите на основните пакети"
 
 #. command line argument, do we operate quietly
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:559
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:524
 msgid "Do not display information or progress"
-msgstr ""
+msgstr "Да не се извежда информация за напредъка"
 
 #. TRANSLATORS: tool that gets called when the command is not found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:577
-#, fuzzy
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:542
 msgid "PackageKit Debuginfo Installer"
-msgstr "Конзолен интерфейс на PackageKit Console"
+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
-#, fuzzy, c-format
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:556
+#, c-format
 msgid "ERROR: Specify package names to install."
-msgstr "Няма нови пакети за инсталиране"
+msgstr "ГРЕШКА: укажете имената на пакетите, които да се инсталират."
 
 #. TRANSLATORS: we are getting the list of repositories
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:623
-#, fuzzy, c-format
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:592
+#, c-format
 msgid "Getting sources list"
-msgstr "Получаване на информация за пакета"
+msgstr "Получаване на списъците на хранилищата"
+
+#. TRANSLATORS: operation was not successful
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:602
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:677
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:761
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:805
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:872
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:916
+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:617
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:657
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:692
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:776
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:820
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:887
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:931
 #, c-format
 msgid "OK."
-msgstr ""
+msgstr "ЗАВЪРШЕНО."
 
 #. TRANSLATORS: tell the user what we found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:644
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:620
 #, c-format
 msgid "Found %i enabled and %i disabled sources."
-msgstr ""
+msgstr "Открити са %i включени и %i изключени хранилища на софтуер."
 
 #. TRANSLATORS: we're finding repositories that match out pattern
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:651
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:627
 #, c-format
 msgid "Finding debugging sources"
-msgstr ""
+msgstr "Откриване на хранилищата за изчистване на грешки"
 
 #. TRANSLATORS: tell the user what we found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:684
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:660
 #, c-format
 msgid "Found %i disabled debuginfo repos."
-msgstr ""
+msgstr "Открити са %i хранилища за изчистване на грешки."
 
 #. TRANSLATORS: we're now enabling all the debug sources we found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:691
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:667
 #, 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 ""
+msgstr "Включване на хранилищата за изчистване на грешки"
 
 #. TRANSLATORS: tell the user how many we enabled
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:719
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:695
 #, c-format
 msgid "Enabled %i debugging sources."
-msgstr ""
+msgstr "Включени са %i хранилища за изчистване на грешки."
 
 #. TRANSLATORS: we're now finding packages that match in all the repos
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:726
-#, fuzzy, c-format
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:702
+#, c-format
 msgid "Finding debugging packages"
-msgstr "Търсене на пакет по име."
+msgstr "Търсене на пакети за изчистване на грешки"
 
 #. TRANSLATORS: we couldn't find the package name, non-fatal
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:738
-#, fuzzy, c-format
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:714
+#, 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
-#, fuzzy, c-format
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:737
+#, c-format
 msgid "Failed to find the debuginfo package %s: %s"
-msgstr "Пакетът „%s“ не бе открит: %s"
+msgstr "Пакетът за изчистване на грешки „%s“ не бе открит: %s"
 
 #. TRANSLATORS: no debuginfo packages could be found to be installed
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:789
-#, fuzzy, c-format
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:765
+#, c-format
 msgid "Found no packages to install."
-msgstr "Няма нови пакети за инсталиране"
+msgstr "Няма пакети за инсталиране."
 
 #. TRANSLATORS: tell the user we found some packages, and then list them
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:803
-#, fuzzy, c-format
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:779
+#, c-format
 msgid "Found %i packages:"
-msgstr "Изтегляне на пакети"
+msgstr "Открити са %i пакета:"
 
 #. TRANSLATORS: tell the user we are searching for deps
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:819
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:795
 #, c-format
 msgid "Finding packages that depend on these packages"
-msgstr ""
+msgstr "Търсене на пакетите, които зависят от тези"
 
 #. TRANSLATORS: could not install, detailed error follows
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:832
-#, fuzzy, c-format
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:808
+#, c-format
 msgid "Could not find dependant packages: %s"
-msgstr "Пакетът „%s“ не бе открит: %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:824
 #, c-format
 msgid "Found %i extra packages."
-msgstr ""
+msgstr "Открити са още %i пакета."
 
 #. TRANSLATORS: tell the user we found some more packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:852
-#, fuzzy, c-format
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:828
+#, c-format
 msgid "No extra packages required."
-msgstr "Трябва да укажете име на пакет"
+msgstr "Не са необходими допълнителни пакети."
 
 #. TRANSLATORS: tell the user we found some packages (and deps), and then list them
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:861
-#, fuzzy, c-format
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:837
+#, c-format
 msgid "Found %i packages to install:"
-msgstr "Няма нови пакети за инсталиране"
+msgstr "Открити са %i пакета за инсталиране:"
 
 #. TRANSLATORS: simulate mode is a testing mode where we quit before the action
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:874
-#, fuzzy, c-format
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:850
+#, 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:862
+#: ../lib/packagekit-glib2/pk-console-shared.c:282
+#, c-format
+msgid "Installing packages"
 msgstr "Инсталиране на пакети"
 
 #. TRANSLATORS: could not install, detailed error follows
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:899
-#, fuzzy, c-format
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:875
+#, c-format
 msgid "Could not install packages: %s"
-msgstr "Този инструмент не може да инсталира следните пакети: %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:907
 #, c-format
 msgid "Disabling sources previously enabled"
-msgstr ""
+msgstr "Изключване на хранилища, които са били включени"
 
 #. TRANSLATORS: no debuginfo packages could be found to be installed, detailed error follows
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:943
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:919
 #, c-format
 msgid "Could not disable the debugging sources: %s"
-msgstr ""
+msgstr "Хранилищата за изчистване на грешки не могат да се изключат: %s"
 
 #. TRANSLATORS: we disabled all the debugging repos that we enabled before
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:958
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:934
 #, c-format
 msgid "Disabled %i debugging sources."
-msgstr ""
+msgstr "Изключени са %i хранилища за изчистване на грешки."
 
 #. TRANSLATORS: couldn't open device to write
-#: ../contrib/device-rebind/pk-device-rebind.c:61
-#, fuzzy
+#: ../contrib/device-rebind/pk-device-rebind.c:62
 msgid "Failed to open file"
-msgstr "Неуспешно търсене на файл"
+msgstr "Неуспешно отваряне на файл"
 
 #. TRANSLATORS: could not write to the device
-#: ../contrib/device-rebind/pk-device-rebind.c:70
-#, fuzzy
+#: ../contrib/device-rebind/pk-device-rebind.c:71
 msgid "Failed to write to the file"
-msgstr "Неуспешно търсене на файл"
+msgstr "Неуспешен запис във файл"
 
 #. TRANSLATORS: we failed to release the current driver
-#: ../contrib/device-rebind/pk-device-rebind.c:110
-#: ../contrib/device-rebind/pk-device-rebind.c:147
-#, fuzzy
+#: ../contrib/device-rebind/pk-device-rebind.c:111
+#: ../contrib/device-rebind/pk-device-rebind.c:148
 msgid "Failed to write to device"
-msgstr "Неуспешен запис на диска"
+msgstr "Неуспешен запис в устройство"
 
 #. TRANSLATORS: the device could not be found in sysfs
-#: ../contrib/device-rebind/pk-device-rebind.c:175
-#, fuzzy
+#: ../contrib/device-rebind/pk-device-rebind.c:176
 msgid "Device could not be found"
-msgstr "Пакетът не бе открит"
+msgstr "Устройството не бе открито"
 
 #. TRANSLATORS: we failed to release the current driver
-#: ../contrib/device-rebind/pk-device-rebind.c:202
-#, fuzzy
+#: ../contrib/device-rebind/pk-device-rebind.c:203
 msgid "Failed to unregister driver"
-msgstr "Следната папка не бе създадена:"
+msgstr "Неуспешно прекратяване на регистрация на драйвера"
 
 #. TRANSLATORS: we failed to bind the old driver
-#: ../contrib/device-rebind/pk-device-rebind.c:211
-#, fuzzy
+#: ../contrib/device-rebind/pk-device-rebind.c:212
 msgid "Failed to register driver"
-msgstr "Следната папка не бе създадена:"
+msgstr "Драйверът не бе регистриран"
 
 #. TRANSLATORS: user did not specify a device sysfs path that exists
-#: ../contrib/device-rebind/pk-device-rebind.c:260
-#, fuzzy
+#: ../contrib/device-rebind/pk-device-rebind.c:261
 msgid "Device path not found"
-msgstr "Папката не е открита"
+msgstr "Пътят до устройството не е открит"
 
 #. TRANSLATORS: user did not specify a valid device sysfs path
-#: ../contrib/device-rebind/pk-device-rebind.c:268
+#: ../contrib/device-rebind/pk-device-rebind.c:269
 msgid "Incorrect device path specified"
-msgstr ""
+msgstr "Указан е неправилен път до устройство"
+
+#: ../contrib/device-rebind/pk-device-rebind.c:294
+msgid "Show extra debugging information"
+msgstr "Показване на допълнителна информация за изчистване на грешки"
 
 #. command line argument, simulate what would be done, but don't actually do it
-#: ../contrib/device-rebind/pk-device-rebind.c:296
+#: ../contrib/device-rebind/pk-device-rebind.c:297
 msgid "Don't actually touch the hardware, only simulate what would be done"
-msgstr ""
+msgstr "Да не се правят промени за хардуера, действието само да се симулира"
 
 #. TRANSLATORS: command line option: a list of files to install
-#: ../contrib/device-rebind/pk-device-rebind.c:299
+#: ../contrib/device-rebind/pk-device-rebind.c:300
 msgid "Device paths"
-msgstr ""
+msgstr "Пътища до устройства"
 
 #. TRANSLATORS: tool that gets called when the device needs reloading after installing firmware
-#: ../contrib/device-rebind/pk-device-rebind.c:314
-#, fuzzy
+#: ../contrib/device-rebind/pk-device-rebind.c:315
 msgid "PackageKit Device Reloader"
-msgstr "Сервизен пакет на PackageKit"
+msgstr "Модул на PackageKit за презареждане на устройства"
 
 #. TRANSLATORS: user did not specify a valid device sysfs path
-#: ../contrib/device-rebind/pk-device-rebind.c:322
+#: ../contrib/device-rebind/pk-device-rebind.c:323
 msgid "You need to specify at least one valid device path"
-msgstr ""
+msgstr "Трябва да укажете поне един точен път до устройство"
 
 #. TRANSLATORS: user did not specify a valid device sysfs path
-#: ../contrib/device-rebind/pk-device-rebind.c:332
+#: ../contrib/device-rebind/pk-device-rebind.c:333
 msgid "This script can only be used by the root user"
-msgstr ""
+msgstr "Този скрипт може да се изпълни само от системен администратор"
 
 #. TRANSLATORS: we're going to verify the path first
-#: ../contrib/device-rebind/pk-device-rebind.c:341
+#: ../contrib/device-rebind/pk-device-rebind.c:342
 msgid "Verifying device path"
-msgstr ""
+msgstr "Проверка на пътя до устройството"
 
 #. TRANSLATORS: user did not specify a device sysfs path that exists
-#: ../contrib/device-rebind/pk-device-rebind.c:346
-#, fuzzy
+#: ../contrib/device-rebind/pk-device-rebind.c:347
 msgid "Failed to verify device path"
-msgstr "Неуспешно търсене на файл"
+msgstr "Неуспешна проверка на пътя до устройството"
 
 #. TRANSLATORS: we're going to try
-#: ../contrib/device-rebind/pk-device-rebind.c:360
+#: ../contrib/device-rebind/pk-device-rebind.c:361
 msgid "Attempting to rebind device"
-msgstr ""
+msgstr "Опит за презареждане на устройство"
 
 #. TRANSLATORS: we failed to release the current driver
-#: ../contrib/device-rebind/pk-device-rebind.c:365
-#, fuzzy
+#: ../contrib/device-rebind/pk-device-rebind.c:366
 msgid "Failed to rebind device"
-msgstr "Следната папка не бе създадена:"
+msgstr "Неуспешно презареждане на устройство"
 
 #: ../data/packagekit-catalog.xml.in.h:1
 msgid "PackageKit Catalog"
@@ -1276,6 +1087,607 @@ 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:183
+msgid "More than one package matches:"
+msgstr "Открит бе повече от един подобен пакет:"
+
+#. TRANSLATORS: This finds out which package in the list to use
+#: ../lib/packagekit-glib2/pk-console-shared.c:196
+msgid "Please choose the correct package: "
+msgstr "Изберете правилния пакет: "
+
+#. TRANSLATORS: This is when the transaction status is not known
+#: ../lib/packagekit-glib2/pk-console-shared.c:250
+msgid "Unknown state"
+msgstr "Неизвестно състояние"
+
+#. TRANSLATORS: transaction state, the daemon is in the process of starting
+#: ../lib/packagekit-glib2/pk-console-shared.c:254
+msgid "Starting"
+msgstr "Начало"
+
+#. TRANSLATORS: transaction state, the transaction is waiting for another to complete
+#: ../lib/packagekit-glib2/pk-console-shared.c:258
+msgid "Waiting in queue"
+msgstr "Изчакване в опашка"
+
+#. TRANSLATORS: transaction state, just started
+#: ../lib/packagekit-glib2/pk-console-shared.c:262
+msgid "Running"
+msgstr "Изпълнение"
+
+#. TRANSLATORS: transaction state, is querying data
+#: ../lib/packagekit-glib2/pk-console-shared.c:266
+msgid "Querying"
+msgstr "Запитване"
+
+#. TRANSLATORS: transaction state, getting data from a server
+#: ../lib/packagekit-glib2/pk-console-shared.c:270
+msgid "Getting information"
+msgstr "Получаване на информация"
+
+#. TRANSLATORS: transaction state, removing packages
+#: ../lib/packagekit-glib2/pk-console-shared.c:274
+msgid "Removing packages"
+msgstr "Деинсталиране на пакeти"
+
+#. TRANSLATORS: transaction state, downloading package files
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:278
+#: ../lib/packagekit-glib2/pk-console-shared.c:656
+msgid "Downloading packages"
+msgstr "Изтегляне на пакети"
+
+#. TRANSLATORS: transaction state, refreshing internal lists
+#: ../lib/packagekit-glib2/pk-console-shared.c:286
+msgid "Refreshing software list"
+msgstr "Обновяване на списъка със софтуер"
+
+#. TRANSLATORS: transaction state, installing updates
+#: ../lib/packagekit-glib2/pk-console-shared.c:290
+msgid "Installing updates"
+msgstr "Инсталиране на обновления"
+
+#. TRANSLATORS: transaction state, removing old packages, and cleaning config files
+#: ../lib/packagekit-glib2/pk-console-shared.c:294
+msgid "Cleaning up packages"
+msgstr "Изчистване на пакети"
+
+#. TRANSLATORS: transaction state, obsoleting old packages
+#: ../lib/packagekit-glib2/pk-console-shared.c:298
+msgid "Obsoleting packages"
+msgstr "Обявяване на пакети за остарели"
+
+#. TRANSLATORS: transaction state, checking the transaction before we do it
+#: ../lib/packagekit-glib2/pk-console-shared.c:302
+msgid "Resolving dependencies"
+msgstr "Изчисляване на зависимости"
+
+#. TRANSLATORS: transaction state, checking if we have all the security keys for the operation
+#: ../lib/packagekit-glib2/pk-console-shared.c:306
+msgid "Checking signatures"
+msgstr "Проверка на подписи"
+
+#. TRANSLATORS: transaction state, when we return to a previous system state
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:310
+#: ../lib/packagekit-glib2/pk-console-shared.c:616
+msgid "Rolling back"
+msgstr "Връщане на транзакция"
+
+#. TRANSLATORS: transaction state, when we're doing a test transaction
+#: ../lib/packagekit-glib2/pk-console-shared.c:314
+msgid "Testing changes"
+msgstr "Проверка на промените"
+
+#. TRANSLATORS: transaction state, when we're writing to the system package database
+#: ../lib/packagekit-glib2/pk-console-shared.c:318
+msgid "Committing changes"
+msgstr "Трайно задаване на промените"
+
+#. TRANSLATORS: transaction state, requesting data from a server
+#: ../lib/packagekit-glib2/pk-console-shared.c:322
+msgid "Requesting data"
+msgstr "Запитване за данни"
+
+#. TRANSLATORS: transaction state, all done!
+#: ../lib/packagekit-glib2/pk-console-shared.c:326
+msgid "Finished"
+msgstr "Завършено"
+
+#. TRANSLATORS: transaction state, in the process of cancelling
+#: ../lib/packagekit-glib2/pk-console-shared.c:330
+msgid "Cancelling"
+msgstr "Отказване"
+
+#. TRANSLATORS: transaction state, downloading metadata
+#: ../lib/packagekit-glib2/pk-console-shared.c:334
+msgid "Downloading repository information"
+msgstr "Изтегляне на информация за хранилищата на софтуер"
+
+#. TRANSLATORS: transaction state, downloading metadata
+#: ../lib/packagekit-glib2/pk-console-shared.c:338
+msgid "Downloading list of packages"
+msgstr "Изтегляне на списъка с пакети"
+
+#. TRANSLATORS: transaction state, downloading metadata
+#: ../lib/packagekit-glib2/pk-console-shared.c:342
+msgid "Downloading file lists"
+msgstr "Изтегляне на списъците с файлове"
+
+#. TRANSLATORS: transaction state, downloading metadata
+#: ../lib/packagekit-glib2/pk-console-shared.c:346
+msgid "Downloading lists of changes"
+msgstr "Изтегляне на списъците с промени"
+
+#. TRANSLATORS: transaction state, downloading metadata
+#: ../lib/packagekit-glib2/pk-console-shared.c:350
+msgid "Downloading groups"
+msgstr "Изтегляне на групите"
+
+#. TRANSLATORS: transaction state, downloading metadata
+#: ../lib/packagekit-glib2/pk-console-shared.c:354
+msgid "Downloading update information"
+msgstr "Изтегляне на информация за обновленията"
+
+#. TRANSLATORS: transaction state, repackaging delta files
+#: ../lib/packagekit-glib2/pk-console-shared.c:358
+msgid "Repackaging files"
+msgstr "Повторно пакетиране на файлове"
+
+#. TRANSLATORS: transaction state, loading databases
+#: ../lib/packagekit-glib2/pk-console-shared.c:362
+msgid "Loading cache"
+msgstr "Зареждане на временните файлове"
+
+#. TRANSLATORS: transaction state, scanning for running processes
+#: ../lib/packagekit-glib2/pk-console-shared.c:366
+msgid "Scanning applications"
+msgstr "Проверка на програмите"
+
+#. TRANSLATORS: transaction state, generating a list of packages installed on the system
+#: ../lib/packagekit-glib2/pk-console-shared.c:370
+msgid "Generating package lists"
+msgstr "Генериране на списъци с пакети"
+
+#. TRANSLATORS: transaction state, when we're waiting for the native tools to exit
+#: ../lib/packagekit-glib2/pk-console-shared.c:374
+msgid "Waiting for package manager lock"
+msgstr "Изчакване на заключване от управлението на пакети"
+
+#. TRANSLATORS: transaction state, waiting for user to type in a password
+#: ../lib/packagekit-glib2/pk-console-shared.c:378
+msgid "Waiting for authentication"
+msgstr "Изчакване на идентификация"
+
+#. TRANSLATORS: transaction state, we are updating the list of processes
+#: ../lib/packagekit-glib2/pk-console-shared.c:382
+msgid "Updating running applications"
+msgstr "Обновяване на работеща в момента програма"
+
+#. TRANSLATORS: transaction state, we are checking executable files currently in use
+#: ../lib/packagekit-glib2/pk-console-shared.c:386
+msgid "Checking applications in use"
+msgstr "Проверка на ползваните програми"
+
+#. TRANSLATORS: transaction state, we are checking for libraries currently in use
+#: ../lib/packagekit-glib2/pk-console-shared.c:390
+msgid "Checking libraries in use"
+msgstr "Проверка на ползваните библиотеки"
+
+#. TRANSLATORS: transaction state, we are copying package files before or after the transaction
+#: ../lib/packagekit-glib2/pk-console-shared.c:394
+msgid "Copying files"
+msgstr "Копиране на файлове"
+
+#. TRANSLATORS: The type of update
+#: ../lib/packagekit-glib2/pk-console-shared.c:412
+msgid "Trivial"
+msgstr "Дребно"
+
+#. TRANSLATORS: The type of update
+#: ../lib/packagekit-glib2/pk-console-shared.c:416
+msgid "Normal"
+msgstr "Обикновено"
+
+#. TRANSLATORS: The type of update
+#: ../lib/packagekit-glib2/pk-console-shared.c:420
+msgid "Important"
+msgstr "Важно"
+
+#. TRANSLATORS: The type of update
+#: ../lib/packagekit-glib2/pk-console-shared.c:424
+msgid "Security"
+msgstr "За сигурността"
+
+#. TRANSLATORS: The type of update
+#: ../lib/packagekit-glib2/pk-console-shared.c:428
+msgid "Bug fix "
+msgstr "Поправка на грешки"
+
+#. TRANSLATORS: The type of update
+#: ../lib/packagekit-glib2/pk-console-shared.c:432
+msgid "Enhancement"
+msgstr "Подобрение"
+
+#. TRANSLATORS: The type of update
+#: ../lib/packagekit-glib2/pk-console-shared.c:436
+msgid "Blocked"
+msgstr "Блокирано"
+
+#. TRANSLATORS: The state of a package
+#. TRANSLATORS: The action of the package, in past tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:441
+#: ../lib/packagekit-glib2/pk-console-shared.c:514
+msgid "Installed"
+msgstr "Инсталиран"
+
+#. TRANSLATORS: The state of a package, i.e. not installed
+#: ../lib/packagekit-glib2/pk-console-shared.c:446
+msgid "Available"
+msgstr "Наличен"
+
+#. TRANSLATORS: The action of the package, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:464
+msgid "Downloading"
+msgstr "Изтегляне"
+
+#. TRANSLATORS: The action of the package, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:468
+msgid "Updating"
+msgstr "Обновяване"
+
+#. TRANSLATORS: The action of the package, in present tense
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:472
+#: ../lib/packagekit-glib2/pk-console-shared.c:592
+msgid "Installing"
+msgstr "Инсталиране"
+
+#. TRANSLATORS: The action of the package, in present tense
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:476
+#: ../lib/packagekit-glib2/pk-console-shared.c:588
+msgid "Removing"
+msgstr "Деинсталиране"
+
+#. TRANSLATORS: The action of the package, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:480
+msgid "Cleaning up"
+msgstr "Изчистване"
+
+#. TRANSLATORS: The action of the package, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:484
+msgid "Obsoleting"
+msgstr "Обявяване за остарели"
+
+#. TRANSLATORS: The action of the package, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:488
+msgid "Reinstalling"
+msgstr "Преинсталиране"
+
+#. TRANSLATORS: The action of the package, in past tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:506
+msgid "Downloaded"
+msgstr "Изтеглен"
+
+#. TRANSLATORS: The action of the package, in past tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:518
+msgid "Removed"
+msgstr "Деинсталиран"
+
+#. TRANSLATORS: The action of the package, in past tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:522
+msgid "Cleaned up"
+msgstr "Изчистен"
+
+#. TRANSLATORS: The action of the package, in past tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:526
+msgid "Obsoleted"
+msgstr "Обявен за остарял"
+
+#. TRANSLATORS: The action of the package, in past tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:530
+msgid "Reinstalled"
+msgstr "Преинсталиран"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:548
+msgid "Unknown role type"
+msgstr "Непознат вид роля"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:552
+msgid "Getting dependencies"
+msgstr "Изтегляне на зависимости"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:556
+msgid "Getting update details"
+msgstr "Получаване на информация за обновление"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:560
+msgid "Getting details"
+msgstr "Получаване на информация"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:564
+msgid "Getting requires"
+msgstr "Получаване на зависимости"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:568
+msgid "Getting updates"
+msgstr "Получаване на обновления"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:572
+msgid "Searching by details"
+msgstr "Търсене по информация"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:576
+msgid "Searching by file"
+msgstr "Търсене по файл"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:580
+msgid "Searching groups"
+msgstr "Търсене в групи"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:584
+msgid "Searching by name"
+msgstr "Търсене по име"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:596
+msgid "Installing files"
+msgstr "Инсталиране на файлове"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:600
+msgid "Refreshing cache"
+msgstr "Обновяване на временните файлове"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:604
+msgid "Updating packages"
+msgstr "Обновяване на пакети"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:608
+msgid "Updating system"
+msgstr "Обновяване на системата"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:612
+msgid "Canceling"
+msgstr "Отказване"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:620
+msgid "Getting repositories"
+msgstr "Получаване на хранилищата със софтуер"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:624
+msgid "Enabling repository"
+msgstr "Включване на хранилище"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:628
+msgid "Setting data"
+msgstr "Задаване на данни"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:632
+msgid "Resolving"
+msgstr "Изчисляване"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:636
+msgid "Getting file list"
+msgstr "Получаване на списъка с файлове"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:640
+msgid "Getting provides"
+msgstr "Получаване на предоставяните ресурси"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:644
+msgid "Installing signature"
+msgstr "Инсталиране на подпис"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:648
+msgid "Getting packages"
+msgstr "Получаване на пакети"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:652
+msgid "Accepting EULA"
+msgstr "Приемане на EULA"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:660
+msgid "Getting upgrades"
+msgstr "Получаване на обновления"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:664
+msgid "Getting categories"
+msgstr "Получаване на категории"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:668
+msgid "Getting transactions"
+msgstr "Получаване на транзакции"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:672
+#: ../lib/packagekit-glib2/pk-console-shared.c:676
+msgid "Simulating install"
+msgstr "Симулация на инсталиране"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:680
+msgid "Simulating remove"
+msgstr "Симулация на деинсталиране"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:684
+msgid "Simulating update"
+msgstr "Симулация на обновяване"
+
+#. TRANSLATORS: ask the user if they are comfortable installing insecure packages
+#: ../lib/packagekit-glib2/pk-task-text.c:69
+msgid "Do you want to allow installing of unsigned software?"
+msgstr "Искате ли да позволите инсталирането на неподписан софтуер?"
+
+#. TRANSLATORS: tell the user we've not done anything
+#: ../lib/packagekit-glib2/pk-task-text.c:74
+msgid "The unsigned software will not be installed."
+msgstr "Неподписаният пакет няма да бъде инсталиран."
+
+#. TRANSLATORS: the package repository is signed by a key that is not recognised
+#: ../lib/packagekit-glib2/pk-task-text.c:123
+msgid "Software source signature required"
+msgstr "Изисква се подпис за хранилището"
+
+#. TRANSLATORS: the package repository name
+#: ../lib/packagekit-glib2/pk-task-text.c:129
+msgid "Software source name"
+msgstr "Име на хранилището"
+
+#. TRANSLATORS: the key URL
+#: ../lib/packagekit-glib2/pk-task-text.c:132
+msgid "Key URL"
+msgstr "Адрес на ключа"
+
+#. TRANSLATORS: the username of the key
+#: ../lib/packagekit-glib2/pk-task-text.c:135
+msgid "Key user"
+msgstr "Потребител на ключа"
+
+#. TRANSLATORS: the key ID, usually a few hex digits
+#: ../lib/packagekit-glib2/pk-task-text.c:138
+msgid "Key ID"
+msgstr "Идентификатор на ключа"
+
+#. TRANSLATORS: the key fingerprint, again, yet more hex
+#: ../lib/packagekit-glib2/pk-task-text.c:141
+msgid "Key fingerprint"
+msgstr "Отпечатък на ключа"
+
+#. TRANSLATORS: the timestamp (a bit like a machine readable time)
+#: ../lib/packagekit-glib2/pk-task-text.c:144
+msgid "Key Timestamp"
+msgstr "Време на ключа"
+
+#. TRANSLATORS: ask the user if they want to import
+#: ../lib/packagekit-glib2/pk-task-text.c:157
+msgid "Do you accept this signature?"
+msgstr "Приемате ли този подпис?"
+
+#. TRANSLATORS: tell the user we've not done anything
+#: ../lib/packagekit-glib2/pk-task-text.c:162
+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:205
+msgid "End user licence agreement required"
+msgstr "Изисква се съгласие с лицензионно споразумение с краен потребител"
+
+#. TRANSLATORS: the EULA text itself (long and boring)
+#: ../lib/packagekit-glib2/pk-task-text.c:214
+msgid "Agreement"
+msgstr "Лицензионно споразумение"
+
+#. TRANSLATORS: ask the user if they've read and accepted the EULA
+#: ../lib/packagekit-glib2/pk-task-text.c:223
+msgid "Do you accept this agreement?"
+msgstr "Приемате ли лицензионното споразумение?"
+
+#. TRANSLATORS: tell the user we've not done anything
+#: ../lib/packagekit-glib2/pk-task-text.c:228
+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:267
+msgid "Media change required"
+msgstr "Трябва да смените носителя"
+
+#. TRANSLATORS: the type, e.g. DVD, CD, etc
+#: ../lib/packagekit-glib2/pk-task-text.c:270
+msgid "Media type"
+msgstr "Вид носител"
+
+#. TRANSLATORS: the media label, usually like 'disk-1of3'
+#: ../lib/packagekit-glib2/pk-task-text.c:273
+msgid "Media label"
+msgstr "Етикет на носителя"
+
+#. TRANSLATORS: the media description, usually like 'Fedora 12 disk 5'
+#: ../lib/packagekit-glib2/pk-task-text.c:276
+msgid "Text"
+msgstr "Текст"
+
+#. TRANSLATORS: ask the user to insert the media
+#: ../lib/packagekit-glib2/pk-task-text.c:282
+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:287
+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:302
+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:307
+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:312
+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:317
+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:322
+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:382
+msgid "Proceed with changes?"
+msgstr "Да се приложат ли промените?"
+
+#. TRANSLATORS: tell the user we didn't do anything
+#: ../lib/packagekit-glib2/pk-task-text.c:387
+msgid "The transaction did not proceed."
+msgstr "Транзакцията не бе осъществена."
+
 #. SECURITY:
 #. - Normal users do not require admin authentication to accept new
 #. licence agreements.
@@ -1298,7 +1710,7 @@ 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 ""
@@ -1316,12 +1728,11 @@ msgstr "За инсталирането на недоверен пакет се
 
 #: ../policy/org.freedesktop.packagekit.policy.in.h:14
 msgid "Authentication is required to refresh the system sources"
-msgstr "За обновяването на системните източници се изисква идентификация"
+msgstr "За обновяването на системните хранилища се изисква идентификация"
 
 #: ../policy/org.freedesktop.packagekit.policy.in.h:15
-#, fuzzy
 msgid "Authentication is required to reload the device with a new driver"
-msgstr "За обновяването на системните източници се изисква идентификация"
+msgstr "За презареждане на устройството с нов драйвер се изисква идентификация"
 
 #: ../policy/org.freedesktop.packagekit.policy.in.h:16
 msgid "Authentication is required to remove packages"
@@ -1359,7 +1770,7 @@ msgstr "Отмяна на чуждата задача"
 #.
 #: ../policy/org.freedesktop.packagekit.policy.in.h:31
 msgid "Change software source parameters"
-msgstr "Промяна на параметрите на източник на софтуер"
+msgstr "Промяна на параметрите на хранилище"
 
 #. SECURITY:
 #. - Normal users do not need authentication to install signed packages
@@ -1387,7 +1798,7 @@ msgstr "Инсталиране на недоверен локален файл"
 #.
 #: ../policy/org.freedesktop.packagekit.policy.in.h:50
 msgid "Refresh system sources"
-msgstr "Обновяване на източниците на софтуер"
+msgstr "Обновяване на системните хранилища"
 
 #. SECURITY:
 #. - Normal users require admin authentication to rebind a driver
@@ -1398,7 +1809,7 @@ msgstr "Обновяване на източниците на софтуер"
 #.
 #: ../policy/org.freedesktop.packagekit.policy.in.h:58
 msgid "Reload a device"
-msgstr ""
+msgstr "Презареждане на устройство"
 
 #. SECURITY:
 #. - Normal users require admin authentication to remove packages as
@@ -1477,89 +1888,113 @@ msgstr ""
 "Файлът „org.freedesktop.PackageKit.conf“ не е инсталиран в системната папка:"
 
 #. TRANSLATORS: a backend is the system package tool, e.g. yum, apt
-#: ../src/pk-main.c:205
+#: ../src/pk-main.c:199
 msgid "Packaging backend to use, e.g. dummy"
 msgstr "Пакетно ядро, което да се ползва, напр. „dummy“"
 
 #. TRANSLATORS: if we should run in the background
-#: ../src/pk-main.c:208
+#: ../src/pk-main.c:202
 msgid "Daemonize and detach from the terminal"
-msgstr "Преминаване в режим на демон и освобождаване от терминала"
+msgstr "Преминаване в режим на демон и освобождаване на терминала"
 
 #. TRANSLATORS: if we should not monitor how long we are inactive for
-#: ../src/pk-main.c:214
+#: ../src/pk-main.c:205
 msgid "Disable the idle timer"
 msgstr "Изключване на хронометъра за бездействие"
 
 #. TRANSLATORS: show version
-#: ../src/pk-main.c:217
+#: ../src/pk-main.c:208
 msgid "Show version and exit"
 msgstr "Извеждане на версията и изход"
 
 #. TRANSLATORS: exit after we've started up, used for user profiling
-#: ../src/pk-main.c:220
+#: ../src/pk-main.c:211
 msgid "Exit after a small delay"
 msgstr "Изход след кратко изчакване"
 
 #. TRANSLATORS: exit straight away, used for automatic profiling
-#: ../src/pk-main.c:223
+#: ../src/pk-main.c:214
 msgid "Exit after the engine has loaded"
 msgstr "Изход след зареждането на ядрото"
 
 #. TRANSLATORS: describing the service that is running
-#: ../src/pk-main.c:238
+#: ../src/pk-main.c:229
 msgid "PackageKit service"
 msgstr "Услуга PackageKit"
 
 #. TRANSLATORS: fatal error, dbus is not running
-#: ../src/pk-main.c:275
+#: ../src/pk-main.c:266
 msgid "Cannot connect to the system bus"
 msgstr "Не може да се осъществи връзка към системната шина"
 
 #. TRANSLATORS: cannot register on system bus, unknown reason -- geeky error follows
-#: ../src/pk-main.c:334
-#, fuzzy
+#: ../src/pk-main.c:317
 msgid "Error trying to start:"
-msgstr "Грешка при опита за стартиране на: %s\n"
+msgstr "Грешка при опита за стартиране:"
 
-#: ../src/pk-polkit-action-lookup.c:147
-#, fuzzy
+#: ../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 ""
+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 ""
+msgstr "Не обновявайте пакета, освен ако не сте сигурни, че това е безопасно."
 
-#: ../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 ""
+"Не обновявайте пакетите, освен ако не сте сигурни, че това е безопасно."
 
-#: ../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 ""
+msgstr "Не инсталирайте пакета, освен ако не сте сигурни, че това е безопасно."
 
-#: ../src/pk-polkit-action-lookup.c:193
+#: ../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
-msgid "Malicious software can damage your computer or cause other harm."
-msgstr ""
+"Не инсталирайте пакетите, освен ако не сте сигурни, че това е безопасно."
 
 #. TRANSLATORS: too many packages to list each one
-#: ../src/pk-polkit-action-lookup.c:274
-#, fuzzy
+#: ../src/pk-polkit-action-lookup.c:273
 msgid "Many packages"
-msgstr "Обновяване на пакети"
+msgstr "Много пакети"
 
 #. TRANSLATORS: if the transaction is forced to install only trusted packages
-#: ../src/pk-polkit-action-lookup.c:334
+#: ../src/pk-polkit-action-lookup.c:339
 msgid "Only trusted"
-msgstr ""
+msgstr "Само доверени"
+
+#. TRANSLATORS: turn on all debugging
+#: ../src/egg-debug.c:388
+msgid "Show debugging information for all files"
+msgstr "Показване на информацията за изчистване на грешки за всички файлове"
+
+#. TRANSLATORS: a list of modules to debug
+#: ../src/egg-debug.c:459
+msgid "Debug these specific modules"
+msgstr "Изчистване на грешки конкретно в тези модули"
+
+#. TRANSLATORS: a list of functions to debug
+#: ../src/egg-debug.c:462
+msgid "Debug these specific functions"
+msgstr "Изчистване на грешки конкретно в тези функции"
+
+#. TRANSLATORS: save to a log
+#: ../src/egg-debug.c:465
+msgid "Log debugging data to a file"
+msgstr "Запазване на данните за изчистване на грешки във файл"
+
+#: ../src/egg-debug.c:469
+msgid "Debugging Options"
+msgstr "Опции за изчистването на грешки"
+
+#: ../src/egg-debug.c:469
+msgid "Show debugging options"
+msgstr "Показване на опциите за изчистване на грешки"
commit 5d886b771629228c89b3973b5e23e24a46d104b3
Author: Daniel Nicoletti <dantti85-pk at yahoo.com.br>
Date:   Fri Feb 19 15:53:42 2010 -0200

    aptcc: fix compiling

diff --git a/backends/aptcc/apt-utils.cpp b/backends/aptcc/apt-utils.cpp
index 7d3ac8a..09f71ba 100644
--- a/backends/aptcc/apt-utils.cpp
+++ b/backends/aptcc/apt-utils.cpp
@@ -148,7 +148,7 @@ static char *debParser(string descr)
 			// it's not a line to be verbatim displayed
 			// So it's a paragraph let's replace '\n' with a ' '
 			// replace new line with " "
-			descr.replace(nlpos, 1, ' ');
+			descr.replace(nlpos, 1, " ");
 		}
 
 		removedFullStop = false;
commit 6182926db2a2c5cd4c6546293b14227a3c334bef
Author: Daniel Nicoletti <dantti85-pk at yahoo.com.br>
Date:   Fri Feb 19 15:27:32 2010 -0200

    aptcc: fix once package descriptions FDO bug #26357

diff --git a/backends/aptcc/apt-utils.cpp b/backends/aptcc/apt-utils.cpp
index b830f71..7d3ac8a 100644
--- a/backends/aptcc/apt-utils.cpp
+++ b/backends/aptcc/apt-utils.cpp
@@ -109,9 +109,10 @@ string get_default_long_description(const pkgCache::VerIterator &ver,
 	}
 }
 
-// TODO try to find out how aptitude makes continuos lines keep that way
 static char *debParser(string descr)
 {
+	// Policy page on package descriptions
+	// http://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Description
 	unsigned int i;
 	string::size_type nlpos=0;
 
@@ -121,37 +122,36 @@ static char *debParser(string descr)
 		descr.erase(0, nlpos + 2);        // del "\n " too
 	}
 
+	// avoid replacing '\n' for a ' ' after a '.\n' is found
+	bool removedFullStop = false;
 	while (nlpos < descr.length()) {
-		// new line position
+		// find the new line position
 		nlpos = descr.find('\n', nlpos);
 		if (nlpos == string::npos) {
+			// if it could not find the new line
+			// get out of the loop
 			break;
 		}
 
 		i = nlpos;
-		// del char after '\n' (always " ")
-		i++;
-		descr.erase(i, 1);
-		
+		// erase the char after '\n' which is always " "
+		descr.erase(++i, 1);
 
-		// replace lines likes this: " .", making it a \n
+		// remove lines likes this: " .", making it a \n
 		if (descr[i] == '.') {
-			descr.replace(i, 1, "\n");
-			nlpos = ++i;
+			descr.erase(i, 1);
+			nlpos = i;
+			// don't permit the next round to replace a '\n' to a ' '
+			removedFullStop = true;
 			continue;
+		} else if (descr[i] != ' ' && removedFullStop == false) {
+			// it's not a line to be verbatim displayed
+			// So it's a paragraph let's replace '\n' with a ' '
+			// replace new line with " "
+			descr.replace(nlpos, 1, ' ');
 		}
 
-		// skip ws
-		while (descr[++i] == ' ');
-
-		// not a list, replace nl with " "
-		if(!(descr[i] == '*' || descr[i] == '-' || descr[i] == 'o')) {
-			descr.replace(nlpos, 1, " ");
-		} else {
-			// since 'o' is not a markdown list let it all be just "-"
-			descr.replace(i, 1, "-");
-		}
-
+		removedFullStop = false;
 		nlpos++;
 	}
 	strcpy(descrBuffer, descr.c_str());
commit f91495412e7f0188a295fb0677eb9ab406cd5f20
Author: Anders F Bjorklund <afb at users.sourceforge.net>
Date:   Fri Feb 19 15:07:46 2010 +0100

    smart: convert search term string to array

diff --git a/backends/smart/smartBackend.py b/backends/smart/smartBackend.py
index f519204..3f977f9 100755
--- a/backends/smart/smartBackend.py
+++ b/backends/smart/smartBackend.py
@@ -461,22 +461,23 @@ class PackageKitSmartBackend(PackageKitBaseBackend):
         self._show_package_list()
 
     @needs_cache
-    def search_name(self, filters, packagename):
-        globbed = "*%s*" % packagename
-        self.status(STATUS_QUERY)
-        self.allow_cancel(True)
-        ratio, results, suggestions = self.ctrl.search(globbed)
+    def search_name(self, filters, packagenames):
+        for packagename in packagenames:
+            globbed = "*%s*" % packagename
+            self.status(STATUS_QUERY)
+            self.allow_cancel(True)
+            ratio, results, suggestions = self.ctrl.search(globbed)
 
-        packages = self._process_search_results(results)
+            packages = self._process_search_results(results)
 
-        for package in packages:
-            if self._package_passes_filters(package, filters):
-                self._add_package(package)
+            for package in packages:
+                if self._package_passes_filters(package, filters):
+                    self._add_package(package)
         self._post_process_package_list(filters)
         self._show_package_list()
 
     @needs_cache
-    def search_file(self, filters, searchstring):
+    def search_file(self, filters, searchstrings):
         self.status(STATUS_QUERY)
         self.allow_cancel(True)
         packages = self.ctrl.getCache().getPackages()
@@ -490,36 +491,43 @@ class PackageKitSmartBackend(PackageKitBaseBackend):
                     paths = info.getPathList()
                     if len(paths) > 0:
                         break
-                if searchstring in paths:
-                    self._add_package(package)
+                for searchstring in searchstrings:
+                    if searchstring in paths:
+                        self._add_package(package)
         self._post_process_package_list(filters)
         self._show_package_list()
 
     @needs_cache
-    def search_group(self, filters, searchstring):
+    def search_group(self, filters, searchstrings):
         self.status(STATUS_QUERY)
         self.allow_cancel(True)
-        filter_desktops = searchstring.find("desktop") != -1
+        filter_desktops = False
+        for searchstring in searchstrings:
+            if searchstring.find("desktop") != -1:
+                filter_desktops = True
         packages = self.ctrl.getCache().getPackages()
         for package in packages:
             if self._package_passes_filters(package, filters):
                 info = package.loaders.keys()[0].getInfo(package)
                 group = self._get_group(info, filter_desktops)
-                if searchstring in group:
-                    self._add_package(package)
+                for searchstring in searchstrings:
+                    if searchstring in group:
+                        self._add_package(package)
         self._post_process_package_list(filters)
         self._show_package_list()
 
     @needs_cache
-    def search_details(self, filters, searchstring):
+    def search_details(self, filters, searchstrings):
         self.status(STATUS_QUERY)
         self.allow_cancel(True)
         packages = self.ctrl.getCache().getPackages()
         for package in packages:
             if self._package_passes_filters(package, filters):
                 info = package.loaders.keys()[0].getInfo(package)
-                if searchstring in info.getDescription():
-                    self._add_package(package)
+                desc = info.getDescription()
+                for searchstring in searchstrings:
+                    if searchstring in desc:
+                        self._add_package(package)
 
     @needs_cache
     def get_packages(self, filters):
commit 49cf53d5668d23d679b431a2ebfd9f7b59055ff3
Author: Daniel Nicoletti <dantti85-pk at yahoo.com.br>
Date:   Fri Feb 19 11:46:47 2010 -0200

    aptcc: improved kind of updates detection

diff --git a/backends/aptcc/apt.cpp b/backends/aptcc/apt.cpp
index e9b84d9..6b15e6e 100644
--- a/backends/aptcc/apt.cpp
+++ b/backends/aptcc/apt.cpp
@@ -257,9 +257,7 @@ void aptcc::emit_package(const pkgCache::PkgIterator &pkg,
 {
 	// check the state enum to see if it was not set.
 	if (state == PK_INFO_ENUM_UNKNOWN) {
-		if(!ver.end() && ver != pkg.CurrentVer()) {
-			state = PK_INFO_ENUM_AVAILABLE;
-		} else if (pkg->CurrentState == pkgCache::State::Installed) {
+		if (pkg->CurrentState == pkgCache::State::Installed) {
 			state = PK_INFO_ENUM_INSTALLED;
 		} else {
 			state = PK_INFO_ENUM_AVAILABLE;
@@ -377,6 +375,52 @@ void aptcc::emit_packages(vector<pair<pkgCache::PkgIterator, pkgCache::VerIterat
 	}
 }
 
+
+
+void aptcc::emitUpdates(vector<pair<pkgCache::PkgIterator, pkgCache::VerIterator> > &output,
+			 PkBitfield filters)
+{
+	// the default update info
+	PkInfoEnum state = PK_INFO_ENUM_NORMAL;
+	// Sort so we can remove the duplicated entries
+	sort(output.begin(), output.end(), compare());
+	// Remove the duplicated entries
+	output.erase(unique(output.begin(),
+			    output.end(),
+			    result_equality()),
+		     output.end());
+
+	for(vector<pair<pkgCache::PkgIterator, pkgCache::VerIterator> >::iterator i=output.begin();
+	    i != output.end(); ++i)
+	{
+		if (_cancel) {
+			break;
+		}
+
+		// let find what kind of upgrade this is
+		pkgCache::VerFileIterator vf = i->second.FileList();
+		std::string origin  = vf.File().Origin();
+		std::string archive = vf.File().Archive();
+		std::string label   = vf.File().Label();
+		if (origin.compare("Debian") == 0 ||
+		    origin.compare("Ubuntu") == 0) {
+			if (ends_with(archive, "-security") ||
+			    label.compare("Debian-Security") == 0) {
+				state = PK_INFO_ENUM_SECURITY;
+			} else if (ends_with(archive, "-backports")) {
+				state = PK_INFO_ENUM_ENHANCEMENT;
+			} else if (ends_with(archive, "-updates")) {
+				state = PK_INFO_ENUM_BUGFIX;
+			}
+		} else if (origin.compare("Backports.org archive") == 0) {
+			state = PK_INFO_ENUM_ENHANCEMENT;
+		}
+
+		emit_package(i->first, i->second, filters, state);
+	}
+}
+
+
 void aptcc::povidesCodec(vector<pair<pkgCache::PkgIterator, pkgCache::VerIterator> > &output,
 			 gchar **values)
 {
diff --git a/backends/aptcc/apt.h b/backends/aptcc/apt.h
index fc67bdb..5deb2be 100644
--- a/backends/aptcc/apt.h
+++ b/backends/aptcc/apt.h
@@ -104,6 +104,9 @@ public:
 			   PkBitfield filters = PK_FILTER_ENUM_NONE,
 			   PkInfoEnum state = PK_INFO_ENUM_UNKNOWN);
 
+	void emitUpdates(vector<pair<pkgCache::PkgIterator, pkgCache::VerIterator> > &output,
+			 PkBitfield filters = PK_FILTER_ENUM_NONE);
+
 	/**
 	 *  Emits details
 	 */
diff --git a/backends/aptcc/pk-backend-aptcc.cpp b/backends/aptcc/pk-backend-aptcc.cpp
index 97083d3..00ce50e 100644
--- a/backends/aptcc/pk-backend-aptcc.cpp
+++ b/backends/aptcc/pk-backend-aptcc.cpp
@@ -413,8 +413,8 @@ backend_get_or_update_system_thread (PkBackend *backend)
 			}
 		}
 
-		m_apt->emit_packages(update, filters, PK_INFO_ENUM_NORMAL);
-		m_apt->emit_packages(kept,   filters, PK_INFO_ENUM_BLOCKED);
+		m_apt->emitUpdates(update, filters);
+		m_apt->emit_packages(kept, filters, PK_INFO_ENUM_BLOCKED);
 	} else {
 		res = m_apt->installPackages(*m_apt->packageDepCache, true);
 	}
commit b62a05a786f9a254b6a29f15b874ff9d7a15f402
Author: Richard Hughes <richard at hughsie.com>
Date:   Fri Feb 19 12:27:14 2010 +0000

    trivial: Fix up the self test program now we've fixed the pk_backend_finished race

diff --git a/src/pk-spawn.c b/src/pk-spawn.c
index 16356a9..4d46ee3 100644
--- a/src/pk-spawn.c
+++ b/src/pk-spawn.c
@@ -1069,11 +1069,11 @@ pk_spawn_test (EggTest *test)
 	egg_test_loop_wait (test, 100);
 
 	/************************************************************/
-	egg_test_title (test, "we got another package (+finished)?");
-	if (stdout_count == 4)
+	egg_test_title (test, "we got another package (not finished after bugfix)?");
+	if (stdout_count == 3)
 		egg_test_success (test, NULL);
 	else
-		egg_test_failed (test, "did not get a package");
+		egg_test_failed (test, "did not get a package: count was %i", stdout_count);
 
 	/* see if pk_spawn_exit blocks (required) */
 	g_idle_add (idle_cb, test);
commit dcb9e8af02c2d75d746084a3280877dd9f95a986
Author: Richard Hughes <richard at hughsie.com>
Date:   Fri Feb 19 12:19:09 2010 +0000

    Fix a logic problem where the PkSpawn and PkBackend instances would race and sometimes issue a pk_backend_finished() when the dispatcher instance was being changed

diff --git a/src/pk-backend-spawn.c b/src/pk-backend-spawn.c
index 2e00c5b..74f4c88 100644
--- a/src/pk-backend-spawn.c
+++ b/src/pk-backend-spawn.c
@@ -63,7 +63,6 @@ struct PkBackendSpawnPrivate
 	PkBackend		*backend;
 	gchar			*name;
 	guint			 kill_id;
-	guint			 backend_finished_id;
 	PkConf			*conf;
 	gboolean		 finished;
 	gboolean		 allow_sigkill;
@@ -96,6 +95,52 @@ pk_backend_spawn_set_filter_stderr (PkBackendSpawn *backend_spawn, PkBackendSpaw
 }
 
 /**
+ * pk_backend_spawn_exit_timeout_cb:
+ **/
+static gboolean
+pk_backend_spawn_exit_timeout_cb (PkBackendSpawn *backend_spawn)
+{
+	gboolean ret;
+
+	g_return_val_if_fail (PK_IS_BACKEND_SPAWN (backend_spawn), FALSE);
+
+	/* only try to close if running */
+	ret = pk_spawn_is_running (backend_spawn->priv->spawn);
+	if (ret) {
+		egg_debug ("closing dispatcher as running and is idle");
+		pk_spawn_exit (backend_spawn->priv->spawn);
+	}
+	return FALSE;
+}
+
+/**
+ * pk_backend_spawn_start_kill_timer:
+ **/
+static void
+pk_backend_spawn_start_kill_timer (PkBackendSpawn *backend_spawn)
+{
+	gint timeout;
+	PkBackendSpawnPrivate *priv = backend_spawn->priv;
+
+	/* we finished okay, so we don't need to emulate Finished() for a crashing script */
+	priv->finished = TRUE;
+	egg_debug ("backend marked as finished, so starting kill timer");
+
+	if (priv->kill_id > 0)
+		g_source_remove (priv->kill_id);
+
+	/* get policy timeout */
+	timeout = pk_conf_get_int (priv->conf, "BackendShutdownTimeout");
+	if (timeout == PK_CONF_VALUE_INT_MISSING) {
+		egg_warning ("using built in default value");
+		timeout = 5;
+	}
+
+	/* close down the dispatcher if it is still open after this much time */
+	priv->kill_id = g_timeout_add_seconds (timeout, (GSourceFunc) pk_backend_spawn_exit_timeout_cb, backend_spawn);
+}
+
+/**
  * pk_backend_spawn_parse_stdout:
  *
  * If you are editing this function creating a new backend,
@@ -184,6 +229,10 @@ pk_backend_spawn_parse_stdout (PkBackendSpawn *backend_spawn, const gchar *line)
 			goto out;
 		}
 		pk_backend_finished (priv->backend);
+
+		/* from this point on, we can start the kill timer */
+		pk_backend_spawn_start_kill_timer (backend_spawn);
+
 	} else if (g_strcmp0 (command, "files") == 0) {
 		if (size != 3) {
 			egg_warning ("invalid command'%s', size %i", command, size);
@@ -522,7 +571,8 @@ pk_backend_spawn_exit_cb (PkSpawn *spawn, PkSpawnExitType exit_enum, PkBackendSp
 	}
 
 	/* only emit if not finished */
-	if (!backend_spawn->priv->finished) {
+	if (!backend_spawn->priv->finished &&
+	    exit_enum != PK_SPAWN_EXIT_TYPE_DISPATCHER_CHANGED) {
 		egg_warning ("script exited without doing finished");
 		pk_backend_finished (backend_spawn->priv->backend);
 	}
@@ -848,51 +898,6 @@ pk_backend_spawn_kill (PkBackendSpawn *backend_spawn)
 }
 
 /**
- * pk_backend_spawn_exit_timeout_cb:
- **/
-static gboolean
-pk_backend_spawn_exit_timeout_cb (PkBackendSpawn *backend_spawn)
-{
-	gboolean ret;
-
-	g_return_val_if_fail (PK_IS_BACKEND_SPAWN (backend_spawn), FALSE);
-
-	/* only try to close if running */
-	ret = pk_spawn_is_running (backend_spawn->priv->spawn);
-	if (ret) {
-		egg_debug ("closing dispatcher as running and is idle");
-		pk_spawn_exit (backend_spawn->priv->spawn);
-	}
-	return FALSE;
-}
-
-/**
- * pk_backend_spawn_finished_cb:
- **/
-static void
-pk_backend_spawn_finished_cb (PkBackend *backend, PkExitEnum exit_enum, PkBackendSpawn *backend_spawn)
-{
-	gint timeout;
-	PkBackendSpawnPrivate *priv = backend_spawn->priv;
-
-	/* we finished okay, so we don't need to emulate Finished() for a crashing script */
-	priv->finished = TRUE;
-
-	if (priv->kill_id > 0)
-		g_source_remove (priv->kill_id);
-
-	/* get policy timeout */
-	timeout = pk_conf_get_int (priv->conf, "BackendShutdownTimeout");
-	if (timeout == PK_CONF_VALUE_INT_MISSING) {
-		egg_warning ("using built in default value");
-		timeout = 5;
-	}
-
-	/* close down the dispatcher if it is still open after this much time */
-	priv->kill_id = g_timeout_add_seconds (timeout, (GSourceFunc) pk_backend_spawn_exit_timeout_cb, backend_spawn);
-}
-
-/**
  * pk_backend_spawn_helper:
  **/
 gboolean
@@ -959,7 +964,6 @@ pk_backend_spawn_finalize (GObject *object)
 	if (backend_spawn->priv->kill_id > 0)
 		g_source_remove (backend_spawn->priv->kill_id);
 
-	g_signal_handler_disconnect (backend_spawn->priv->backend, backend_spawn->priv->backend_finished_id);
 	g_free (backend_spawn->priv->name);
 	g_object_unref (backend_spawn->priv->conf);
 	g_object_unref (backend_spawn->priv->spawn);
@@ -993,9 +997,6 @@ pk_backend_spawn_init (PkBackendSpawn *backend_spawn)
 	backend_spawn->priv->finished = FALSE;
 	backend_spawn->priv->conf = pk_conf_new ();
 	backend_spawn->priv->backend = pk_backend_new ();
-	backend_spawn->priv->backend_finished_id =
-		g_signal_connect (backend_spawn->priv->backend, "finished",
-			  G_CALLBACK (pk_backend_spawn_finished_cb), backend_spawn);
 	backend_spawn->priv->spawn = pk_spawn_new ();
 	g_signal_connect (backend_spawn->priv->spawn, "exit",
 			  G_CALLBACK (pk_backend_spawn_exit_cb), backend_spawn);
commit d02e6a88e2be7969edcbee58bc82a486aad72231
Author: Richard Hughes <richard at hughsie.com>
Date:   Fri Feb 19 11:50:37 2010 +0000

    trivial: Remove a legacy test file

diff --git a/backends/test-backend.sh b/backends/test-backend.sh
deleted file mode 100755
index 9d42272..0000000
--- a/backends/test-backend.sh
+++ /dev/null
@@ -1,62 +0,0 @@
-echo "start test..."
-
-#package_id="gnome-power-manager;2.19.7-0.72.20070828svn.fc7.hughsie;i386;installed"
-package_id="BasiliskII;1.0-0.20060501.1.fc7;x86_64;freshrpms"
-
-backend="yum"
-
-echo "get deps $package_id"
-./$backend/helpers/get-deps.py $package_id 
-echo "exitcode=$?"
-
-echo "get details $package_id"
-./$backend/helpers/get-details.py $package_id
-echo "exitcode=$?"
-
-echo "get updates"
-./$backend/helpers/get-updates.py
-echo "exitcode=$?"
-
-echo "refresh cache"
-./$backend/helpers/refresh-cache.py
-echo "exitcode=$?"
-
-echo "remove $package_id"
-./$backend/helpers/remove.py no $package_id
-echo "exitcode=$?"
-
-echo "remove $package_id (already removed)"
-./$backend/helpers/remove.py no $package_id
-echo "exitcode=$?"
-
-echo "install $package_id"
-./$backend/helpers/install.py $package_id
-echo "exitcode=$?"
-
-echo "install $package_id (already installed)"
-./$backend/helpers/install.py $package_id
-echo "exitcode=$?"
-
-echo "search details lm_sensors"
-./$backend/helpers/search-details.py none lm_sensors
-echo "exitcode=$?"
-
-echo "search file gpm-prefs.glade"
-./$backend/helpers/search-file.py none gpm-prefs.glade
-echo "exitcode=$?"
-
-echo "search group system"
-./$backend/helpers/search-group.py none system
-echo "exitcode=$?"
-
-echo "search name power"
-./$backend/helpers/search-name.py none power
-echo "exitcode=$?"
-
-echo "update $package_id"
-./$backend/helpers/update.py $package_id
-echo "exitcode=$?"
-
-echo "update system"
-./$backend/helpers/update-system.py
-echo "exitcode=$?"
commit a7a6d622c0111cc8e1c53c7100810c4fd535b795
Author: Richard Hughes <richard at hughsie.com>
Date:   Fri Feb 19 11:48:56 2010 +0000

    yum: remove the '&' multiple parameter hacks

diff --git a/backends/yum/yumBackend.py b/backends/yum/yumBackend.py
index f58719c..e2c9bd0 100755
--- a/backends/yum/yumBackend.py
+++ b/backends/yum/yumBackend.py
@@ -422,9 +422,6 @@ class PackageKitYumBackend(PackageKitBaseBackend, PackagekitPackage):
         self.allow_cancel(True)
         self.percentage(None)
 
-        # until the API is changed, allow '&' to delimit multiple fields
-        values = values.split('&')
-
         searchlist = ['name']
         self.status(STATUS_QUERY)
         try:
@@ -453,9 +450,6 @@ class PackageKitYumBackend(PackageKitBaseBackend, PackagekitPackage):
         self.allow_cancel(True)
         self.percentage(None)
 
-        # until the API is changed, allow '&' to delimit multiple fields
-        values = values.split('&')
-
         searchlist = ['name', 'summary', 'description', 'group']
         self.status(STATUS_QUERY)
         try:
@@ -583,9 +577,6 @@ class PackageKitYumBackend(PackageKitBaseBackend, PackagekitPackage):
         fltlist = filters.split(';')
         pkgfilter = YumFilter(fltlist)
 
-        # until the API is changed, allow '&' to delimit multiple fields
-        values = values.split('&')
-
         # handle collections
         if GROUP_COLLECTIONS in values:
             try:
@@ -698,9 +689,6 @@ class PackageKitYumBackend(PackageKitBaseBackend, PackagekitPackage):
         fltlist = filters.split(';')
         pkgfilter = YumFilter(fltlist)
 
-        # until the API is changed, allow '&' to delimit multiple fields
-        values = values.split('&')
-
         # Check installed for file
         if not FILTER_NOT_INSTALLED in fltlist:
             for value in values:
@@ -773,9 +761,6 @@ class PackageKitYumBackend(PackageKitBaseBackend, PackagekitPackage):
         fltlist = filters.split(';')
         pkgfilter = YumFilter(fltlist)
 
-        # until the API is changed, allow '&' to delimit multiple fields
-        values = values.split('&')
-
         try:
             for value in values:
                 provides = self._get_provides_query(provides_type, value)
commit 1dad89f15c235158a59b13cbd1d9f9bd46ebbcda
Author: Richard Hughes <richard at hughsie.com>
Date:   Fri Feb 19 11:41:47 2010 +0000

    Change the python helpers to get sent an array of values, not a delimited string
    
    This requires backend authors to change thier backed so that the search term passed
    to search-name, search-details, search-group, search-details and what-provides is
    now an array of strings, not a single string.

diff --git a/lib/python/packagekit/backend.py b/lib/python/packagekit/backend.py
index 113a978..57094bb 100644
--- a/lib/python/packagekit/backend.py
+++ b/lib/python/packagekit/backend.py
@@ -650,22 +650,22 @@ class PackageKitBaseBackend:
             self.finished()
         elif cmd == 'search-details':
             options = args[0]
-            values = _to_unicode(args[1])
+            values = _to_unicode(args[1]).split(PACKAGE_IDS_DELIM)
             self.search_details(options, values)
             self.finished()
         elif cmd == 'search-file':
             options = args[0]
-            values = args[1]
+            values = args[1].split(PACKAGE_IDS_DELIM)
             self.search_file(options, values)
             self.finished()
         elif cmd == 'search-group':
             options = args[0]
-            values = args[1]
+            values = args[1].split(PACKAGE_IDS_DELIM)
             self.search_group(options, values)
             self.finished()
         elif cmd == 'search-name':
             options = args[0]
-            values = _to_unicode(args[1])
+            values = _to_unicode(args[1]).split(PACKAGE_IDS_DELIM)
             self.search_name(options, values)
             self.finished()
         elif cmd == 'signature-install':
@@ -684,7 +684,7 @@ class PackageKitBaseBackend:
         elif cmd == 'what-provides':
             filters = args[0]
             provides_type = args[1]
-            values = _to_unicode(args[2])
+            values = _to_unicode(args[2]).split(PACKAGE_IDS_DELIM)
             self.what_provides(filters, provides_type, values)
             self.finished()
         elif cmd == 'set-locale':
commit 0d8fa002ca02a01257f94697b1deddd5fb654b17
Author: Adrien Bustany <abustany at gnome.org>
Date:   Thu Feb 18 16:10:30 2010 -0300

    packagekit-qt: Fix tests to use correct signal proto
    
    With the change to the Enum class, a few signal protos changed, and the tests
    were not all kept up to date.

diff --git a/lib/packagekit-qt/test/transactiontest.cpp b/lib/packagekit-qt/test/transactiontest.cpp
index 2063c16..fb19a47 100644
--- a/lib/packagekit-qt/test/transactiontest.cpp
+++ b/lib/packagekit-qt/test/transactiontest.cpp
@@ -77,7 +77,7 @@ void TransactionTest::getDistroUpgrades()
 	CPPUNIT_ASSERT_MESSAGE("getDistroUpgrades", t != NULL);
 	QEventLoop el;
 	connect(t, SIGNAL(finished(PackageKit::Enum::Exit, uint)), &el, SLOT(quit()));
-	connect(t, SIGNAL(distroUpgrade(PackageKit::Client::DistroUpgradeType, const QString&, const QString&)), this, SLOT(getDistroUpgrades_cb()));
+	connect(t, SIGNAL(distroUpgrade(PackageKit::Enum::DistroUpgrade, const QString&, const QString&)), this, SLOT(getDistroUpgrades_cb()));
 	el.exec();
 	CPPUNIT_ASSERT_MESSAGE("getDistroUpgrades (not fatal, only means there are no distro upgrades)", success);
 
commit fb85f58da5aa2bef0fd732ce65257232a8519a64
Author: Adrien Bustany <madcat at mymadcat.com>
Date:   Wed Feb 10 16:36:03 2010 -0300

    PackageKit-Qt: Switch from QDbusReply to QDBusPendingReply

diff --git a/lib/packagekit-qt/src/client.cpp b/lib/packagekit-qt/src/client.cpp
index 1ce765f..007977a 100644
--- a/lib/packagekit-qt/src/client.cpp
+++ b/lib/packagekit-qt/src/client.cpp
@@ -40,14 +40,15 @@
 		}                                           \
 
 #define CHECK_TRANSACTION                                          \
-		if (!r.isValid ()) {                                       \
+		if (r.isError ()) {                                       \
 			setTransactionError (t, daemonErrorFromDBusReply (r)); \
 		}                                                          \
 
 #define RUN_TRANSACTION(blurb) \
 		Q_D(Client);   \
 		CREATE_NEW_TRANSACTION \
-		QDBusReply<void> r = t->d_ptr->p->blurb;        \
+		QDBusPendingReply<> r = t->d_ptr->p->blurb;        \
+		r.waitForFinished (); \
 		CHECK_TRANSACTION      \
 		return t;              \
 
@@ -57,7 +58,7 @@ using namespace PackageKit;
 
 Client* Client::m_instance = 0;
 
-template<class T> Client::DaemonError daemonErrorFromDBusReply (QDBusReply<T> e) {
+template<class T> Client::DaemonError daemonErrorFromDBusReply (QDBusPendingReply<T> e) {
 	return Util::errorFromString (e.error ().name ());
 }
 
@@ -219,8 +220,9 @@ void Client::setHints(const QString& hints)
 bool Client::setProxy(const QString& http_proxy, const QString& ftp_proxy)
 {
 	Q_D(Client);
-	QDBusReply<void> r = d->daemon->SetProxy(http_proxy, ftp_proxy);
-	if (!r.isValid ()) {
+	QDBusPendingReply<> r = d->daemon->SetProxy(http_proxy, ftp_proxy);
+	r.waitForFinished ();
+	if (r.isError ()) {
 		setLastError (daemonErrorFromDBusReply (r));
 		return false;
 	} else {
@@ -300,7 +302,8 @@ Transaction* Client::getDetails(const QList<Package*>& packages)
 		t->d_ptr->packageMap.insert(p->id(), p);
 	}
 
-	QDBusReply<void> r = t->d_ptr->p->GetDetails(Util::packageListToPids(packages));
+	QDBusPendingReply<> r = t->d_ptr->p->GetDetails(Util::packageListToPids(packages));
+	r.waitForFinished ();
 
 	CHECK_TRANSACTION
 
commit 054e969b43dfe5b7776c1e9d91775c293f566ba6
Author: Adrien Bustany <madcat at mymadcat.com>
Date:   Wed Feb 10 16:35:35 2010 -0300

    PackageKit-Qt: Port the tests to the new Enum class

diff --git a/lib/packagekit-qt/test/transactiontest.cpp b/lib/packagekit-qt/test/transactiontest.cpp
index 9e5d746..2063c16 100644
--- a/lib/packagekit-qt/test/transactiontest.cpp
+++ b/lib/packagekit-qt/test/transactiontest.cpp
@@ -19,7 +19,7 @@ void TransactionTest::searchName()
 	qDebug() << "searchName";
 	QEventLoop el;
 	connect(t, SIGNAL(package(PackageKit::Package*)), this, SLOT(searchName_cb(PackageKit::Package*)));
-	connect(t, SIGNAL(finished(PackageKit::Transaction::ExitStatus, uint)), &el, SLOT(quit()));
+	connect(t, SIGNAL(finished(PackageKit::Enum::Exit, uint)), &el, SLOT(quit()));
 	el.exec();
 	CPPUNIT_ASSERT_MESSAGE("searchName", success);
 }
@@ -40,20 +40,20 @@ void TransactionTest::resolveAndInstallAndRemove()
 	qDebug() << "Resolving";
 	QEventLoop el;
 	connect(t, SIGNAL(package(PackageKit::Package*)), this, SLOT(resolveAndInstallAndRemove_cb(PackageKit::Package*)));
-	connect(t, SIGNAL(finished(PackageKit::Transaction::ExitStatus, uint)), &el, SLOT(quit()));
+	connect(t, SIGNAL(finished(PackageKit::Enum::Exit, uint)), &el, SLOT(quit()));
 	el.exec();
 	CPPUNIT_ASSERT_MESSAGE("resolve", success);
 
 	t = c->installPackages(FALSE, currentPackage);
 	CPPUNIT_ASSERT_MESSAGE("installPackages", t != NULL);
 	qDebug() << "Installing";
-	connect(t, SIGNAL(finished(PackageKit::Transaction::ExitStatus, uint)), &el, SLOT(quit()));
+	connect(t, SIGNAL(finished(PackageKit::Enum::Exit, uint)), &el, SLOT(quit()));
 	el.exec();
 
 	t = c->removePackages(currentPackage, FALSE, FALSE);
 	CPPUNIT_ASSERT_MESSAGE("removePackages", t != NULL);
 	qDebug() << "Removing";
-	connect(t, SIGNAL(finished(PackageKit::Transaction::ExitStatus, uint)), &el, SLOT(quit()));
+	connect(t, SIGNAL(finished(PackageKit::Enum::Exit, uint)), &el, SLOT(quit()));
 	el.exec();
 
 	delete(currentPackage);
@@ -65,7 +65,7 @@ void TransactionTest::refreshCache()
 	qDebug() << "Refreshing cache";
 	CPPUNIT_ASSERT_MESSAGE("refreshCache", t != NULL);
 	QEventLoop el;
-	connect(t, SIGNAL(finished(PackageKit::Transaction::ExitStatus, uint)), &el, SLOT(quit()));
+	connect(t, SIGNAL(finished(PackageKit::Enum::Exit, uint)), &el, SLOT(quit()));
 	el.exec();
 }
 
@@ -76,7 +76,7 @@ void TransactionTest::getDistroUpgrades()
 	qDebug() << "Getting distro upgrades";
 	CPPUNIT_ASSERT_MESSAGE("getDistroUpgrades", t != NULL);
 	QEventLoop el;
-	connect(t, SIGNAL(finished(PackageKit::Transaction::ExitStatus, uint)), &el, SLOT(quit()));
+	connect(t, SIGNAL(finished(PackageKit::Enum::Exit, uint)), &el, SLOT(quit()));
 	connect(t, SIGNAL(distroUpgrade(PackageKit::Client::DistroUpgradeType, const QString&, const QString&)), this, SLOT(getDistroUpgrades_cb()));
 	el.exec();
 	CPPUNIT_ASSERT_MESSAGE("getDistroUpgrades (not fatal, only means there are no distro upgrades)", success);
@@ -91,7 +91,7 @@ void TransactionTest::getRepos()
 	CPPUNIT_ASSERT_MESSAGE("getRepoList", t != NULL);
 	qDebug() << "Getting repos (non filtered)";
 	QEventLoop el;
-	connect(t, SIGNAL(finished(PackageKit::Transaction::ExitStatus, uint)), &el, SLOT(quit()));
+	connect(t, SIGNAL(finished(PackageKit::Enum::Exit, uint)), &el, SLOT(quit()));
 	connect(t, SIGNAL(repoDetail(const QString&, const QString&, bool)), this, SLOT(getRepos_cb(const QString&, const QString&, bool)));
 	el.exec();
 	CPPUNIT_ASSERT_MESSAGE("getRepoList", success);
@@ -100,7 +100,7 @@ void TransactionTest::getRepos()
 	t = PackageKit::Client::instance()->getRepoList(PackageKit::Enum::FilterNotDevelopment);
 	CPPUNIT_ASSERT_MESSAGE("getRepoList (filtered)", t != NULL);
 	qDebug() << "Getting repos (filtered)";
-	connect(t, SIGNAL(finished(PackageKit::Transaction::ExitStatus, uint)), &el, SLOT(quit()));
+	connect(t, SIGNAL(finished(PackageKit::Enum::Exit, uint)), &el, SLOT(quit()));
 	connect(t, SIGNAL(repoDetail(const QString&, const QString&, bool)), this, SLOT(getRepos_cb(const QString&, const QString&, bool)));
 	el.exec();
 	CPPUNIT_ASSERT_MESSAGE("getRepoList (filtered)", success);
commit a6b5c32678d5d971b141d99c1bb495a89d212e6f
Author: Adrien Bustany <madcat at mymadcat.com>
Date:   Wed Feb 10 16:30:46 2010 -0300

    PackageKit-Qt: Fix filtersToString and make enumToString more robust

diff --git a/lib/packagekit-qt/src/util.h b/lib/packagekit-qt/src/util.h
index 50d78c4..42550a9 100644
--- a/lib/packagekit-qt/src/util.h
+++ b/lib/packagekit-qt/src/util.h
@@ -93,9 +93,14 @@ public:
 	{
 		int id = T::staticMetaObject.indexOfEnumerator(enumName);
 		QMetaEnum e = T::staticMetaObject.enumerator(id);
+		if (!e.isValid ()) {
+			qDebug () << "Invalid enum " << enumName;
+			return QString ();
+		}
 		QString enumString = e.valueToKey(value);
 		if(enumString.isNull()) {
 			qDebug() << "Enum key not found while searching for value" << value << "in enum" << enumName;
+			return QString ();
 		}
 
 		// Remove the prefix
commit 160a1543601ef68ebe955e0898da8ea083a98e0e
Author: Daniel Nicoletti <dantti85-pk at yahoo.com.br>
Date:   Thu Feb 18 15:15:04 2010 -0200

    packagekit-qt: fix the enum use

diff --git a/lib/packagekit-qt/src/util.cpp b/lib/packagekit-qt/src/util.cpp
index 285f60d..2420717 100644
--- a/lib/packagekit-qt/src/util.cpp
+++ b/lib/packagekit-qt/src/util.cpp
@@ -37,7 +37,7 @@ QString Util::filtersToString(const QFlags<PackageKit::Enum::Filter>& flags)
 	QStringList flagStrings;
 	for (int i = Enum::UnknownFilter; i < Enum::FilterLast; i *= 2) {
 		if ((Enum::Filter) i & flags) {
-			flagStrings.append(Util::enumToString<Client>((Enum::Filter) i, "Filter", "Filter"));
+			flagStrings.append(Util::enumToString<Enum>((Enum::Filter) i, "Filter", "Filter"));
 		}
 	}
 
commit f510fb852e98e60fa3f547739c74763ee0cac423
Author: Daniel Nicoletti <dantti85-pk at yahoo.com.br>
Date:   Thu Feb 18 15:13:00 2010 -0200

    aptcc: fix unknown progress when download takes too much time to go to 1%

diff --git a/backends/aptcc/acqprogress.cpp b/backends/aptcc/acqprogress.cpp
index f624966..f93fc5d 100644
--- a/backends/aptcc/acqprogress.cpp
+++ b/backends/aptcc/acqprogress.cpp
@@ -28,8 +28,8 @@ AcqPackageKitStatus::AcqPackageKitStatus(aptcc *apt, PkBackend *backend, bool &c
 	m_apt(apt),
 	m_backend(backend),
 	_cancelled(cancelled),
-	last_percent(0),
-	last_sub_percent(0)
+	last_percent(PK_BACKEND_PERCENTAGE_INVALID),
+	last_sub_percent(PK_BACKEND_PERCENTAGE_INVALID)
 {
 }
 									/*}}}*/
diff --git a/backends/aptcc/apt.cpp b/backends/aptcc/apt.cpp
index 3d89838..e9b84d9 100644
--- a/backends/aptcc/apt.cpp
+++ b/backends/aptcc/apt.cpp
@@ -56,7 +56,8 @@ aptcc::aptcc(PkBackend *backend, bool &cancel)
 	Map(0),
 	Policy(0),
 	m_backend(backend),
-	_cancel(cancel)
+	_cancel(cancel),
+	m_terminalTimeout(120)
 {
 	_cancel = false;
 }
@@ -1075,7 +1076,7 @@ void aptcc::updateInterface(int fd, int writeFd)
 		}
 
 		// update the time we last saw some action
-		last_term_action = time(NULL);
+		m_lastTermAction = time(NULL);
 
 		if( buf[0] == '\n') {
 			if (_cancel) {
@@ -1166,8 +1167,9 @@ void aptcc::updateInterface(int fd, int writeFd)
 				} else {
 					cout << ">>>Unmaped value<<< :" << line << endl;
 				}
+				m_startCounting = true;
 			} else {
-				_startCounting = true;
+				m_startCounting = true;
 			}
 
 			int val = atoi(percent);
@@ -1186,22 +1188,20 @@ void aptcc::updateInterface(int fd, int writeFd)
 
 	time_t now = time(NULL);
 
-	if(!_startCounting) {
+	if(!m_startCounting) {
 		usleep(100000);
-//		gtk_progress_bar_pulse (GTK_PROGRESS_BAR(_pbarTotal));
 		// wait until we get the first message from apt
-		last_term_action = now;
+		m_lastTermAction = now;
 	}
 
-	if ((now - last_term_action) > _terminalTimeout) {
+	if ((now - m_lastTermAction) > m_terminalTimeout) {
 		// get some debug info
-		gchar *s;
 		g_warning("no statusfd changes/content updates in terminal for %i"
-			  " seconds",_terminalTimeout);
-		g_warning("TerminalTimeout in step: %s", s);
-		last_term_action = time(NULL);
+			  " seconds",m_terminalTimeout);
+		m_lastTermAction = time(NULL);
 	}
 
+	// sleep for a while to don't obcess over it
 	usleep(5000);
 }
 
@@ -1312,12 +1312,15 @@ bool aptcc::runTransaction(vector<pair<pkgCache::PkgIterator, pkgCache::VerItera
 		/* If we are in the Broken fixing mode we do not attempt to fix the
 		    problems. This is if the user invoked install without -f and gave
 		    packages */
-		if (BrokenFix == true && Cache->BrokenCount() != 0)
-		{
-			_error->Error("Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).");
-			show_broken(m_backend, this);
-			return false;
-		}
+		// TODO this code seems to be a bit useless,
+		// if we go to the Fix.Resolve() it can fix things
+		// and if not the last if will then fail.
+// 		if (BrokenFix == true && Cache->BrokenCount() != 0)
+// 		{
+// 			_error->Error("Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).");
+// 			show_broken(m_backend, this);
+// 			return false;
+// 		}
 
 		// Call the scored problem resolver
 		Fix.InstallProtect();
@@ -1328,6 +1331,8 @@ bool aptcc::runTransaction(vector<pair<pkgCache::PkgIterator, pkgCache::VerItera
 		// Now we check the state of the packages,
 		if (Cache->BrokenCount() != 0)
 		{
+		    // if the problem resolver could not fix all broken things
+		    // show what is broken
 		    show_broken(m_backend, this);
 		    return false;
 		}
@@ -1634,6 +1639,10 @@ cout << "How odd.. The sizes didn't match, email apt at packages.debian.org";
 	// when the child finish we stay stuck.
 	fcntl(readFromChildFD[0], F_SETFL, O_NONBLOCK);
 
+	// init the timer
+	m_lastTermAction = time(NULL);
+	m_startCounting = false;
+
 	// Check if the child died
 	int ret;
 	while (waitpid(m_child_pid, &ret, WNOHANG) == 0) {
diff --git a/backends/aptcc/apt.h b/backends/aptcc/apt.h
index ba3df6a..fc67bdb 100644
--- a/backends/aptcc/apt.h
+++ b/backends/aptcc/apt.h
@@ -154,10 +154,10 @@ private:
 	vector<pair<pkgCache::PkgIterator, pkgCache::VerIterator> > m_pkgs;
 	void populateInternalPackages(pkgCacheFile &Cache);
 	void emitTransactionPackage(string name, PkInfoEnum state);
-	time_t last_term_action;
-	bool _startCounting;
+	time_t m_lastTermAction;
+	bool m_startCounting;
 	// when the internal terminal timesout after no activity
-	int _terminalTimeout;
+	int m_terminalTimeout;
 	pid_t m_child_pid;
 };
 


More information about the PackageKit-commit mailing list