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

Richard Hughes hughsient at kemper.freedesktop.org
Thu Mar 1 03:14:21 PST 2012


 NEWS                                                      |   45 
 RELEASE                                                   |   12 
 backends/apt/README.apt                                   |   27 
 backends/apt/aptBackend.py                                |  211 +++-
 backends/apt/tests/repo/Packages                          |   36 
 backends/apt/tests/repo/gstreamer0.10-silly_0.1-0_all.deb |binary
 backends/apt/tests/repo/silly-driver_0.1-0_all.deb        |binary
 backends/apt/tests/test_queries.py                        |  232 ++++
 backends/aptcc/apt.cpp                                    |   22 
 backends/aptcc/pk-backend-aptcc.cpp                       |   28 
 backends/zif/pk-backend-zif.c                             |   37 
 configure.ac                                              |    4 
 contrib/PackageKit.spec.in                                |   11 
 contrib/debuginfo-install/pk-debuginfo-install.xml        |    2 
 dev/null                                                  |binary
 docs/html/files/session.c                                 |   57 -
 docs/html/files/session.py                                |   13 
 docs/html/img/users-apper.png                             |binary
 docs/html/pk-download.html                                |    5 
 docs/html/pk-faq.html                                     |   80 -
 docs/html/pk-intro.html                                   |    4 
 docs/html/pk-screenshots.html                             |    6 
 docs/html/pk-users.html                                   |    8 
 docs/html/pk-using.html                                   |    8 
 docs/media-repo.txt                                       |    2 
 docs/provides-component-naming.txt                        |   19 
 etc/Vendor.conf                                           |    1 
 lib/packagekit-glib2/pk-client-sync.c                     |    2 
 lib/packagekit-glib2/pk-client.c                          |   54 -
 lib/packagekit-glib2/pk-control.c                         |   20 
 lib/packagekit-glib2/pk-desktop.c                         |    4 
 lib/packagekit-glib2/pk-enum.c                            |    1 
 lib/packagekit-glib2/pk-enum.h                            |    1 
 lib/packagekit-glib2/pk-results.c                         |    4 
 lib/packagekit-glib2/pk-task.c                            |    2 
 lib/packagekit-qt2/transaction.h                          |    5 
 po/nl.po                                                  |  636 ++++++-------
 po/pa.po                                                  |  569 +++++------
 po/ru.po                                                  |  684 ++++++--------
 policy/org.freedesktop.packagekit.policy.in               |    2 
 src/pk-dbus.c                                             |    9 
 src/pk-transaction.c                                      |    2 
 42 files changed, 1668 insertions(+), 1197 deletions(-)

New commits:
commit e6de700e15f0393e7a5c83a43b52a61a9961ef73
Author: Richard Hughes <richard at hughsie.com>
Date:   Thu Mar 1 11:12:55 2012 +0000

    Release version 0.7.3

diff --git a/NEWS b/NEWS
index 6fc1a07..c8c0e02 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,48 @@
+Version 0.7.3
+~~~~~~~~~~~~~
+Released: 2012-03-01
+
+Notes:
+ - Lots of stability and crasher fixes which means updating to this
+   release is a really good idea if you're already got 0.7.x installed.
+
+Libraries:
+ - glib: Don't segfault the client if there are no cached properties (Richard Hughes)
+ - glib: Fix a critical warning in gnome-settings-daemon when setting the proxy (Richard Hughes)
+ - glib: Fix transfer annotation of pk_results_get_package_sack() (Vincent Untz)
+ - glib: Fix transfer annotations for GPtrArray returns (Martin Pitt)
+ - glib: Do not send progress updates for non-verb packages (Richard Hughes)
+
+Backends:
+ - apt: Add support for plugins, call them for what-provides (Martin Pitt)
+ - apt: Add test case for what-provides CODEC (Martin Pitt)
+ - apt: Add test cases for what-provides ANY and unsupported types (Martin Pitt)
+ - apt: Add test for what-provides MODALIAS (Martin Pitt)
+ - apt: Do not fail on missing /var/lib/PackageKit/mime-map.gdbm (Martin Pitt)
+ - apt: Fix error code for what-provides CODEC (Martin Pitt)
+ - apt: Implement support for what-provides ANY (Martin Pitt)
+ - apt: Implement support for what-provides MODALIAS (Martin Pitt)
+ - apt: what_provides() search argument is a list, not a string (Martin Pitt)
+ - aptcc: Disable InstallFiles() again (Matthias Klumpp)
+ - aptcc: Don't hang on long transactions (Matthias Klumpp)
+ - aptcc: Fix crash when simulating local package install (Matthias Klumpp)
+ - zif: Autoremove deps if 'autoremove' is set (Richard Hughes)
+ - zif: Do not pretty-print a package when it's not found (Richard Hughes)
+ - zif: Ensure the files are sorted by name before returning them to the daemon (Richard Hughes)
+
+New Features:
+ - Add LANGUAGE_SUPPORT what-provides type (Martin Pitt)
+
+Bugfixes:
+ - Document CODEC what-provides type (Martin Pitt)
+ - Don't crash when the system bus isn't available, just abort with an error (Richard Hughes)
+ - Fix a critical warning when starting gnome-settings-daemon (Matthias Clasen)
+ - Imply the install trusted polkit auth when we get the remove auth (Richard Hughes)
+ - Imply the install trusted polkit auth when we get the untrusted auth (Richard Hughes)
+ - Port the session example code to GDBus (Richard Hughes)
+ - web: Add a note to the website about the session helper API (Richard Hughes)
+ - web: Rename KPackageKit to Apper (Matthias Klumpp)
+
 Version 0.7.2
 ~~~~~~~~~~~~~
 Released: 2011-01-17
diff --git a/RELEASE b/RELEASE
index 26e302c..ba26119 100644
--- a/RELEASE
+++ b/RELEASE
@@ -7,7 +7,7 @@ git shortlog PACKAGEKIT_0_7_2.. | grep -i -v trivial | grep -v Merge > NEWS.new
 --------------------------------------------------------------------------------
 Version 0.7.3
 ~~~~~~~~~~~~~
-Released: 2011-xx-xx
+Released: 2012-xx-xx
 
 Notes:
 
diff --git a/configure.ac b/configure.ac
index e373196..a40eeb0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -45,7 +45,7 @@ AC_SUBST(PK_VERSION)
 # AGE		If libpackagekit can be linked into executables which can be
 # 		built with previous versions of this library. Don't use.
 LT_CURRENT=14
-LT_REVISION=11
+LT_REVISION=12
 LT_AGE=0
 AC_SUBST(LT_CURRENT)
 AC_SUBST(LT_REVISION)
diff --git a/docs/html/pk-download.html b/docs/html/pk-download.html
index c33f893..2304c3e 100644
--- a/docs/html/pk-download.html
+++ b/docs/html/pk-download.html
@@ -72,6 +72,7 @@ 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.7.3</td><td></td><td>2012-03-01</td></tr>
 <tr><td>0.7.2</td><td></td><td>2012-01-17</td></tr>
 <tr><td>0.7.1</td><td></td><td>2011-11-10</td></tr>
 <tr><td>0.7.0</td><td></td><td>2011-09-05</td></tr>
diff --git a/po/nl.po b/po/nl.po
index f623e21..3dbd153 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -4,17 +4,17 @@
 # 
 # Translators:
 # Geert Warrink <geert.warrink at onsnet.nu>, 2009.
-# Richard E. van der Luit <nippur at fedoraproject.org>, 2011.
+# Richard E. van der Luit <nippur at fedoraproject.org>, 2011, 2012.
 # Richard Hughes <richard at hughsie.com>, 2011.
 # Richard van der Luit <nippur at fedoraproject.org>, 2009, 2010.
 msgid ""
 msgstr ""
 "Project-Id-Version: PackageKit\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-11-10 19:50+0000\n"
-"PO-Revision-Date: 2011-12-08 14:20+0000\n"
+"POT-Creation-Date: 2012-01-17 12:15+0000\n"
+"PO-Revision-Date: 2012-02-29 09:16+0000\n"
 "Last-Translator: Richard E. van der Luit <nippur at fedoraproject.org>\n"
-"Language-Team: Dutch (http://www.transifex.net/projects/p/freedesktop/team/nl/)\n"
+"Language-Team: Dutch (http://www.transifex.net/projects/p/freedesktop/language/nl/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -23,122 +23,122 @@ msgstr ""
 
 #. TRANSLATORS: this is an atomic transaction
 #. TRANSLATORS: the role is the point of the transaction, e.g. update-system
-#: ../client/pk-console.c:174 ../client/pk-console.c:596
+#: ../client/pk-console.c:173 ../client/pk-console.c:595
 msgid "Transaction"
 msgstr "Transactie"
 
 #. TRANSLATORS: this is the time the transaction was started in system
 #. timezone
-#: ../client/pk-console.c:176
+#: ../client/pk-console.c:175
 msgid "System time"
 msgstr "Systeemtijd"
 
 #. TRANSLATORS: this is if the transaction succeeded or not
-#: ../client/pk-console.c:178
+#: ../client/pk-console.c:177
 msgid "Succeeded"
 msgstr "Geslaagd"
 
-#: ../client/pk-console.c:178
+#: ../client/pk-console.c:177
 msgid "True"
 msgstr "Waar"
 
-#: ../client/pk-console.c:178
+#: ../client/pk-console.c:177
 msgid "False"
 msgstr "Niet waar"
 
 #. TRANSLATORS: this is the transactions role, e.g. "update-system"
-#: ../client/pk-console.c:180
+#: ../client/pk-console.c:179
 msgid "Role"
 msgstr "Rol"
 
 #. TRANSLATORS: this is The duration of the transaction
-#: ../client/pk-console.c:185
+#: ../client/pk-console.c:184
 msgid "Duration"
 msgstr "Duur"
 
-#: ../client/pk-console.c:185
+#: ../client/pk-console.c:184
 msgid "(seconds)"
 msgstr "(seconden)"
 
 #. TRANSLATORS: this is The command line used to do the action
-#: ../client/pk-console.c:189
+#: ../client/pk-console.c:188
 msgid "Command line"
 msgstr "Commando-regel"
 
 #. TRANSLATORS: this is the user ID of the user that started the action
-#: ../client/pk-console.c:191
+#: ../client/pk-console.c:190
 msgid "User ID"
 msgstr "Gebruiker ID"
 
 #. TRANSLATORS: this is the username, e.g. hughsie
-#: ../client/pk-console.c:198
+#: ../client/pk-console.c:197
 msgid "Username"
 msgstr "Gebruikersnaam"
 
 #. TRANSLATORS: this is the users real name, e.g. "Richard Hughes"
-#: ../client/pk-console.c:202
+#: ../client/pk-console.c:201
 msgid "Real name"
 msgstr "Werkelijke naam"
 
-#: ../client/pk-console.c:210
+#: ../client/pk-console.c:209
 msgid "Affected packages:"
 msgstr "Betrokken pakketten:"
 
-#: ../client/pk-console.c:212
+#: ../client/pk-console.c:211
 msgid "Affected packages: None"
 msgstr "Betrokken pakketten: Geen"
 
 #. TRANSLATORS: this is the distro, e.g. Fedora 10
-#: ../client/pk-console.c:247
+#: ../client/pk-console.c:246
 msgid "Distribution"
 msgstr "Distributie"
 
 #. TRANSLATORS: this is type of update, stable or testing
-#: ../client/pk-console.c:249
+#: ../client/pk-console.c:248
 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:251 ../client/pk-console.c:290
+#: ../client/pk-console.c:250 ../client/pk-console.c:289
 msgid "Summary"
 msgstr "Samenvatting"
 
 #. TRANSLATORS: this is the group category name
-#: ../client/pk-console.c:279
+#: ../client/pk-console.c:278
 msgid "Category"
 msgstr "Categorie"
 
 #. TRANSLATORS: this is group identifier
-#: ../client/pk-console.c:281
+#: ../client/pk-console.c:280
 msgid "ID"
 msgstr "ID"
 
 #. TRANSLATORS: this is the parent group
-#: ../client/pk-console.c:284
+#: ../client/pk-console.c:283
 msgid "Parent"
 msgstr "Ouder"
 
 #. TRANSLATORS: this is the name of the parent group
-#: ../client/pk-console.c:287
+#: ../client/pk-console.c:286
 msgid "Name"
 msgstr "Naam"
 
 #. TRANSLATORS: this is preferred icon for the group
-#: ../client/pk-console.c:293
+#: ../client/pk-console.c:292
 msgid "Icon"
 msgstr "Icoon"
 
 #. TRANSLATORS: this is a header for the package that can be updated
-#: ../client/pk-console.c:339
+#: ../client/pk-console.c:338
 msgid "Details about the update:"
-msgstr "Details over de vernieuwing:"
+msgstr "Details over de updates:"
 
 #. 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
-#: ../client/pk-console.c:345 ../client/pk-console.c:615
+#: ../client/pk-console.c:344 ../client/pk-console.c:614
 #: ../lib/packagekit-glib2/pk-task-text.c:124
 #: ../lib/packagekit-glib2/pk-task-text.c:206
 msgid "Package"
@@ -146,218 +146,212 @@ msgstr "Pakketten"
 
 #. TRANSLATORS: details about the update, any packages that this update
 #. updates
-#: ../client/pk-console.c:348
+#: ../client/pk-console.c:347
 msgid "Updates"
-msgstr "Vernieuwingen"
+msgstr "Updates"
 
 #. TRANSLATORS: details about the update, any packages that this update
 #. obsoletes
-#: ../client/pk-console.c:352
+#: ../client/pk-console.c:351
 msgid "Obsoletes"
 msgstr "Verouderde pakketten"
 
 #. TRANSLATORS: details about the update, the vendor URLs
 #. TRANSLATORS: the vendor (e.g. vmware) that is providing the EULA
-#: ../client/pk-console.c:356 ../lib/packagekit-glib2/pk-task-text.c:209
+#: ../client/pk-console.c:355 ../lib/packagekit-glib2/pk-task-text.c:209
 msgid "Vendor"
 msgstr "Verkoper"
 
 #. TRANSLATORS: details about the update, the bugzilla URLs
-#: ../client/pk-console.c:360
+#: ../client/pk-console.c:359
 msgid "Bugzilla"
 msgstr "Bugzilla"
 
 #. TRANSLATORS: details about the update, the CVE URLs
-#: ../client/pk-console.c:364
+#: ../client/pk-console.c:363
 msgid "CVE"
 msgstr "CVE"
 
 #. TRANSLATORS: details about the update, if the package requires a restart
-#: ../client/pk-console.c:368
+#: ../client/pk-console.c:367
 msgid "Restart"
 msgstr "Herstarten"
 
 #. TRANSLATORS: details about the update, any description of the update
-#: ../client/pk-console.c:372
+#: ../client/pk-console.c:371
 msgid "Update text"
-msgstr "Vernieuw tekst"
+msgstr "Ververs tekst"
 
 #. TRANSLATORS: details about the update, the changelog for the package
-#: ../client/pk-console.c:376
+#: ../client/pk-console.c:375
 msgid "Changes"
 msgstr "Veranderingen"
 
 #. TRANSLATORS: details about the update, the ongoing state of the update
-#: ../client/pk-console.c:380
+#: ../client/pk-console.c:379
 msgid "State"
 msgstr "Status"
 
 #. TRANSLATORS: details about the update, date the update was issued
-#: ../client/pk-console.c:384
+#: ../client/pk-console.c:383
 msgid "Issued"
 msgstr "Uitgegeven"
 
 #. TRANSLATORS: details about the update, date the update was updated
 #. TRANSLATORS: The action of the package, in past tense
-#: ../client/pk-console.c:388 ../lib/packagekit-glib2/pk-console-shared.c:559
+#: ../client/pk-console.c:387 ../lib/packagekit-glib2/pk-enum.c:1134
 msgid "Updated"
 msgstr "Vernieuwd"
 
 #. TRANSLATORS: if the repo is enabled
-#: ../client/pk-console.c:424
+#: ../client/pk-console.c:423
 msgid "Enabled"
 msgstr "Aangezet"
 
 #. TRANSLATORS: if the repo is disabled
-#: ../client/pk-console.c:427
+#: ../client/pk-console.c:426
 msgid "Disabled"
 msgstr "Uitgezet"
 
 #. TRANSLATORS: a package requires the system to be restarted
-#: ../client/pk-console.c:459
+#: ../client/pk-console.c:458
 msgid "System restart required by:"
 msgstr "Herstart systeem vereist door:"
 
 #. TRANSLATORS: a package requires the session to be restarted
-#: ../client/pk-console.c:462
+#: ../client/pk-console.c:461
 msgid "Session restart required:"
 msgstr "Herstart sessie vereist door:"
 
 #. TRANSLATORS: a package requires the system to be restarted due to a
 #. security update
-#: ../client/pk-console.c:465
+#: ../client/pk-console.c:464
 msgid "System restart (security) required by:"
 msgstr "Herstart systeem (beveiliging) vereist door:"
 
 #. TRANSLATORS: a package requires the session to be restarted due to a
 #. security update
-#: ../client/pk-console.c:468
+#: ../client/pk-console.c:467
 msgid "Session restart (security) required:"
 msgstr "Herstart sessie (beveiliging) vereist door:"
 
 #. TRANSLATORS: a package requires the application to be restarted
-#: ../client/pk-console.c:471
+#: ../client/pk-console.c:470
 msgid "Application restart required by:"
-msgstr "Herstart vereist door toepassing:"
+msgstr "Herstart toepassing vereist door:"
 
 #. TRANSLATORS: This a list of details about the package
-#: ../client/pk-console.c:506
+#: ../client/pk-console.c:505
 msgid "Package description"
-msgstr "Pakket beschrijving"
+msgstr "Pakketbeschrijving"
 
 #. TRANSLATORS: This a message (like a little note that may be of interest)
 #. from the transaction
-#: ../client/pk-console.c:537
+#: ../client/pk-console.c:536
 msgid "Message:"
 msgstr "Bericht:"
 
 #. TRANSLATORS: This where the package has no files
-#: ../client/pk-console.c:558
+#: ../client/pk-console.c:557
 msgid "No files"
 msgstr "Geen bestanden"
 
 #. TRANSLATORS: This a list files contained in the package
-#: ../client/pk-console.c:563
+#: ../client/pk-console.c:562
 msgid "Package files"
-msgstr "Pakket bestanden"
+msgstr "Pakketbestanden"
 
 #. TRANSLATORS: the percentage complete of the transaction
-#: ../client/pk-console.c:631
+#: ../client/pk-console.c:630
 msgid "Percentage"
 msgstr "Percentage"
 
 #. TRANSLATORS: the status of the transaction (e.g. downloading)
-#: ../client/pk-console.c:649
+#: ../client/pk-console.c:648
 msgid "Status"
 msgstr "Status"
 
 #. TRANSLATORS: the results from the transaction
-#: ../client/pk-console.c:678
+#: ../client/pk-console.c:677
 msgid "Results:"
 msgstr "Resultaten:"
 
 #. TRANSLATORS: we failed to get any results, which is pretty fatal in my book
-#: ../client/pk-console.c:685
+#: ../client/pk-console.c:684
 msgid "Fatal error"
 msgstr "Fatale fout"
 
 #. TRANSLATORS: the user asked to update everything, but there is nothing that
 #. can be updated
-#: ../client/pk-console.c:701
+#: ../client/pk-console.c:700
 msgid "There are no packages to update."
 msgstr "Er zijn geen pakketten om te updaten"
 
 #. TRANSLATORS: the transaction failed in a way we could not expect
-#: ../client/pk-console.c:704
+#: ../client/pk-console.c:703
 #: ../contrib/command-not-found/pk-command-not-found.c:634
 msgid "The transaction failed"
 msgstr "De transactie faalde"
 
 #. TRANSLATORS: print a message when there are no updates
-#: ../client/pk-console.c:733
+#: ../client/pk-console.c:732
 msgid "There are no updates available at this time."
 msgstr "Er zijn op dit moment geen vernieuwingen beschikbaar."
 
-#: ../client/pk-console.c:756
+#: ../client/pk-console.c:755
 msgid "There are no upgrades available at this time."
 msgstr "Er zijn op dit moment geen upgrades beschikbaar."
 
 #. TRANSLATORS: a package needs to restart their system
-#: ../client/pk-console.c:823
+#: ../client/pk-console.c:822
 msgid "Please restart the computer to complete the update."
 msgstr "Herstart de computer om de vernieuwing af te maken."
 
 #. TRANSLATORS: a package needs to restart the session
-#: ../client/pk-console.c:826
+#: ../client/pk-console.c:825
 msgid "Please logout and login to complete the update."
 msgstr "Log uit en weer in om de vernieuwing af te maken."
 
 #. TRANSLATORS: a package needs to restart their system (due to security)
-#: ../client/pk-console.c:829
+#: ../client/pk-console.c:828
 msgid ""
 "Please restart the computer to complete the update as important security "
 "updates have been installed."
-msgstr ""
-"Herstart de computer om de vernieuwing af te maken omdat belangrijke "
-"beveiliging vernieuwingen geïnstalleerd zijn."
+msgstr "Herstart de computer om de vernieuwing af te maken omdat belangrijke beveiliging vernieuwingen geïnstalleerd zijn."
 
 #. TRANSLATORS: a package needs to restart the session (due to security)
-#: ../client/pk-console.c:832
+#: ../client/pk-console.c:831
 msgid ""
 "Please logout and login to complete the update as important security updates"
 " have been installed."
-msgstr ""
-"Log uit en weer in om de vernieuwing af te maken omdat belangrijke "
-"beveiliging vernieuwingen geïnstalleerd zijn."
+msgstr "Log uit en weer in om de vernieuwing af te maken omdat belangrijke beveiliging vernieuwingen geïnstalleerd zijn."
 
 #. TRANSLATORS: The user used 'pkcon install dave.rpm' rather than 'pkcon
 #. install-local dave.rpm'
-#: ../client/pk-console.c:858
+#: ../client/pk-console.c:857
 #, c-format
 msgid ""
 "Expected package name, actually got file. Try using 'pkcon install-local %s'"
 " instead."
-msgstr ""
-"Verwachtte pakket naam, maar kreeg een bestand. Probeer in plaats daarvan "
-"'pkcon install-local %s' te gebruiken."
+msgstr "Verwachtte pakket naam, maar kreeg een bestand. Probeer in plaats daarvan 'pkcon install-local %s' te gebruiken."
 
 #. TRANSLATORS: There was an error getting the list of files for the package.
 #. The detailed error follows
-#: ../client/pk-console.c:871
+#: ../client/pk-console.c:870
 #, c-format
 msgid "This tool could not find any available package: %s"
 msgstr "Dit programma kon geen enkel beschikbaar pakket %s vinden."
 
 #. TRANSLATORS: There was an error getting the list of files for the package.
 #. The detailed error follows
-#: ../client/pk-console.c:899
+#: ../client/pk-console.c:898
 #, c-format
 msgid "This tool could not find the installed package: %s"
 msgstr "Dit programma kon het geïnstalleerde pakket %s niet vinden."
 
 #. TRANSLATORS: There was an error getting the list of files for the package.
 #. The detailed error follows
-#: ../client/pk-console.c:927 ../client/pk-console.c:955
+#: ../client/pk-console.c:926 ../client/pk-console.c:954
 #, c-format
 msgid "This tool could not find the package: %s"
 msgstr "Dit programma kon het pakket %s niet vinden."
@@ -370,253 +364,245 @@ msgstr "Dit programma kon het pakket %s niet vinden."
 #. detailed error follows
 #. TRANSLATORS: The package name was not found in any software sources. The
 #. detailed error follows
-#: ../client/pk-console.c:983 ../client/pk-console.c:1011
-#: ../client/pk-console.c:1039 ../client/pk-console.c:1067
-#: ../client/pk-console.c:1095
+#: ../client/pk-console.c:982 ../client/pk-console.c:1010
+#: ../client/pk-console.c:1038 ../client/pk-console.c:1066
+#: ../client/pk-console.c:1094
 #, c-format
 msgid "This tool could not find all the packages: %s"
 msgstr "Dit programma kon niet alle pakketten vinden: %s"
 
 #. TRANSLATORS: This is when the daemon crashed, and we are up shit creek
 #. without a paddle
-#: ../client/pk-console.c:1124
+#: ../client/pk-console.c:1123
 msgid "The daemon crashed mid-transaction!"
 msgstr "De daemon is midden in de transactie gecrasht!"
 
 #. TRANSLATORS: This is the header to the --help menu
-#: ../client/pk-console.c:1158
+#: ../client/pk-console.c:1157
 msgid "PackageKit Console Interface"
 msgstr "PackageKit console interface"
 
 #. these are commands we can use with pkcon
-#: ../client/pk-console.c:1160
+#: ../client/pk-console.c:1159
 msgid "Subcommands:"
 msgstr "Sub-opdrachten:"
 
 #. TRANSLATORS: we keep a database updated with the time that an action was
 #. last executed
-#: ../client/pk-console.c:1240
+#: ../client/pk-console.c:1241
 msgid "Failed to get the time since this action was last completed"
-msgstr ""
-"Verkrijgen van de tijd sinds deze actie voor het laatst afgemaakt is faalde"
+msgstr "Verkrijgen van de tijd sinds deze actie voor het laatst afgemaakt is faalde"
 
 #. TRANSLATORS: command line argument, just show the version string
-#: ../client/pk-console.c:1282 ../client/pk-monitor.c:371
+#: ../client/pk-console.c:1283 ../client/pk-monitor.c:370
 msgid "Show the program version and exit"
 msgstr "Programma versie tonen en afsluiten"
 
 #. TRANSLATORS: command line argument, use a filter to narrow down results
-#: ../client/pk-console.c:1285
+#: ../client/pk-console.c:1286
 msgid "Set the filter, e.g. installed"
 msgstr "Filter instellen, bijvoorbeeld geïnstalleerd"
 
 #. TRANSLATORS: command line argument, use a non-standard install prefix
-#: ../client/pk-console.c:1288
+#: ../client/pk-console.c:1289
 msgid "Set the install root, e.g. '/' or '/mnt/ltsp'"
 msgstr "Stel de installeer root in, b.v.  '/' of '/mnt/ltsp'"
 
 #. TRANSLATORS: command line argument, work asynchronously
-#: ../client/pk-console.c:1291
+#: ../client/pk-console.c:1292
 msgid "Exit without waiting for actions to complete"
 msgstr "Afsluiten zonder te wachten tot transacties zijn afgerond"
 
 #. command line argument, do we ask questions
-#: ../client/pk-console.c:1294
+#: ../client/pk-console.c:1295
 #: ../contrib/debuginfo-install/pk-debuginfo-install.c:525
 msgid "Install the packages without asking for confirmation"
 msgstr "Installeer het pakket zonder goedkeuring te vragen"
 
 #. TRANSLATORS: command line argument, this command is not a priority
-#: ../client/pk-console.c:1297
+#: ../client/pk-console.c:1298
 msgid "Run the command using idle network bandwidth and also using less power"
-msgstr ""
-"Voer het commando uit met gebruik van onbenutte netwerk bandbreedte en ook "
-"om minder vermogen te gebruiken"
+msgstr "Voer het commando uit met gebruik van onbenutte netwerk bandbreedte en ook om minder vermogen te gebruiken"
 
 #. TRANSLATORS: command line argument, just output without fancy formatting
-#: ../client/pk-console.c:1300
+#: ../client/pk-console.c:1301
 msgid ""
 "Print to screen a machine readable output, rather than using animated "
 "widgets"
-msgstr ""
-"Print op het scherm een machine-leesbare output, in plaats van geanimeerde "
-"widgets te gebruiken"
+msgstr "Print op het scherm een machine-leesbare output, in plaats van geanimeerde widgets te gebruiken"
 
 #. TRANSLATORS: command line argument, just output without fancy formatting
-#: ../client/pk-console.c:1303
+#: ../client/pk-console.c:1304
 msgid "The maximum metadata cache age. Use -1 for 'never'."
 msgstr "De maximum metadata cache leeftijd. Gebruik -1 voor 'nooit'."
 
 #. TRANSLATORS: command line argument, --help
-#: ../client/pk-console.c:1306
+#: ../client/pk-console.c:1307
 msgid "Show help options."
 msgstr "Toon help opties."
 
 #. TRANSLATORS: we failed to contact the daemon
-#: ../client/pk-console.c:1336
+#: ../client/pk-console.c:1338
 msgid "Failed to parse command line"
 msgstr "Parsen command line mislukt"
 
 #. TRANSLATORS: we failed to contact the daemon
-#: ../client/pk-console.c:1346
+#: ../client/pk-console.c:1348
 msgid "Failed to contact PackageKit"
 msgstr "Contact met PackageKit krijgen mislukte"
 
 #. TRANSLATORS: The user specified an incorrect filter
-#: ../client/pk-console.c:1399
+#: ../client/pk-console.c:1401
 msgid "The proxy could not be set"
 msgstr "De proxy kon niet ingesteld worden"
 
 #. TRANSLATORS: The user specified an incorrect filter
-#: ../client/pk-console.c:1411
+#: ../client/pk-console.c:1413
 msgid "The install root could not be set"
 msgstr "De installeer root kon niet ingesteld worden"
 
 #. TRANSLATORS: The user specified an incorrect filter
-#: ../client/pk-console.c:1423
+#: ../client/pk-console.c:1425
 msgid "The filter specified was invalid"
 msgstr "Het opgegeven filter was ongeldig"
 
 #. TRANSLATORS: a search type can be name, details, file, etc
-#: ../client/pk-console.c:1442
+#: ../client/pk-console.c:1444
 msgid "A search type is required, e.g. name"
 msgstr "Een zoek type is verplicht, b.v. naam"
 
 #. TRANSLATORS: the user needs to provide a search term
-#: ../client/pk-console.c:1449 ../client/pk-console.c:1461
-#: ../client/pk-console.c:1473 ../client/pk-console.c:1485
+#: ../client/pk-console.c:1451 ../client/pk-console.c:1463
+#: ../client/pk-console.c:1475 ../client/pk-console.c:1487
 msgid "A search term is required"
 msgstr "Een zoekterm is vereist"
 
 #. TRANSLATORS: the search type was provided, but invalid
-#: ../client/pk-console.c:1495
+#: ../client/pk-console.c:1497
 msgid "Invalid search type"
 msgstr "Ongeldig zoek type"
 
 #. TRANSLATORS: the user did not specify what they wanted to install
-#: ../client/pk-console.c:1501
+#: ../client/pk-console.c:1503
 msgid "A package name to install is required"
 msgstr "Een pakket naam om te installeren is vereist"
 
 #. TRANSLATORS: the user did not specify what they wanted to install
-#: ../client/pk-console.c:1510
+#: ../client/pk-console.c:1512
 msgid "A filename to install is required"
 msgstr "Een bestandsnaam om te installeren is vereist"
 
 #. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:1521
+#: ../client/pk-console.c:1523
 msgid "A type, key_id and package_id are required"
 msgstr "Er moet een type worden opgegeven, key_id of package_id"
 
 #. TRANSLATORS: the user did not specify what they wanted to remove
-#: ../client/pk-console.c:1532
+#: ../client/pk-console.c:1534
 msgid "A package name to remove is required"
 msgstr "Een te verwijderen pakket naam is vereist"
 
 #. TRANSLATORS: the user did not specify anything about what to download or
 #. where
-#: ../client/pk-console.c:1541
+#: ../client/pk-console.c:1543
 msgid "A destination directory and the package names to download are required"
 msgstr "Een doel map en de namen van te downloaden pakketten zijn vereist"
 
 #. TRANSLATORS: the directory does not exist, so we can't continue
-#: ../client/pk-console.c:1548
+#: ../client/pk-console.c:1550
 msgid "Directory not found"
 msgstr "Map niet gevonden"
 
 #. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:1557
+#: ../client/pk-console.c:1559
 msgid "A licence identifier (eula-id) is required"
 msgstr "Een licentie identificatie (eula-id) is vereist"
 
 #. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:1568
+#: ../client/pk-console.c:1570
 msgid "A transaction identifier (tid) is required"
 msgstr "Een transactie identificatie (tid) is vereist"
 
 #. TRANSLATORS: The user did not specify a package name
-#: ../client/pk-console.c:1589
+#: ../client/pk-console.c:1591
 msgid "A package name to resolve is required"
 msgstr "Een pakket naam om op te lossen is vereist"
 
 #. TRANSLATORS: The user did not specify a repository (software source) name
-#: ../client/pk-console.c:1600 ../client/pk-console.c:1611
+#: ../client/pk-console.c:1602 ../client/pk-console.c:1613
 msgid "A repository name is required"
 msgstr "Een naam van een repository is vereist"
 
 #. TRANSLATORS: The user didn't provide any data
-#: ../client/pk-console.c:1622
+#: ../client/pk-console.c:1624
 msgid "A repo name, parameter and value are required"
 msgstr "Een repo naam, parameter en waarde zijn vereist"
 
 #. TRANSLATORS: The user didn't specify what action to use
-#: ../client/pk-console.c:1639
+#: ../client/pk-console.c:1641
 msgid "An action, e.g. 'update-system' is required"
 msgstr "Een actie, b.v. 'update-system' is vereist"
 
 #. TRANSLATORS: The user specified an invalid action
-#: ../client/pk-console.c:1646
+#: ../client/pk-console.c:1648
 msgid "A correct role is required"
 msgstr "Een correcte rol is vereist"
 
 #. 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:1656 ../client/pk-console.c:1670
-#: ../client/pk-console.c:1679 ../client/pk-console.c:1699
-#: ../client/pk-console.c:1708 ../client/pk-generate-pack.c:314
+#: ../client/pk-console.c:1658 ../client/pk-console.c:1672
+#: ../client/pk-console.c:1681 ../client/pk-console.c:1701
+#: ../client/pk-console.c:1710 ../client/pk-generate-pack.c:314
 msgid "A package name is required"
 msgstr "Een pakket naam is vereist"
 
 #. TRANSLATORS: each package "provides" certain things, e.g. mime(gstreamer-
 #. decoder-mp3), the user didn't specify it
-#: ../client/pk-console.c:1688
+#: ../client/pk-console.c:1690
 msgid "A package provide string is required"
 msgstr "Een pakket geleverd string is vereist"
 
 #. TRANSLATORS: The user did not provide a distro name
-#: ../client/pk-console.c:1732
+#: ../client/pk-console.c:1734
 msgid "A distribution name is required"
 msgstr "Een distributienaam is vereist"
 
 #. TRANSLATORS: The user did not provide an upgrade type
-#: ../client/pk-console.c:1738
+#: ../client/pk-console.c:1740
 msgid "An upgrade type is required, e.g. 'minimal', 'default' or 'complete'"
 msgstr "Een upgrade-type is vereist, b.v. 'minimal', 'default' of 'complete'"
 
 #. TRANSLATORS: The user tried to use an unsupported option on the command
 #. line
-#: ../client/pk-console.c:1788
+#: ../client/pk-console.c:1795
 #, c-format
 msgid "Option '%s' is not supported"
 msgstr "Optie '%s' wordt niet ondersteund"
 
 #. TRANSLATORS: Generic failure of what they asked to do
-#: ../client/pk-console.c:1798
+#: ../client/pk-console.c:1805
 msgid "Command failed"
 msgstr "Opdracht mislukt"
 
 #. TRANSLATORS: we can exclude certain packages (glibc) when we know they'll
 #. exist on the target
-#: ../client/pk-generate-pack.c:253
+#: ../client/pk-generate-pack.c:252
 msgid "Set the file name of dependencies to be excluded"
-msgstr ""
-"Stel de bestandsnamen van afhankelijkheden in die moeten worden uitgesloten"
+msgstr "Stel de bestandsnamen van afhankelijkheden in die moeten worden uitgesloten"
 
 #. TRANSLATORS: the output location
-#: ../client/pk-generate-pack.c:256
+#: ../client/pk-generate-pack.c:255
 msgid ""
 "The output file or directory (the current directory is used if omitted)"
-msgstr ""
-"Het doel bestand of map (de huidige map wordt gebruikt als dit niet wordt "
-"opgegeven)"
+msgstr "Het doel bestand of map (de huidige map wordt gebruikt als dit niet wordt opgegeven)"
 
 #. TRANSLATORS: put a list of packages in the pack
-#: ../client/pk-generate-pack.c:259
+#: ../client/pk-generate-pack.c:258
 msgid "The package to be put into the service pack"
 msgstr "Het pakket dat in het service pack zal worden opgenomen"
 
 #. TRANSLATORS: put all pending updates in the pack
-#: ../client/pk-generate-pack.c:262
+#: ../client/pk-generate-pack.c:261
 msgid "Put all updates available in the service pack"
 msgstr "Plaats alle beschikbare vernieuwingen in het service pack"
 
@@ -655,16 +641,13 @@ msgstr "De pakket beheerder kan dit type operatie niet uitvoeren."
 msgid ""
 "Service packs cannot be created as PackageKit was not built with libarchive "
 "support."
-msgstr ""
-"Service packs kon niet worden gecreëerd omdat PackageKit niet met libarchive"
-" ondersteuning is gebouwd."
+msgstr "Service packs kon niet worden gecreëerd omdat PackageKit niet met libarchive ondersteuning is gebouwd."
 
 #. TRANSLATORS: the user specified an absolute path, but didn't get the
 #. extension correct
 #: ../client/pk-generate-pack.c:375
 msgid "If specifying a file, the service pack name must end with"
-msgstr ""
-"Bij het specificeren van een bestand moet de service pack naam eindigen op"
+msgstr "Bij het specificeren van een bestand moet de service pack naam eindigen op"
 
 #. TRANSLATORS: This is when file already exists
 #: ../client/pk-generate-pack.c:391
@@ -718,11 +701,11 @@ msgstr "Service pack aangemaakt '%s'"
 msgid "Failed to create '%s': %s"
 msgstr "'%s' aanmaken niet gelukt: %s"
 
-#: ../client/pk-monitor.c:284
+#: ../client/pk-monitor.c:283
 msgid "Failed to get daemon state"
 msgstr "Daemon status verkrijgen mislukte."
 
-#: ../client/pk-monitor.c:349
+#: ../client/pk-monitor.c:348
 msgid "Failed to get properties"
 msgstr "Eigenschappen ophalen mislukte"
 
@@ -828,58 +811,58 @@ msgstr "Kon pakketten niet installeren"
 #. TRANSLATORS: the prefix of all the output telling the user
 #. * why it's not executing. NOTE: this is lowercase to mimic
 #. * the style of bash itself -- apologies
-#: ../contrib/command-not-found/pk-command-not-found.c:723
+#: ../contrib/command-not-found/pk-command-not-found.c:725
 msgid "command not found"
 msgstr "commando niet gevonden"
 
 #. TRANSLATORS: tell the user what we think the command is
-#: ../contrib/command-not-found/pk-command-not-found.c:741
+#: ../contrib/command-not-found/pk-command-not-found.c:743
 msgid "Similar command is:"
 msgstr "Een vergelijkbaar commando is:"
 
 #. TRANSLATORS: Ask the user if we should run the similar command
-#: ../contrib/command-not-found/pk-command-not-found.c:755
+#: ../contrib/command-not-found/pk-command-not-found.c:757
 msgid "Run similar command:"
 msgstr "Draai vergelijkbaar commando:"
 
 #. TRANSLATORS: show the user a list of commands that they could have meant
 #. TRANSLATORS: show the user a list of commands we could run
-#: ../contrib/command-not-found/pk-command-not-found.c:769
-#: ../contrib/command-not-found/pk-command-not-found.c:778
+#: ../contrib/command-not-found/pk-command-not-found.c:771
+#: ../contrib/command-not-found/pk-command-not-found.c:780
 msgid "Similar commands are:"
 msgstr "Vergelijkbare commando's zijn:"
 
 #. TRANSLATORS: ask the user to choose a file to run
-#: ../contrib/command-not-found/pk-command-not-found.c:785
+#: ../contrib/command-not-found/pk-command-not-found.c:787
 msgid "Please choose a command to run"
 msgstr "Kies een commando om te draaien"
 
 #. TRANSLATORS: tell the user what package provides the command
-#: ../contrib/command-not-found/pk-command-not-found.c:803
+#: ../contrib/command-not-found/pk-command-not-found.c:805
 msgid "The package providing this file is:"
 msgstr "Het pakket dat dit bestand levert is:"
 
 #. TRANSLATORS: as the user if we want to install a package to provide the
 #. command
-#: ../contrib/command-not-found/pk-command-not-found.c:810
+#: ../contrib/command-not-found/pk-command-not-found.c:812
 #, c-format
 msgid "Install package '%s' to provide command '%s'?"
 msgstr "Pakket '%s' installeren om commando '%s' te bieden?"
 
 #. TRANSLATORS: Show the user a list of packages that provide this command
-#: ../contrib/command-not-found/pk-command-not-found.c:837
+#: ../contrib/command-not-found/pk-command-not-found.c:839
 msgid "Packages providing this file are:"
 msgstr "Pakketten die dit bestand leveren zijn:"
 
 #. 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:847
+#: ../contrib/command-not-found/pk-command-not-found.c:849
 msgid "Suitable packages are:"
 msgstr "Geschikte pakketten zijn:"
 
 #. get selection
 #. TRANSLATORS: ask the user to choose a file to install
-#: ../contrib/command-not-found/pk-command-not-found.c:856
+#: ../contrib/command-not-found/pk-command-not-found.c:858
 msgid "Please choose a package to install"
 msgstr "Kies een pakket om te installeren"
 
@@ -899,9 +882,7 @@ msgstr "Pakket %s vinden misluktu, of is reeds geïnstalleerd: %s"
 #: ../contrib/debuginfo-install/pk-debuginfo-install.c:516
 msgid ""
 "Don't actually install any packages, only simulate what would be installed"
-msgstr ""
-"Er worden geen pakketten geïnstalleerd, alleen een simulatie van wat "
-"geïnstalleerd moet worden"
+msgstr "Er worden geen pakketten geïnstalleerd, alleen een simulatie van wat geïnstalleerd moet worden"
 
 #. command line argument, do we skip packages that depend on the ones
 #. specified
@@ -915,172 +896,172 @@ msgid "Do not display information or progress"
 msgstr "Laat geen informatie of voortgang zien"
 
 #. TRANSLATORS: tool that gets called when the command is not found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:540
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:542
 msgid "PackageKit Debuginfo Installer"
 msgstr "PackageKit debuginfo installer"
 
 #. TRANSLATORS: the use needs to specify a list of package names on the
 #. command line
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:554
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:556
 #, c-format
 msgid "ERROR: Specify package names to install."
 msgstr "FOUT: Specificeer de te installeren pakket namen."
 
 #. 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 "Ophalen bronnen lijst"
 
 #. 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 "MISLUKT."
 
 #. 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 "Vond %i aangezette en %i uitgezette bronnen."
 
 #. 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 "Zoeken naar debug bronnen"
 
 #. 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 "Vond %i uitgezette debuginfo repo's"
 
 #. 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 "Debug bronnen aanzetten"
 
 #. 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 "%i debug bronnen aangezet."
 
 #. 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 "Zoeken naar debug pakketten"
 
 #. 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 "Pakket %s vinden mislukte: %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 "Debug info pakket %s niet gevonden: %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 "Geen pakketten gevonden om te installeren."
 
 #. 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 "Vond %i pakketten:"
 
 #. 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 "Zoeken naar pakketten die afhangen van deze pakketten"
 
 #. 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 "Kon geen afhankelijke pakketten vinden: %s"
+msgid "Could not find dependent packages: %s"
+msgstr "Kon afhankelijke paketten niet vinden: %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 "Vond %i extra pakketten."
 
 #. 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 "Geen extra pakketten vereist."
 
 #. 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 "Vond %i pakketten om te installeren:"
 
 #. 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 "Pakketten niet installeren in de simulatie mode"
 
 #. TRANSLATORS: we are now installing the debuginfo packages we found earlier
 #. TRANSLATORS: transaction state, installing packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:860
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:862
 #: ../lib/packagekit-glib2/pk-console-shared.c:331
 #, c-format
 msgid "Installing packages"
 msgstr "Pakketten installeren"
 
 #. 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 "Kon pakketten %s niet installeren."
 
 #. 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 "Uitzetten van bronnen die eerst aangezet waren"
 
 #. 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 "Kon de debug bronnen %s niet uitzetten"
 
 #. 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 "%i debug bronnen uitgezet."
@@ -1134,9 +1115,7 @@ msgstr "Extra debug informatie tonen"
 #. it
 #: ../contrib/device-rebind/pk-device-rebind.c:297
 msgid "Don't actually touch the hardware, only simulate what would be done"
-msgstr ""
-"De hardware wordt niet aangeraakt, alleen een simulatie van wat er zal "
-"gebeuren"
+msgstr "De hardware wordt niet aangeraakt, alleen een simulatie van wat er zal gebeuren"
 
 #. TRANSLATORS: command line option: a list of files to install
 #: ../contrib/device-rebind/pk-device-rebind.c:300
@@ -1246,7 +1225,7 @@ msgstr "Pakketten verwijderen"
 #. TRANSLATORS: transaction state, downloading package files
 #. TRANSLATORS: The role of the transaction, in present tense
 #: ../lib/packagekit-glib2/pk-console-shared.c:327
-#: ../lib/packagekit-glib2/pk-console-shared.c:705
+#: ../lib/packagekit-glib2/pk-enum.c:1287
 msgid "Downloading packages"
 msgstr "Pakketten aan het downloaden"
 
@@ -1285,7 +1264,7 @@ msgstr "Ondertekeningen controleren"
 #. 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:359
-#: ../lib/packagekit-glib2/pk-console-shared.c:665
+#: ../lib/packagekit-glib2/pk-enum.c:1247
 msgid "Rolling back"
 msgstr "Terug draaien"
 
@@ -1400,281 +1379,281 @@ msgstr "Controleren van bibliotheken in gebruik"
 msgid "Copying files"
 msgstr "Bestanden kopiëren"
 
+#. TRANSLATORS: turn on all debugging
+#: ../lib/packagekit-glib2/pk-debug.c:133
+msgid "Show debugging information for all files"
+msgstr "Toon debug informatie voor alle bestanden"
+
+#: ../lib/packagekit-glib2/pk-debug.c:201
+msgid "Debugging Options"
+msgstr "Debug opties"
+
+#: ../lib/packagekit-glib2/pk-debug.c:201
+msgid "Show debugging options"
+msgstr "Laat debug opties zien"
+
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:461
+#: ../lib/packagekit-glib2/pk-enum.c:1022
 msgid "Trivial"
 msgstr "Triviaal"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:465
+#: ../lib/packagekit-glib2/pk-enum.c:1026
 msgid "Normal"
 msgstr "Normaal"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:469
+#: ../lib/packagekit-glib2/pk-enum.c:1030
 msgid "Important"
 msgstr "Belangrijk"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:473
+#: ../lib/packagekit-glib2/pk-enum.c:1034
 msgid "Security"
 msgstr "Beveiliging"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:477
+#: ../lib/packagekit-glib2/pk-enum.c:1038
 msgid "Bug fix "
 msgstr "Fout reparatie"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:481
+#: ../lib/packagekit-glib2/pk-enum.c:1042
 msgid "Enhancement"
 msgstr "Verbetering"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:485
+#: ../lib/packagekit-glib2/pk-enum.c:1046
 msgid "Blocked"
 msgstr "Geblokkeerd"
 
 #. TRANSLATORS: The state of a package
 #. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:490
-#: ../lib/packagekit-glib2/pk-console-shared.c:563
+#: ../lib/packagekit-glib2/pk-enum.c:1051
+#: ../lib/packagekit-glib2/pk-enum.c:1138
 msgid "Installed"
 msgstr "Geïnstalleerd"
 
 #. TRANSLATORS: The state of a package, i.e. not installed
-#: ../lib/packagekit-glib2/pk-console-shared.c:495
+#: ../lib/packagekit-glib2/pk-enum.c:1056
 msgid "Available"
 msgstr "Beschikbaar"
 
 #. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:513
+#: ../lib/packagekit-glib2/pk-enum.c:1081
 msgid "Downloading"
 msgstr "Downloaden"
 
 #. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:517
+#: ../lib/packagekit-glib2/pk-enum.c:1085
 msgid "Updating"
 msgstr "Vernieuwen"
 
 #. 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:521
-#: ../lib/packagekit-glib2/pk-console-shared.c:641
+#: ../lib/packagekit-glib2/pk-enum.c:1089
+#: ../lib/packagekit-glib2/pk-enum.c:1223
 msgid "Installing"
 msgstr "Installeren"
 
 #. 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:525
-#: ../lib/packagekit-glib2/pk-console-shared.c:637
+#: ../lib/packagekit-glib2/pk-enum.c:1093
+#: ../lib/packagekit-glib2/pk-enum.c:1219
 msgid "Removing"
 msgstr "Verwijderen"
 
 #. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:529
+#: ../lib/packagekit-glib2/pk-enum.c:1097
 msgid "Cleaning up"
 msgstr "Opschonen"
 
 #. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:533
+#: ../lib/packagekit-glib2/pk-enum.c:1101
 msgid "Obsoleting"
 msgstr "Verouderd maken"
 
 #. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:537
+#: ../lib/packagekit-glib2/pk-enum.c:1105
 msgid "Reinstalling"
 msgstr "Opnieuw installeren"
 
 #. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:555
+#: ../lib/packagekit-glib2/pk-enum.c:1130
 msgid "Downloaded"
 msgstr "Gedownload "
 
 #. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:567
+#: ../lib/packagekit-glib2/pk-enum.c:1142
 msgid "Removed"
 msgstr "Verwijderd"
 
 #. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:571
+#: ../lib/packagekit-glib2/pk-enum.c:1146
 msgid "Cleaned up"
 msgstr "Opgeschoond"
 
 #. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:575
+#: ../lib/packagekit-glib2/pk-enum.c:1150
 msgid "Obsoleted"
 msgstr "Verouderd"
 
 #. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:579
+#: ../lib/packagekit-glib2/pk-enum.c:1154
 msgid "Reinstalled"
 msgstr "Opnieuw geïnstalleerd"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:597
+#: ../lib/packagekit-glib2/pk-enum.c:1179
 msgid "Unknown role type"
 msgstr "Onbekend rol type"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:601
+#: ../lib/packagekit-glib2/pk-enum.c:1183
 msgid "Getting dependencies"
 msgstr "Afhankelijkheden ophalen"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:605
+#: ../lib/packagekit-glib2/pk-enum.c:1187
 msgid "Getting update details"
 msgstr "Vernieuwing details ophalen"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:609
+#: ../lib/packagekit-glib2/pk-enum.c:1191
 msgid "Getting details"
 msgstr "Details ophalen"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:613
+#: ../lib/packagekit-glib2/pk-enum.c:1195
 msgid "Getting requires"
 msgstr "Vereisten ophalen"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:617
+#: ../lib/packagekit-glib2/pk-enum.c:1199
 msgid "Getting updates"
 msgstr "Vernieuwingen ophalen"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:621
+#: ../lib/packagekit-glib2/pk-enum.c:1203
 msgid "Searching by details"
 msgstr "Opzoeken volgens details"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:625
+#: ../lib/packagekit-glib2/pk-enum.c:1207
 msgid "Searching by file"
 msgstr "Opzoeken volgens bestand"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:629
+#: ../lib/packagekit-glib2/pk-enum.c:1211
 msgid "Searching groups"
 msgstr "Opzoeken volgens groepen"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:633
+#: ../lib/packagekit-glib2/pk-enum.c:1215
 msgid "Searching by name"
 msgstr "Opzoeken volgens naam"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:645
+#: ../lib/packagekit-glib2/pk-enum.c:1227
 msgid "Installing files"
 msgstr "Bestanden installeren"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:649
+#: ../lib/packagekit-glib2/pk-enum.c:1231
 msgid "Refreshing cache"
 msgstr "Cache verversen"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:653
+#: ../lib/packagekit-glib2/pk-enum.c:1235
 msgid "Updating packages"
 msgstr "Pakketten vernieuwen"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:657
+#: ../lib/packagekit-glib2/pk-enum.c:1239
 msgid "Updating system"
 msgstr "Systeem vernieuwen"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:661
+#: ../lib/packagekit-glib2/pk-enum.c:1243
 msgid "Canceling"
 msgstr "Afbreken"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:669
+#: ../lib/packagekit-glib2/pk-enum.c:1251
 msgid "Getting repositories"
 msgstr "Repositories ophalen"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:673
+#: ../lib/packagekit-glib2/pk-enum.c:1255
 msgid "Enabling repository"
 msgstr "Repository aanzetten"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:677
+#: ../lib/packagekit-glib2/pk-enum.c:1259
 msgid "Setting data"
 msgstr "Data instellen"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:681
+#: ../lib/packagekit-glib2/pk-enum.c:1263
 msgid "Resolving"
 msgstr "Oplossen"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:685
+#: ../lib/packagekit-glib2/pk-enum.c:1267
 msgid "Getting file list"
 msgstr "Bestand lijst ophalen"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:689
+#: ../lib/packagekit-glib2/pk-enum.c:1271
 msgid "Getting provides"
 msgstr "Voorzieningen ophalen"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:693
+#: ../lib/packagekit-glib2/pk-enum.c:1275
 msgid "Installing signature"
 msgstr "Ondertekening installeren"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:697
+#: ../lib/packagekit-glib2/pk-enum.c:1279
 msgid "Getting packages"
 msgstr "Pakketten ophalen"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:701
+#: ../lib/packagekit-glib2/pk-enum.c:1283
 msgid "Accepting EULA"
 msgstr "EULA accepteren"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:709
+#: ../lib/packagekit-glib2/pk-enum.c:1291
 msgid "Getting upgrades"
 msgstr "Vernieuwingen ophalen"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:713
+#: ../lib/packagekit-glib2/pk-enum.c:1295
 msgid "Getting categories"
 msgstr "Categorieën ophalen"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:717
+#: ../lib/packagekit-glib2/pk-enum.c:1299
 msgid "Getting transactions"
 msgstr "Transacties ophalen"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:721
-#: ../lib/packagekit-glib2/pk-console-shared.c:725
+#: ../lib/packagekit-glib2/pk-enum.c:1303
+#: ../lib/packagekit-glib2/pk-enum.c:1307
 msgid "Simulating install"
 msgstr "Installatie simuleren"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:729
+#: ../lib/packagekit-glib2/pk-enum.c:1311
 msgid "Simulating remove"
 msgstr "Verwijdering simuleren"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:733
+#: ../lib/packagekit-glib2/pk-enum.c:1315
 msgid "Simulating update"
 msgstr "Vernieuwing simuleren"
 
-#. TRANSLATORS: turn on all debugging
-#: ../lib/packagekit-glib2/pk-debug.c:133
-msgid "Show debugging information for all files"
-msgstr "Toon debug informatie voor alle bestanden"
-
-#: ../lib/packagekit-glib2/pk-debug.c:201
-msgid "Debugging Options"
-msgstr "Debug opties"
-
-#: ../lib/packagekit-glib2/pk-debug.c:201
-msgid "Show debugging options"
-msgstr "Laat debug opties zien"
-
 #. TRANSLATORS: ask the user if they are comfortable installing insecure
 #. packages
 #: ../lib/packagekit-glib2/pk-task-text.c:67
@@ -1841,31 +1820,23 @@ msgstr "Authenticatie wordt vereist om een EULA te accepteren"
 #: ../policy/org.freedesktop.packagekit.policy.in.h:9
 msgid ""
 "Authentication is required to cancel a task that was not started by yourself"
-msgstr ""
-"Authenticatie wordt vereist om een taak af te breken die niet door jou is "
-"gestart"
+msgstr "Authenticatie wordt vereist om een taak af te breken die niet door jou is gestart"
 
 #: ../policy/org.freedesktop.packagekit.policy.in.h:10
 msgid "Authentication is required to change software source parameters"
-msgstr ""
-"Authenticatie wordt vereist om parameters van de software bronnen te "
-"wijzigen"
+msgstr "Authenticatie wordt vereist om parameters van de software bronnen te wijzigen"
 
 #: ../policy/org.freedesktop.packagekit.policy.in.h:11
 msgid ""
 "Authentication is required to change the location used to decompress "
 "packages"
-msgstr ""
-"Authenticatie wordt vereist om de om de locatie waar pakketten "
-"gedecomprimeerd worden te veranderen"
+msgstr "Authenticatie wordt vereist om de om de locatie waar pakketten gedecomprimeerd worden te veranderen"
 
 #: ../policy/org.freedesktop.packagekit.policy.in.h:12
 msgid ""
 "Authentication is required to consider a key used for signing packages as "
 "trusted"
-msgstr ""
-"Authenticatie wordt vereist om een sleutel te overwegen die gebruikt wordt "
-"om een pakket als vertrouwd te ondertekenen "
+msgstr "Authenticatie wordt vereist om een sleutel te overwegen die gebruikt wordt om een pakket als vertrouwd te ondertekenen "
 
 #: ../policy/org.freedesktop.packagekit.policy.in.h:13
 msgid "Authentication is required to install a signed package"
@@ -1873,8 +1844,7 @@ msgstr "Authenticatie wordt vereist om een ondertekend pakket te installeren"
 
 #: ../policy/org.freedesktop.packagekit.policy.in.h:14
 msgid "Authentication is required to install an untrusted package"
-msgstr ""
-"Authenticatie wordt vereist om een niet-vertrouwd pakket te installeren"
+msgstr "Authenticatie wordt vereist om een niet-vertrouwd pakket te installeren"
 
 #: ../policy/org.freedesktop.packagekit.policy.in.h:15
 msgid "Authentication is required to refresh the system sources"
@@ -1882,31 +1852,31 @@ msgstr "Authenticatie wordt vereist om de systeem bronnen te verversen"
 
 #: ../policy/org.freedesktop.packagekit.policy.in.h:16
 msgid "Authentication is required to reload the device with a new driver"
-msgstr ""
-"Authenticatie wordt vereist om het apparaat te herladen met een nieuwe "
-"driver"
+msgstr "Authenticatie wordt vereist om het apparaat te herladen met een nieuwe driver"
 
 #: ../policy/org.freedesktop.packagekit.policy.in.h:17
 msgid "Authentication is required to remove packages"
 msgstr "Authenticatie wordt vereist om pakketten te verwijderen"
 
 #: ../policy/org.freedesktop.packagekit.policy.in.h:18
+msgid "Authentication is required to repair the installed software"
+msgstr "Authenticatie is vereist om de geïnstalleerde software te kunnen repareren"
+
+#: ../policy/org.freedesktop.packagekit.policy.in.h:19
 msgid "Authentication is required to rollback a transaction"
 msgstr "Authenticatie wordt vereist om een transactie terug te draaien"
 
-#: ../policy/org.freedesktop.packagekit.policy.in.h:19
+#: ../policy/org.freedesktop.packagekit.policy.in.h:20
 msgid ""
 "Authentication is required to set the network proxy used for downloading "
 "packages"
-msgstr ""
-"Authenticatie wordt vereist voor het instellen van de netwerk proxy die "
-"gebruikt wordt om pakketten te installeren"
+msgstr "Authenticatie wordt vereist voor het instellen van de netwerk proxy die gebruikt wordt om pakketten te installeren"
 
-#: ../policy/org.freedesktop.packagekit.policy.in.h:20
+#: ../policy/org.freedesktop.packagekit.policy.in.h:21
 msgid "Authentication is required to update packages"
 msgstr "Authenticatie wordt vereist om pakketten te vernieuwen"
 
-#: ../policy/org.freedesktop.packagekit.policy.in.h:21
+#: ../policy/org.freedesktop.packagekit.policy.in.h:22
 msgid "Authentication is required to upgrade the operating system"
 msgstr "Authenticatie is vereist  om het operating system te mogen upgraden"
 
@@ -1915,7 +1885,7 @@ msgstr "Authenticatie is vereist  om het operating system te mogen upgraden"
 #. authentication, but a different user id needs the admin password
 #. to cancel another users task.
 #. 
-#: ../policy/org.freedesktop.packagekit.policy.in.h:27
+#: ../policy/org.freedesktop.packagekit.policy.in.h:28
 msgid "Cancel foreign task"
 msgstr "Breek taak van anderen af"
 
@@ -1925,7 +1895,7 @@ msgstr "Breek taak van anderen af"
 #. - This could be used to overwrite files not owned by the user using
 #. a carefully created package file.
 #. 
-#: ../policy/org.freedesktop.packagekit.policy.in.h:34
+#: ../policy/org.freedesktop.packagekit.policy.in.h:35
 msgid "Change location that packages are installed"
 msgstr "Verander de locatie waar pakketten geïnstalleerd worden"
 
@@ -1934,7 +1904,7 @@ msgstr "Verander de locatie waar pakketten geïnstalleerd worden"
 #. software sources as this can be used to enable new updates or
 #. install different versions of software.
 #. 
-#: ../policy/org.freedesktop.packagekit.policy.in.h:40
+#: ../policy/org.freedesktop.packagekit.policy.in.h:41
 msgid "Change software source parameters"
 msgstr "Parameters van de software bronnen wijzigen"
 
@@ -1944,7 +1914,7 @@ msgstr "Parameters van de software bronnen wijzigen"
 #. - Paranoid users (or parents!) can change this to 'auth_admin' or
 #. 'auth_admin_keep'.
 #. 
-#: ../policy/org.freedesktop.packagekit.policy.in.h:47
+#: ../policy/org.freedesktop.packagekit.policy.in.h:48
 msgid "Install signed package"
 msgstr "Ondertekend pakket installeren"
 
@@ -1954,7 +1924,7 @@ msgstr "Ondertekend pakket installeren"
 #. password would be a massive security hole.
 #. - This is not retained as each package should be authenticated.
 #. 
-#: ../policy/org.freedesktop.packagekit.policy.in.h:54
+#: ../policy/org.freedesktop.packagekit.policy.in.h:55
 msgid "Install untrusted local file"
 msgstr "Lokaal niet-vertrouwd bestand installeren"
 
@@ -1962,7 +1932,7 @@ msgstr "Lokaal niet-vertrouwd bestand installeren"
 #. - 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:59
+#: ../policy/org.freedesktop.packagekit.policy.in.h:60
 msgid "Refresh system sources"
 msgstr "Ververs systeem bronnen"
 
@@ -1973,7 +1943,7 @@ msgstr "Ververs systeem bronnen"
 #. try to rebind drivers in use, for instance security authentication
 #. devices.
 #. 
-#: ../policy/org.freedesktop.packagekit.policy.in.h:67
+#: ../policy/org.freedesktop.packagekit.policy.in.h:68
 msgid "Reload a device"
 msgstr "Een apparaat opnieuw laden"
 
@@ -1986,16 +1956,25 @@ msgstr "Een apparaat opnieuw laden"
 #. be removed. If this is not possible, change this authentication to
 #. 'auth_admin'.
 #. 
-#: ../policy/org.freedesktop.packagekit.policy.in.h:77
+#: ../policy/org.freedesktop.packagekit.policy.in.h:78
 msgid "Remove package"
 msgstr "Pakket verwijderen"
 
 #. SECURITY:
+#. - Normal users require admin authentication to repair the system
+#. since this can make the system unbootable or stop other
+#. applications from working.
+#. 
+#: ../policy/org.freedesktop.packagekit.policy.in.h:84
+msgid "Repair System"
+msgstr "Repareer Systeem"
+
+#. SECURITY:
 #. - Normal users require admin authentication to rollback system state
 #. as this will change a large number of packages, and could expose the
 #. system to previously patched security vulnerabilities.
 #. 
-#: ../policy/org.freedesktop.packagekit.policy.in.h:83
+#: ../policy/org.freedesktop.packagekit.policy.in.h:90
 msgid "Rollback to a previous transaction"
 msgstr "Terugdraaien naar een voorgaande transactie"
 
@@ -2003,7 +1982,7 @@ msgstr "Terugdraaien naar een voorgaande transactie"
 #. - Normal users do not require admin authentication to set the proxy
 #. used for downloading packages.
 #. 
-#: ../policy/org.freedesktop.packagekit.policy.in.h:88
+#: ../policy/org.freedesktop.packagekit.policy.in.h:95
 msgid "Set network proxy"
 msgstr "Stel netwerk proxy in"
 
@@ -2013,10 +1992,9 @@ msgstr "Stel netwerk proxy in"
 #. without a secure authentication.
 #. - This is not kept as each package should be authenticated.
 #. 
-#: ../policy/org.freedesktop.packagekit.policy.in.h:95
+#: ../policy/org.freedesktop.packagekit.policy.in.h:102
 msgid "Trust a key used for signing packages"
-msgstr ""
-"Vertrouw een sleutel die gebruikt wordt voor het ondertekenen van pakketten"
+msgstr "Vertrouw een sleutel die gebruikt wordt voor het ondertekenen van pakketten"
 
 #. SECURITY:
 #. - Normal users do not require admin authentication to update the
@@ -2025,7 +2003,7 @@ msgstr ""
 #. - Changing this to anything other than 'yes' will break unattended
 #. updates.
 #. 
-#: ../policy/org.freedesktop.packagekit.policy.in.h:103
+#: ../policy/org.freedesktop.packagekit.policy.in.h:110
 msgid "Update packages"
 msgstr "Pakketten vernieuwen"
 
@@ -2034,7 +2012,7 @@ msgstr "Pakketten vernieuwen"
 #. this can make the system unbootable or stop other applications from
 #. working.
 #. 
-#: ../policy/org.freedesktop.packagekit.policy.in.h:109
+#: ../policy/org.freedesktop.packagekit.policy.in.h:116
 msgid "Upgrade System"
 msgstr "Upgrade Systeem"
 
@@ -2083,32 +2061,22 @@ msgid "Failed to load any of the specified backends:"
 msgstr "Laden gespecifieerde backends, welke dan ook, mislukt:"
 
 #. TRANSLATORS: is not GPG signed
-#: ../src/pk-transaction.c:2696
+#: ../src/pk-transaction.c:2972
 msgid "The software is not from a trusted source."
 msgstr "De software is niet van een vertrouwde bron."
 
-#: ../src/pk-transaction.c:2704
+#: ../src/pk-transaction.c:2980
 msgid "Do not update this package unless you are sure it is safe to do so."
-msgstr ""
-"Vernieuw dit pakket niet behalve als je zeker weet dat het veilig is om te "
-"doen."
+msgstr "Vernieuw dit pakket niet behalve als je zeker weet dat het veilig is om te doen."
 
-#: ../src/pk-transaction.c:2705
+#: ../src/pk-transaction.c:2981
 msgid "Do not update these packages unless you are sure it is safe to do so."
-msgstr ""
-"Vernieuw deze pakketten niet behalve als je zeker weet dat het veilig is om "
-"te doen."
+msgstr "Vernieuw deze pakketten niet behalve als je zeker weet dat het veilig is om te doen."
 
-#: ../src/pk-transaction.c:2715
+#: ../src/pk-transaction.c:2991
 msgid "Do not install this package unless you are sure it is safe to do so."
-msgstr ""
-"Installeer dit pakket niet behalve als je zeker weet dat het veilig is om te"
-" doen."
+msgstr "Installeer dit pakket niet behalve als je zeker weet dat het veilig is om te doen."
 
-#: ../src/pk-transaction.c:2716
+#: ../src/pk-transaction.c:2992
 msgid "Do not install these packages unless you are sure it is safe to do so."
-msgstr ""
-"Installeer deze pakketten niet behalve als je zeker weet dat het veilig is "
-"om te doen."
-
-
+msgstr "Installeer deze pakketten niet behalve als je zeker weet dat het veilig is om te doen."
diff --git a/po/pa.po b/po/pa.po
index 21d5cec..938e2f7 100644
--- a/po/pa.po
+++ b/po/pa.po
@@ -5,17 +5,17 @@
 # Translators:
 # Amanpreet Singh Alam <aalam at users.sf.net>, 2008, 2009.
 # A S Alam <aalam at users.sf.net>, 2009.
-# A S Alam <apreet.alam at gmail.com>, 2011.
+# A S Alam <apreet.alam at gmail.com>, 2011, 2012.
 # Jaswinder Singh <jsingh at redhat.com>, 2009.
 # Richard Hughes <richard at hughsie.com>, 2011.
 msgid ""
 msgstr ""
 "Project-Id-Version: PackageKit\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-11-10 19:50+0000\n"
-"PO-Revision-Date: 2011-12-24 03:10+0000\n"
+"POT-Creation-Date: 2012-01-17 12:15+0000\n"
+"PO-Revision-Date: 2012-02-23 01:57+0000\n"
 "Last-Translator: A S Alam <apreet.alam at gmail.com>\n"
-"Language-Team: Panjabi (Punjabi) (http://www.transifex.net/projects/p/freedesktop/team/pa/)\n"
+"Language-Team: Panjabi (Punjabi) (http://www.transifex.net/projects/p/freedesktop/language/pa/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -24,114 +24,114 @@ msgstr ""
 
 #. TRANSLATORS: this is an atomic transaction
 #. TRANSLATORS: the role is the point of the transaction, e.g. update-system
-#: ../client/pk-console.c:174 ../client/pk-console.c:596
+#: ../client/pk-console.c:173 ../client/pk-console.c:595
 msgid "Transaction"
 msgstr "ਟਰਾਂਸੈਕਸ਼ਨ"
 
 #. TRANSLATORS: this is the time the transaction was started in system
 #. timezone
-#: ../client/pk-console.c:176
+#: ../client/pk-console.c:175
 msgid "System time"
 msgstr "ਸਿਸਟਮ ਸਮਾਂ"
 
 #. TRANSLATORS: this is if the transaction succeeded or not
-#: ../client/pk-console.c:178
+#: ../client/pk-console.c:177
 msgid "Succeeded"
 msgstr "ਸਫ਼ਲ"
 
-#: ../client/pk-console.c:178
+#: ../client/pk-console.c:177
 msgid "True"
 msgstr "ਸਹੀਂ"
 
-#: ../client/pk-console.c:178
+#: ../client/pk-console.c:177
 msgid "False"
 msgstr "ਗਲਤ"
 
 #. TRANSLATORS: this is the transactions role, e.g. "update-system"
-#: ../client/pk-console.c:180
+#: ../client/pk-console.c:179
 msgid "Role"
 msgstr "ਰੋਲ"
 
 #. TRANSLATORS: this is The duration of the transaction
-#: ../client/pk-console.c:185
+#: ../client/pk-console.c:184
 msgid "Duration"
 msgstr "ਅੰਤਰਾਲ"
 
-#: ../client/pk-console.c:185
+#: ../client/pk-console.c:184
 msgid "(seconds)"
 msgstr "(ਸਕਿੰਟ)"
 
 #. TRANSLATORS: this is The command line used to do the action
-#: ../client/pk-console.c:189
+#: ../client/pk-console.c:188
 msgid "Command line"
 msgstr "ਕਮਾਂਡ ਲਾਈਨ"
 
 #. TRANSLATORS: this is the user ID of the user that started the action
-#: ../client/pk-console.c:191
+#: ../client/pk-console.c:190
 msgid "User ID"
 msgstr "ਯੂਜ਼ਰ ID"
 
 #. TRANSLATORS: this is the username, e.g. hughsie
-#: ../client/pk-console.c:198
+#: ../client/pk-console.c:197
 msgid "Username"
 msgstr "ਯੂਜ਼ਰ ਨਾਂ"
 
 #. TRANSLATORS: this is the users real name, e.g. "Richard Hughes"
-#: ../client/pk-console.c:202
+#: ../client/pk-console.c:201
 msgid "Real name"
 msgstr "ਅਸਲੀ ਨਾਂ"
 
-#: ../client/pk-console.c:210
+#: ../client/pk-console.c:209
 msgid "Affected packages:"
 msgstr "ਪ੍ਰਭਾਵਿਤ ਪੈਕੇਜ:"
 
-#: ../client/pk-console.c:212
+#: ../client/pk-console.c:211
 msgid "Affected packages: None"
 msgstr "ਪ੍ਰਭਾਵਿਤ ਪੈਕੇਜ: ਕੋਈ ਨਹੀਂ"
 
 #. TRANSLATORS: this is the distro, e.g. Fedora 10
-#: ../client/pk-console.c:247
+#: ../client/pk-console.c:246
 msgid "Distribution"
 msgstr "ਡਿਸਟਰੀਬਿਊਸ਼ਨ"
 
 #. TRANSLATORS: this is type of update, stable or testing
-#: ../client/pk-console.c:249
+#: ../client/pk-console.c:248
 msgid "Type"
 msgstr "ਟਾਈਪ"
 
 #. TRANSLATORS: this is any summary text describing the upgrade
 #. TRANSLATORS: this is the summary of the group
-#: ../client/pk-console.c:251 ../client/pk-console.c:290
+#: ../client/pk-console.c:250 ../client/pk-console.c:289
 msgid "Summary"
 msgstr "ਸੰਖੇਪ"
 
 #. TRANSLATORS: this is the group category name
-#: ../client/pk-console.c:279
+#: ../client/pk-console.c:278
 msgid "Category"
 msgstr "ਕੈਟਾਗਰੀ"
 
 #. TRANSLATORS: this is group identifier
-#: ../client/pk-console.c:281
+#: ../client/pk-console.c:280
 msgid "ID"
 msgstr "ID"
 
 #. TRANSLATORS: this is the parent group
-#: ../client/pk-console.c:284
+#: ../client/pk-console.c:283
 msgid "Parent"
 msgstr "ਮੋਢੀ"
 
 #. TRANSLATORS: this is the name of the parent group
-#: ../client/pk-console.c:287
+#: ../client/pk-console.c:286
 msgid "Name"
 msgstr "ਨਾਂ"
 
 #. TRANSLATORS: this is preferred icon for the group
-#: ../client/pk-console.c:293
+#: ../client/pk-console.c:292
 msgid "Icon"
 msgstr "ਆਈਕਾਨ"
 
 #. TRANSLATORS: this is a header for the package that can be updated
-#: ../client/pk-console.c:339
+#: ../client/pk-console.c:338
 msgid "Details about the update:"
 msgstr "ਅੱਪਡੇਟ ਬਾਰੇ ਵੇਰਵਾ:"
 
@@ -139,7 +139,7 @@ msgstr "ਅੱਪਡੇਟ ਬਾਰੇ ਵੇਰਵਾ:"
 #. 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
-#: ../client/pk-console.c:345 ../client/pk-console.c:615
+#: ../client/pk-console.c:344 ../client/pk-console.c:614
 #: ../lib/packagekit-glib2/pk-task-text.c:124
 #: ../lib/packagekit-glib2/pk-task-text.c:206
 msgid "Package"
@@ -147,217 +147,212 @@ msgstr "ਪੈਕੇਜ"
 
 #. TRANSLATORS: details about the update, any packages that this update
 #. updates
-#: ../client/pk-console.c:348
+#: ../client/pk-console.c:347
 msgid "Updates"
 msgstr "ਅੱਪਡੇਟ"
 
 #. TRANSLATORS: details about the update, any packages that this update
 #. obsoletes
-#: ../client/pk-console.c:352
+#: ../client/pk-console.c:351
 msgid "Obsoletes"
 msgstr "ਬਰਤਰਫ਼"
 
 #. TRANSLATORS: details about the update, the vendor URLs
 #. TRANSLATORS: the vendor (e.g. vmware) that is providing the EULA
-#: ../client/pk-console.c:356 ../lib/packagekit-glib2/pk-task-text.c:209
+#: ../client/pk-console.c:355 ../lib/packagekit-glib2/pk-task-text.c:209
 msgid "Vendor"
 msgstr "ਵੇਂਡਰ"
 
 #. TRANSLATORS: details about the update, the bugzilla URLs
-#: ../client/pk-console.c:360
+#: ../client/pk-console.c:359
 msgid "Bugzilla"
 msgstr "ਬੱਗਜ਼ੀਲਾ"
 
 #. TRANSLATORS: details about the update, the CVE URLs
-#: ../client/pk-console.c:364
+#: ../client/pk-console.c:363
 msgid "CVE"
 msgstr "CVE"
 
 #. TRANSLATORS: details about the update, if the package requires a restart
-#: ../client/pk-console.c:368
+#: ../client/pk-console.c:367
 msgid "Restart"
 msgstr "ਮੁੜ-ਚਾਲੂ"
 
 #. TRANSLATORS: details about the update, any description of the update
-#: ../client/pk-console.c:372
+#: ../client/pk-console.c:371
 msgid "Update text"
 msgstr "ਅੱਪਡੇਟ ਟੈਕਸਟ"
 
 #. TRANSLATORS: details about the update, the changelog for the package
-#: ../client/pk-console.c:376
+#: ../client/pk-console.c:375
 msgid "Changes"
 msgstr "ਬਦਲਾਅ"
 
 #. TRANSLATORS: details about the update, the ongoing state of the update
-#: ../client/pk-console.c:380
+#: ../client/pk-console.c:379
 msgid "State"
 msgstr "ਹਾਲਤ"
 
 #. TRANSLATORS: details about the update, date the update was issued
-#: ../client/pk-console.c:384
+#: ../client/pk-console.c:383
 msgid "Issued"
 msgstr "ਜਾਰੀ ਕੀਤਾ"
 
 #. TRANSLATORS: details about the update, date the update was updated
 #. TRANSLATORS: The action of the package, in past tense
-#: ../client/pk-console.c:388 ../lib/packagekit-glib2/pk-console-shared.c:559
+#: ../client/pk-console.c:387 ../lib/packagekit-glib2/pk-enum.c:1134
 msgid "Updated"
 msgstr "ਅੱਪਡੇਟ ਕੀਤੇ"
 
 #. TRANSLATORS: if the repo is enabled
-#: ../client/pk-console.c:424
+#: ../client/pk-console.c:423
 msgid "Enabled"
 msgstr "ਚਾਲੂ ਹੈ"
 
 #. TRANSLATORS: if the repo is disabled
-#: ../client/pk-console.c:427
+#: ../client/pk-console.c:426
 msgid "Disabled"
 msgstr "ਬੰਦ ਹੈ"
 
 #. TRANSLATORS: a package requires the system to be restarted
-#: ../client/pk-console.c:459
+#: ../client/pk-console.c:458
 msgid "System restart required by:"
 msgstr "ਸਿਸਟਮ ਮੁੜ-ਚਾਲੂ ਕਰਨ ਦੀ ਲੋੜ ਹੈ:"
 
 #. TRANSLATORS: a package requires the session to be restarted
-#: ../client/pk-console.c:462
+#: ../client/pk-console.c:461
 msgid "Session restart required:"
 msgstr "ਸਿਸਟਮ ਮੁੜ-ਚਾਲੂ ਕਰਨ ਦੀ ਲੋੜ:"
 
 #. TRANSLATORS: a package requires the system to be restarted due to a
 #. security update
-#: ../client/pk-console.c:465
+#: ../client/pk-console.c:464
 msgid "System restart (security) required by:"
 msgstr "ਸਿਸਟਮ ਮੁੜ-ਚਾਲੂ (ਸੁਰੱਖਿਆ) ਕਰਨ ਦੀ ਲੋੜ ਹੈ:"
 
 #. TRANSLATORS: a package requires the session to be restarted due to a
 #. security update
-#: ../client/pk-console.c:468
+#: ../client/pk-console.c:467
 msgid "Session restart (security) required:"
 msgstr "ਸਿਸਟਮ ਮੁੜ-ਚਾਲੂ (ਸੁਰੱਖਿਆ) ਕਰਨ ਦੀ ਲੋੜ:"
 
 #. TRANSLATORS: a package requires the application to be restarted
-#: ../client/pk-console.c:471
+#: ../client/pk-console.c:470
 msgid "Application restart required by:"
 msgstr "ਐਪਲੀਕੇਸ਼ਨ ਮੁੜ-ਚਾਲੂ ਕਰਨ ਦੀ ਲੋੜ ਹੈ:"
 
 #. TRANSLATORS: This a list of details about the package
-#: ../client/pk-console.c:506
+#: ../client/pk-console.c:505
 msgid "Package description"
 msgstr "ਪੈਕੇਜ ਵੇਰਵਾ"
 
 #. TRANSLATORS: This a message (like a little note that may be of interest)
 #. from the transaction
-#: ../client/pk-console.c:537
+#: ../client/pk-console.c:536
 msgid "Message:"
 msgstr "ਸੁਨੇਹਾ:"
 
 #. TRANSLATORS: This where the package has no files
-#: ../client/pk-console.c:558
+#: ../client/pk-console.c:557
 msgid "No files"
 msgstr "ਕੋਈ ਫਾਇਲ ਨਹੀਂ"
 
 #. TRANSLATORS: This a list files contained in the package
-#: ../client/pk-console.c:563
+#: ../client/pk-console.c:562
 msgid "Package files"
 msgstr "ਪੈਕੇਜ ਫਾਇਲਾਂ"
 
 #. TRANSLATORS: the percentage complete of the transaction
-#: ../client/pk-console.c:631
+#: ../client/pk-console.c:630
 msgid "Percentage"
 msgstr "ਫੀਸਦੀ"
 
 #. TRANSLATORS: the status of the transaction (e.g. downloading)
-#: ../client/pk-console.c:649
+#: ../client/pk-console.c:648
 msgid "Status"
 msgstr "ਹਾਲਤ"
 
 #. TRANSLATORS: the results from the transaction
-#: ../client/pk-console.c:678
+#: ../client/pk-console.c:677
 msgid "Results:"
 msgstr "ਨਤੀਜਾ:"
 
 #. TRANSLATORS: we failed to get any results, which is pretty fatal in my book
-#: ../client/pk-console.c:685
+#: ../client/pk-console.c:684
 msgid "Fatal error"
 msgstr "ਘਾਤਕ ਗਲਤੀ"
 
 #. TRANSLATORS: the user asked to update everything, but there is nothing that
 #. can be updated
-#: ../client/pk-console.c:701
+#: ../client/pk-console.c:700
 msgid "There are no packages to update."
 msgstr "ਅੱਪਡੇਟ ਕਰਨ ਲਈ ਕੋਈ ਪੈਕੇਜ ਨਹੀਂ ਹੈ।"
 
 #. TRANSLATORS: the transaction failed in a way we could not expect
-#: ../client/pk-console.c:704
+#: ../client/pk-console.c:703
 #: ../contrib/command-not-found/pk-command-not-found.c:634
 msgid "The transaction failed"
 msgstr "ਟਰਾਂਸੈਕਸ਼ਨ ਫੇਲ੍ਹ ਹੋਈ"
 
 #. TRANSLATORS: print a message when there are no updates
-#: ../client/pk-console.c:733
+#: ../client/pk-console.c:732
 msgid "There are no updates available at this time."
 msgstr "ਇਸ ਸਮੇਂ ਕੋਈ ਅੱਪਡੇਟ ਉਪਲੱਬਧ ਨਹੀਂ ਹੈ।"
 
-#: ../client/pk-console.c:756
+#: ../client/pk-console.c:755
 msgid "There are no upgrades available at this time."
 msgstr "ਇਸ ਸਮੇਂ ਕੋਈ ਅੱਪਡੇਟ ਉਪਲੱਬਧ ਨਹੀਂ ਹੈ।"
 
 #. TRANSLATORS: a package needs to restart their system
-#: ../client/pk-console.c:823
+#: ../client/pk-console.c:822
 msgid "Please restart the computer to complete the update."
 msgstr "ਅੱਪਡੇਟ ਨੂੰ ਪੂਰਾ ਕਰਨ ਵਾਸਤੇ ਕੰਪਿਊਟਰ ਮੁੜ-ਚਾਲੂ ਕਰੋ ਜੀ।"
 
 #. TRANSLATORS: a package needs to restart the session
-#: ../client/pk-console.c:826
+#: ../client/pk-console.c:825
 msgid "Please logout and login to complete the update."
 msgstr "ਅੱਪਡੇਟ ਨੂੰ ਪੂਰਾ ਕਰਨ ਵਾਸਤੇ ਲਾਗਆਉਟ ਕਰਕੇ ਲਾਗਇਨ ਕਰੋ ਜੀ।"
 
 #. TRANSLATORS: a package needs to restart their system (due to security)
-#: ../client/pk-console.c:829
+#: ../client/pk-console.c:828
 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:832
+#: ../client/pk-console.c:831
 msgid ""
 "Please logout and login to complete the update as important security updates"
 " have been installed."
-msgstr ""
-"ਅੱਪਡੇਟ ਨੂੰ ਪੂਰਾ ਕਰਨ ਵਾਸਤੇ ਲਾਗਆਉਟ ਕਰਕੇ ਲਾਗਇਨ ਕਰੋ ਜੀ, ਕਿਉਂਕਿ ਸੁਰੱਖਿਆ ਅੱਪਡੇਟ "
-"ਇੰਸਟਾਲ ਕੀਤੇ ਹਨ।"
+msgstr "ਅੱਪਡੇਟ ਨੂੰ ਪੂਰਾ ਕਰਨ ਵਾਸਤੇ ਲਾਗਆਉਟ ਕਰਕੇ ਲਾਗਇਨ ਕਰੋ ਜੀ, ਕਿਉਂਕਿ ਸੁਰੱਖਿਆ ਅੱਪਡੇਟ ਇੰਸਟਾਲ ਕੀਤੇ ਹਨ।"
 
 #. TRANSLATORS: The user used 'pkcon install dave.rpm' rather than 'pkcon
 #. install-local dave.rpm'
-#: ../client/pk-console.c:858
+#: ../client/pk-console.c:857
 #, c-format
 msgid ""
 "Expected package name, actually got file. Try using 'pkcon install-local %s'"
 " instead."
-msgstr ""
-"ਚਾਹੀਦਾ ਪੈਕੇਜ ਨਾਂ, ਅਸਲ 'ਚ ਫਾਇਲ ਮਿਲੀ। 'pkcon install-local %s'  ਵਰਤੇ ਕੇ ਵੇਖੋ।"
+msgstr "ਚਾਹੀਦਾ ਪੈਕੇਜ ਨਾਂ, ਅਸਲ 'ਚ ਫਾਇਲ ਮਿਲੀ। 'pkcon install-local %s'  ਵਰਤੇ ਕੇ ਵੇਖੋ।"
 
 #. TRANSLATORS: There was an error getting the list of files for the package.
 #. The detailed error follows
-#: ../client/pk-console.c:871
+#: ../client/pk-console.c:870
 #, c-format
 msgid "This tool could not find any available package: %s"
 msgstr "ਇਹ ਟੂਲ ਉਪਲੱਬਧ ਪੈਕੇਜ ਨਹੀਂ ਲੱਭ ਸਕਿਆ: %s"
 
 #. TRANSLATORS: There was an error getting the list of files for the package.
 #. The detailed error follows
-#: ../client/pk-console.c:899
+#: ../client/pk-console.c:898
 #, c-format
 msgid "This tool could not find the installed package: %s"
 msgstr "ਇਹ ਟੂਲ ਇੰਸਟਾਲ ਕੀਤੇ ਪੈਕੇਜ ਨਹੀਂ ਲੱਭ ਸਕਿਆ: %s"
 
 #. TRANSLATORS: There was an error getting the list of files for the package.
 #. The detailed error follows
-#: ../client/pk-console.c:927 ../client/pk-console.c:955
+#: ../client/pk-console.c:926 ../client/pk-console.c:954
 #, c-format
 msgid "This tool could not find the package: %s"
 msgstr "ਇਹ ਟੂਲ ਪੈਕੇਜ ਨਹੀਂ ਲੱਭ ਸਕਿਆ: %s"
@@ -370,248 +365,245 @@ msgstr "ਇਹ ਟੂਲ ਪੈਕੇਜ ਨਹੀਂ ਲੱਭ ਸਕਿਆ: %s
 #. detailed error follows
 #. TRANSLATORS: The package name was not found in any software sources. The
 #. detailed error follows
-#: ../client/pk-console.c:983 ../client/pk-console.c:1011
-#: ../client/pk-console.c:1039 ../client/pk-console.c:1067
-#: ../client/pk-console.c:1095
+#: ../client/pk-console.c:982 ../client/pk-console.c:1010
+#: ../client/pk-console.c:1038 ../client/pk-console.c:1066
+#: ../client/pk-console.c:1094
 #, c-format
 msgid "This tool could not find all the packages: %s"
 msgstr "ਇਹ ਟੂਲ ਸਭ ਪੈਕੇਜ ਨਹੀਂ ਲੱਭ ਸਕਿਆ: %s"
 
 #. TRANSLATORS: This is when the daemon crashed, and we are up shit creek
 #. without a paddle
-#: ../client/pk-console.c:1124
+#: ../client/pk-console.c:1123
 msgid "The daemon crashed mid-transaction!"
 msgstr "ਡੈਮਨ ਅਧੂਰੀ ਟਰਾਂਸੈਕਸ਼ਨ ਕਰੈਸ਼ ਹੋ ਗਈ!"
 
 #. TRANSLATORS: This is the header to the --help menu
-#: ../client/pk-console.c:1158
+#: ../client/pk-console.c:1157
 msgid "PackageKit Console Interface"
 msgstr "ਪੈਕੇਜਕਿੱਟ ਕਨਸੋਲ ਇੰਟਰਫੇਸ"
 
 #. these are commands we can use with pkcon
-#: ../client/pk-console.c:1160
+#: ../client/pk-console.c:1159
 msgid "Subcommands:"
 msgstr "ਸਬ-ਕਮਾਂਡ:"
 
 #. TRANSLATORS: we keep a database updated with the time that an action was
 #. last executed
-#: ../client/pk-console.c:1240
+#: ../client/pk-console.c:1241
 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:1282 ../client/pk-monitor.c:371
+#: ../client/pk-console.c:1283 ../client/pk-monitor.c:370
 msgid "Show the program version and exit"
 msgstr "ਪਰੋਗਰਾਮ ਵਰਜਨ ਵੇਖੋ ਅਤੇ ਬੰਦ ਕਰੋ"
 
 #. TRANSLATORS: command line argument, use a filter to narrow down results
-#: ../client/pk-console.c:1285
+#: ../client/pk-console.c:1286
 msgid "Set the filter, e.g. installed"
 msgstr "ਫਿਲਟਰ ਸੈੱਟ ਕਰੋ, ਜਿਵੇਂ ਕਿ ਇੰਸਟਾਲ"
 
 #. TRANSLATORS: command line argument, use a non-standard install prefix
-#: ../client/pk-console.c:1288
+#: ../client/pk-console.c:1289
 msgid "Set the install root, e.g. '/' or '/mnt/ltsp'"
 msgstr "ਇੰਸਟਾਲ ਰੂਟ ਸੈੱਟ ਕਰੋ, ਜਿਵੇਂ  '/' ਜਾਂ '/mnt/ltsp'"
 
 #. TRANSLATORS: command line argument, work asynchronously
-#: ../client/pk-console.c:1291
+#: ../client/pk-console.c:1292
 msgid "Exit without waiting for actions to complete"
 msgstr "ਪੂਰੇ ਹੋਣ ਵਾਲੇ ਐਕਸ਼ਨ ਦੀ ਉਡੀਕ ਕੀਤੇ ਬਿਨਾਂ ਬੰਦ ਕਰੋ"
 
 #. command line argument, do we ask questions
-#: ../client/pk-console.c:1294
+#: ../client/pk-console.c:1295
 #: ../contrib/debuginfo-install/pk-debuginfo-install.c:525
 msgid "Install the packages without asking for confirmation"
 msgstr "ਪੁਸ਼ਟੀ ਕੀਤੇ ਬਿਨਾਂ ਹੀ ਪੈਕੇਜ ਇੰਸਟਾਲ ਕਰੋ"
 
 #. TRANSLATORS: command line argument, this command is not a priority
-#: ../client/pk-console.c:1297
+#: ../client/pk-console.c:1298
 msgid "Run the command using idle network bandwidth and also using less power"
-msgstr ""
-"ਕਮਾਂਡ ਨੂੰ ਵੇਹਲੀ ਨੈੱਟਵਰਕ ਬੈਂਡਵਿਥ ਦੌਰਾਨ ਚਲਾਓ ਅਤੇ ਘੱਟ ਊਰਜਾ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਵੀ"
+msgstr "ਕਮਾਂਡ ਨੂੰ ਵੇਹਲੀ ਨੈੱਟਵਰਕ ਬੈਂਡਵਿਥ ਦੌਰਾਨ ਚਲਾਓ ਅਤੇ ਘੱਟ ਊਰਜਾ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਵੀ"
 
 #. TRANSLATORS: command line argument, just output without fancy formatting
-#: ../client/pk-console.c:1300
+#: ../client/pk-console.c:1301
 msgid ""
 "Print to screen a machine readable output, rather than using animated "
 "widgets"
-msgstr ""
-"ਐਨੀਮੇਟਡ ਵਿਡਜੈੱਟ ਵਰਤਣ ਦੀ ਬਜਾਏ, ਮਸ਼ੀਨ ਦੇ ਪੜ੍ਹਨ ਯੋਗ ਜਾਣਕਾਰੀ ਸਕਰੀਨ ਤੇ ਪਰਿੰਟ ਕਰੋ"
+msgstr "ਐਨੀਮੇਟਡ ਵਿਡਜੈੱਟ ਵਰਤਣ ਦੀ ਬਜਾਏ, ਮਸ਼ੀਨ ਦੇ ਪੜ੍ਹਨ ਯੋਗ ਜਾਣਕਾਰੀ ਸਕਰੀਨ ਤੇ ਪਰਿੰਟ ਕਰੋ"
 
 #. TRANSLATORS: command line argument, just output without fancy formatting
-#: ../client/pk-console.c:1303
+#: ../client/pk-console.c:1304
 msgid "The maximum metadata cache age. Use -1 for 'never'."
 msgstr "ਮੇਟਾਡਾਟਾ ਦੀ ਵੱਧ ਤੋਂ ਵੱਧ ਉਮਰ ਹੈ। 'ਕਦੇ ਨਹੀਂ never' ਲਈ -1 ਵਰਤੋਂ।"
 
 #. TRANSLATORS: command line argument, --help
-#: ../client/pk-console.c:1306
+#: ../client/pk-console.c:1307
 msgid "Show help options."
 msgstr "ਮੱਦਦ ਚੋਣਾਂ ਵੇਖਾਉ।"
 
 #. TRANSLATORS: we failed to contact the daemon
-#: ../client/pk-console.c:1336
+#: ../client/pk-console.c:1338
 msgid "Failed to parse command line"
 msgstr "ਕਮਾਂਡ ਲਾਈਨ ਪਾਰਸ ਕਰਨ ਲਈ ਫੇਲ੍ਹ ਹੈ"
 
 #. TRANSLATORS: we failed to contact the daemon
-#: ../client/pk-console.c:1346
+#: ../client/pk-console.c:1348
 msgid "Failed to contact PackageKit"
 msgstr "ਪੈਕੇਜਕਿੱਟ ਨਾਲ ਸੰਪਰਕ ਲਈ ਫੇਲ੍ਹ ਹੈ"
 
 #. TRANSLATORS: The user specified an incorrect filter
-#: ../client/pk-console.c:1399
+#: ../client/pk-console.c:1401
 msgid "The proxy could not be set"
 msgstr "ਪਰਾਕਸੀ ਸੈੱਟ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ"
 
 #. TRANSLATORS: The user specified an incorrect filter
-#: ../client/pk-console.c:1411
+#: ../client/pk-console.c:1413
 msgid "The install root could not be set"
 msgstr "ਇੰਸਟਾਲ ਰੂਟ ਸੈੱਟ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ"
 
 #. TRANSLATORS: The user specified an incorrect filter
-#: ../client/pk-console.c:1423
+#: ../client/pk-console.c:1425
 msgid "The filter specified was invalid"
 msgstr "ਦਿੱਤਾ ਫਿਲਟਰ ਅਢੁੱਕਵਾਂ ਹੈ।"
 
 #. TRANSLATORS: a search type can be name, details, file, etc
-#: ../client/pk-console.c:1442
+#: ../client/pk-console.c:1444
 msgid "A search type is required, e.g. name"
 msgstr "ਖੋਜ ਕਿਸਮ ਚਾਹੀਦੀ ਹੈ, ਜਿਵੇਂ ਨਾਂ"
 
 #. TRANSLATORS: the user needs to provide a search term
-#: ../client/pk-console.c:1449 ../client/pk-console.c:1461
-#: ../client/pk-console.c:1473 ../client/pk-console.c:1485
+#: ../client/pk-console.c:1451 ../client/pk-console.c:1463
+#: ../client/pk-console.c:1475 ../client/pk-console.c:1487
 msgid "A search term is required"
 msgstr "ਖੋਜ ਸ਼ਬਦ ਦੀ ਲੋੜ ਹੈ"
 
 #. TRANSLATORS: the search type was provided, but invalid
-#: ../client/pk-console.c:1495
+#: ../client/pk-console.c:1497
 msgid "Invalid search type"
 msgstr "ਗਲਤ ਖੋਜ ਟਾਈਪ"
 
 #. TRANSLATORS: the user did not specify what they wanted to install
-#: ../client/pk-console.c:1501
+#: ../client/pk-console.c:1503
 msgid "A package name to install is required"
 msgstr "ਇੰਸਟਾਲ ਕਰਨ ਲਈ ਪੈਕੇਜ ਨਾਂ ਲਾਜ਼ਮੀ ਹੈ"
 
 #. TRANSLATORS: the user did not specify what they wanted to install
-#: ../client/pk-console.c:1510
+#: ../client/pk-console.c:1512
 msgid "A filename to install is required"
 msgstr "ਇੰਸਟਾਲ ਕਰਨ ਲਈ ਇੱਕ ਫਾਇਲ ਨਾਂ ਦੀ ਲੋੜ ਹੈ"
 
 #. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:1521
+#: ../client/pk-console.c:1523
 msgid "A type, key_id and package_id are required"
 msgstr "ਟਾਈਪ, key_id ਜਾਂ package_id ਦੇਣ ਦੀ ਲੋੜ ਹੈ"
 
 #. TRANSLATORS: the user did not specify what they wanted to remove
-#: ../client/pk-console.c:1532
+#: ../client/pk-console.c:1534
 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:1541
+#: ../client/pk-console.c:1543
 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:1548
+#: ../client/pk-console.c:1550
 msgid "Directory not found"
 msgstr "ਡਾਇਰੈਕਟਰੀ ਨਹੀਂ ਲੱਭੀ"
 
 #. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:1557
+#: ../client/pk-console.c:1559
 msgid "A licence identifier (eula-id) is required"
 msgstr "ਇੱਕ ਲਾਈਸੈਂਸ ਪਛਾਣਕਰਤਾ (eula-id) ਲਾਜ਼ਮੀ ਹੈ"
 
 #. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:1568
+#: ../client/pk-console.c:1570
 msgid "A transaction identifier (tid) is required"
 msgstr "ਟਰਾਂਸੈਕਸ਼ਨ ਪਛਾਣ (tid) ਲੋੜੀਦਾ ਹੈ"
 
 #. TRANSLATORS: The user did not specify a package name
-#: ../client/pk-console.c:1589
+#: ../client/pk-console.c:1591
 msgid "A package name to resolve is required"
 msgstr "ਹੱਲ ਕਰਨ ਲਈ ਪੈਕੇਜ ਨਾਂ ਲਾਜ਼ਮੀ ਹੈ"
 
 #. TRANSLATORS: The user did not specify a repository (software source) name
-#: ../client/pk-console.c:1600 ../client/pk-console.c:1611
+#: ../client/pk-console.c:1602 ../client/pk-console.c:1613
 msgid "A repository name is required"
 msgstr "ਰਿਪੋਜ਼ਟਰੀ ਨਾਂ ਲੋੜੀਦਾ ਹੈ"
 
 #. TRANSLATORS: The user didn't provide any data
-#: ../client/pk-console.c:1622
+#: ../client/pk-console.c:1624
 msgid "A repo name, parameter and value are required"
 msgstr "ਰੈਪੋ ਨਾਂ, ਪੈਰਾਮੀਟਰ ਅਤੇ ਮੁੱਲ ਲੋੜੀਦਾ ਹੈ"
 
 #. TRANSLATORS: The user didn't specify what action to use
-#: ../client/pk-console.c:1639
+#: ../client/pk-console.c:1641
 msgid "An action, e.g. 'update-system' is required"
 msgstr "ਕਾਰਵਾਈ, ਜਿਵੇਂ 'ਅੱਪਡੇਟ-ਸਿਸਟਮ' ਲੋੜੀਦਾ ਹੈ"
 
 #. TRANSLATORS: The user specified an invalid action
-#: ../client/pk-console.c:1646
+#: ../client/pk-console.c:1648
 msgid "A correct role is required"
 msgstr "ਠੀਕ ਰੋਲ ਲੋੜੀਦਾ ਹੈ"
 
 #. TRANSLATORS: The user did not provide a package name
 #. TRANSLATORS: This is when the user fails to supply the package name
-#: ../client/pk-console.c:1656 ../client/pk-console.c:1670
-#: ../client/pk-console.c:1679 ../client/pk-console.c:1699
-#: ../client/pk-console.c:1708 ../client/pk-generate-pack.c:314
+#: ../client/pk-console.c:1658 ../client/pk-console.c:1672
+#: ../client/pk-console.c:1681 ../client/pk-console.c:1701
+#: ../client/pk-console.c:1710 ../client/pk-generate-pack.c:314
 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:1688
+#: ../client/pk-console.c:1690
 msgid "A package provide string is required"
 msgstr "ਪੈਕੇਜ ਦੇਣ ਵਾਲੀ ਸਤਰ ਲੋੜੀਦੀ ਹੈ"
 
 #. TRANSLATORS: The user did not provide a distro name
-#: ../client/pk-console.c:1732
+#: ../client/pk-console.c:1734
 msgid "A distribution name is required"
 msgstr "ਡਿਸਟਰੀਬਿਊਸ਼ਨ ਨਾਂ ਚਾਹੀਦਾ ਹੈ"
 
 #. TRANSLATORS: The user did not provide an upgrade type
-#: ../client/pk-console.c:1738
+#: ../client/pk-console.c:1740
 msgid "An upgrade type is required, e.g. 'minimal', 'default' or 'complete'"
 msgstr "ਅੱਪਗਰੇਡ ਕਿਸਮ ਚਾਹੀਦੀ ਹੈ, ਜਿਵੇਂ 'ਘੱਟੋ-ਘੱਟ', 'ਡਿਫਾਲਟ', ਜਾਂ 'ਪੂਰਾ'"
 
 #. TRANSLATORS: The user tried to use an unsupported option on the command
 #. line
-#: ../client/pk-console.c:1788
+#: ../client/pk-console.c:1795
 #, c-format
 msgid "Option '%s' is not supported"
 msgstr "ਚੋਣ '%s' ਸਹਾਇਕ ਨਹੀਂ ਹੈ"
 
 #. TRANSLATORS: Generic failure of what they asked to do
-#: ../client/pk-console.c:1798
+#: ../client/pk-console.c:1805
 msgid "Command failed"
 msgstr "ਕਮਾਂਡ ਫੇਲ੍ਹ ਹੈ"
 
 #. TRANSLATORS: we can exclude certain packages (glibc) when we know they'll
 #. exist on the target
-#: ../client/pk-generate-pack.c:253
+#: ../client/pk-generate-pack.c:252
 msgid "Set the file name of dependencies to be excluded"
 msgstr "ਨਿਰਭਰਤਾ ਲਈ ਫਾਇਲ ਨਾਂ ਦਿਓ, ਜਿਸ ਨੂੰ ਵੱਖ ਰੱਖਿਆ ਜਾਵੇ"
 
 #. TRANSLATORS: the output location
-#: ../client/pk-generate-pack.c:256
+#: ../client/pk-generate-pack.c:255
 msgid ""
 "The output file or directory (the current directory is used if omitted)"
-msgstr ""
-"ਆਉਟਪੁੱਟ ਫਾਇਲ ਜਾਂ ਡਾਇਰੈਕਟਰੀ (ਮੌਜੂਦਾ ਡਾਇਰੈਕਟਰੀ ਵਰਤੀ ਜਾਵੇਗੀ, ਜੇ ਨਾ ਦਿੱਤੀ)"
+msgstr "ਆਉਟਪੁੱਟ ਫਾਇਲ ਜਾਂ ਡਾਇਰੈਕਟਰੀ (ਮੌਜੂਦਾ ਡਾਇਰੈਕਟਰੀ ਵਰਤੀ ਜਾਵੇਗੀ, ਜੇ ਨਾ ਦਿੱਤੀ)"
 
 #. TRANSLATORS: put a list of packages in the pack
-#: ../client/pk-generate-pack.c:259
+#: ../client/pk-generate-pack.c:258
 msgid "The package to be put into the service pack"
 msgstr "ਸਰਵਿਸ ਪੈਕ ਵਿੱਚ ਰੱਖਣ ਵਾਸਤੇ ਪੈਕੇਜ"
 
 #. TRANSLATORS: put all pending updates in the pack
-#: ../client/pk-generate-pack.c:262
+#: ../client/pk-generate-pack.c:261
 msgid "Put all updates available in the service pack"
 msgstr "ਸਰਵਿਸ ਪੈਕ ਵਿੱਚ ਸਭ ਉਪਲੱਬਧ ਅੱਪਡੇਟ ਰੱਖੋ"
 
@@ -650,9 +642,7 @@ msgstr "ਪੈਕੇਜ ਮੈਨੇਜਰ ਇਸ ਕਿਸਮ ਦੀ ਕਾਰ
 msgid ""
 "Service packs cannot be created as PackageKit was not built with libarchive "
 "support."
-msgstr ""
-"ਸਰਵਿਸ ਪੈਕ ਨਹੀਂ ਬਣਾਇਆ ਜਾ ਸਕਦਾ, ਕਿਉਂਕਿ ਪੈਕੇਜਕਿੱਟ libarchive ਸਹਿਯੋਗ ਨਾਲ ਤਿਆਰ "
-"ਨਹੀਂ ਕੀਤਾ ਗਿਆ ਹੈ।"
+msgstr "ਸਰਵਿਸ ਪੈਕ ਨਹੀਂ ਬਣਾਇਆ ਜਾ ਸਕਦਾ, ਕਿਉਂਕਿ ਪੈਕੇਜਕਿੱਟ libarchive ਸਹਿਯੋਗ ਨਾਲ ਤਿਆਰ ਨਹੀਂ ਕੀਤਾ ਗਿਆ ਹੈ।"
 
 #. TRANSLATORS: the user specified an absolute path, but didn't get the
 #. extension correct
@@ -712,11 +702,11 @@ msgstr "ਸਰਵਿਸ ਪੈਕ ਬਣਾਇਆ '%s'"
 msgid "Failed to create '%s': %s"
 msgstr "'%s' ਬਣਾਉਣ ਲਈ ਫੇਲ੍ਹ: %s"
 
-#: ../client/pk-monitor.c:284
+#: ../client/pk-monitor.c:283
 msgid "Failed to get daemon state"
 msgstr "ਡੈਮਨ ਹਾਲਤ ਪਤਾ ਕਰਨ ਲਈ ਫੇਲ੍ਹ ਹੈ।"
 
-#: ../client/pk-monitor.c:349
+#: ../client/pk-monitor.c:348
 msgid "Failed to get properties"
 msgstr "ਵਿਸ਼ੇਸ਼ਤਾ ਲੈਣ ਲਈ ਫੇਲ੍ਹ ਹੈ"
 
@@ -787,8 +777,7 @@ msgstr "ਸਾਫਟਵੇਅਰ ਸਰੋਤਾਂ ਬਾਰੇ ਵੇਰਵਾ
 #. TRANSLATORS: downloading file lists so we can search
 #: ../contrib/command-not-found/pk-command-not-found.c:367
 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:371
@@ -823,58 +812,58 @@ msgstr "ਪੈਕੇਜ ਇੰਸਟਾਲ ਕਰਨ ਲਈ ਫੇਲ੍ਹ"
 #. TRANSLATORS: the prefix of all the output telling the user
 #. * why it's not executing. NOTE: this is lowercase to mimic
 #. * the style of bash itself -- apologies
-#: ../contrib/command-not-found/pk-command-not-found.c:723
+#: ../contrib/command-not-found/pk-command-not-found.c:725
 msgid "command not found"
 msgstr "ਕਮਾਂਡ ਨਹੀਂ ਲੱਭੀ"
 
 #. TRANSLATORS: tell the user what we think the command is
-#: ../contrib/command-not-found/pk-command-not-found.c:741
+#: ../contrib/command-not-found/pk-command-not-found.c:743
 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:755
+#: ../contrib/command-not-found/pk-command-not-found.c:757
 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:769
-#: ../contrib/command-not-found/pk-command-not-found.c:778
+#: ../contrib/command-not-found/pk-command-not-found.c:771
+#: ../contrib/command-not-found/pk-command-not-found.c:780
 msgid "Similar commands are:"
 msgstr "ਰਲਦੀਆਂ ਕਮਾਂਡਾਂ ਹਨ:"
 
 #. TRANSLATORS: ask the user to choose a file to run
-#: ../contrib/command-not-found/pk-command-not-found.c:785
+#: ../contrib/command-not-found/pk-command-not-found.c:787
 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:803
+#: ../contrib/command-not-found/pk-command-not-found.c:805
 msgid "The package providing this file is:"
 msgstr "ਪੈਕੇਜ ਇਹ ਫਾਇਲ ਦਿੰਦਾ ਹੈ:"
 
 #. TRANSLATORS: as the user if we want to install a package to provide the
 #. command
-#: ../contrib/command-not-found/pk-command-not-found.c:810
+#: ../contrib/command-not-found/pk-command-not-found.c:812
 #, c-format
 msgid "Install package '%s' to provide command '%s'?"
 msgstr "ਕਮਾਂਡ '%2$s' ਦੇਣ ਲਈ ਪੈਕੇਜ '%1$s' ਇੰਸਟਾਲ ਕਰਨਾ ਹੈ?"
 
 #. TRANSLATORS: Show the user a list of packages that provide this command
-#: ../contrib/command-not-found/pk-command-not-found.c:837
+#: ../contrib/command-not-found/pk-command-not-found.c:839
 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:847
+#: ../contrib/command-not-found/pk-command-not-found.c:849
 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:856
+#: ../contrib/command-not-found/pk-command-not-found.c:858
 msgid "Please choose a package to install"
 msgstr "ਇੰਸਟਾਲ ਕਰਨ ਲਈ ਪੈਕੇਜ ਚੁਣੋ ਜੀ"
 
@@ -894,8 +883,7 @@ msgstr "ਪੈਕੇਜ %s ਲੱਭਣ ਵਿੱਚ ਫੇਲ੍ਹ, ਜਾਂ
 #: ../contrib/debuginfo-install/pk-debuginfo-install.c:516
 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
@@ -909,172 +897,172 @@ msgid "Do not display information or progress"
 msgstr "ਜਾਣਕਾਰੀ ਜਾਂ ਤਰੱਕੀ ਨਾ ਵੇਖੋ"
 
 #. TRANSLATORS: tool that gets called when the command is not found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:540
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:542
 msgid "PackageKit Debuginfo Installer"
 msgstr "ਪੈਕੇਜਕਿੱਟ Debuginfo ਇੰਸਟਾਲਰ"
 
 #. TRANSLATORS: the use needs to specify a list of package names on the
 #. command line
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:554
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:556
 #, c-format
 msgid "ERROR: Specify package names to install."
 msgstr "ਗਲਤੀ: ਇੰਸਟਾਲ ਕਰਨ ਲਈ ਪੈਕੇਜ ਨਾਂ ਦਿਓ।"
 
 #. TRANSLATORS: we are getting the list of repositories
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:590
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:592
 #, c-format
 msgid "Getting sources list"
 msgstr "ਸਰੋਤ ਲਿਸਟ ਲਈ ਜਾ ਰਹੀ ਹੈ"
 
 #. TRANSLATORS: operation was not successful
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:600
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:675
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:759
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:803
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:870
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:914
+#: ../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: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 "ਠੀਕ ਹੈ।"
 
 #. 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 "%i ਯੋਗ ਅਤੇ %i ਅਯੋਗ ਸਰੋਤ ਲੱਭੇ ਹਨ।"
 
 #. 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 "ਡੀਬੱਗ ਸਰੋਤ ਲੱਭੇ  ਜਾ ਰਹੇ ਹਨ"
 
 #. 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 "%i ਆਯੋਗ debuginfo ਰਿਪੋ ਲੱਭੀਆਂ ਹਨ।"
 
 #. 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 "ਡੀਬੱਗਿ ਸਰੋਤ ਯੋਗ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"
 
 #. 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 "%i ਡੀਬੱਗ ਸਰੋਤ ਯੋਗ ਕੀਤਾ ਹੈ।"
 
 #. 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 "ਡੀਬੱਗ ਪੈਕੇਜ ਲੱਭੇ ਜਾ ਰਹੇ ਹਨ।"
 
 #. 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 "%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 "ਡੀਬੱਗ ਪੈਕੇਜ %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 "ਇੰਸਟਾਲ ਕਰਨ ਲਈ ਕੋਈ ਨਵਾਂ ਪੈਕੇਜ ਨਹੀਂ ਲੱਭਿਆ।"
 
 #. 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 "%i ਪੈਕੇਜ ਲੱਭੇ:"
 
 #. 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 "ਪੈਕੇਜ ਲੱਭੇ ਜਾ ਰਹੇ ਹਨ, ਜੋ ਇਹਨਾਂ ਪੈਕੇਜਾਂ ਤੇ ਨਿਰਭਰ ਕਰਦੇ ਹਨ"
 
 #. 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 "ਨਿਰਭਰ ਪੈਕੇਜ ਖੋਜ ਨਹੀਂ ਸਕਿਆ: %s"
+msgid "Could not find dependent packages: %s"
+msgstr "ਨਿਰਭਰਤ ਪੈਕੇਜ ਨਹੀਂ ਲੱਭਿਆ ਜਾ ਸਕਿਆ: %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 "%i ਵਾਧੂ ਪੈਕੇਜ ਲੱਭੇ ਹਨ।"
 
 #. 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 "ਕੋਈ ਵਾਧੂ ਪੈਕੇਜ ਨਹੀਂ ਲੋੜੀਂਦਾ ਹੈ।"
 
 #. 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 "ਇੰਸਟਾਲ ਕਰਨ ਲਈ %i ਪੈਕੇਜ ਲੱਭਿਆ ਹੈ:"
 
 #. 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 "ਸਿਮੂਲੇਟ ਮੋਡ ਵਿੱਚ ਪੈਕੇਜ ਇੰਸਟਾਲ ਨਹੀਂ ਕੀਤੇ ਜਾ ਰਹੇ ਹਨ"
 
 #. TRANSLATORS: we are now installing the debuginfo packages we found earlier
 #. TRANSLATORS: transaction state, installing packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:860
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:862
 #: ../lib/packagekit-glib2/pk-console-shared.c:331
 #, c-format
 msgid "Installing packages"
 msgstr "ਪੈਕੇਜ ਇੰਸਟਾਲ ਕੀਤੇ ਜਾ ਰਹੇ ਹਨ"
 
 #. 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 "ਪੈਕੇਜ ਇੰਸਟਾਲ ਨਹੀਂ ਕੀਤੇ ਜਾ ਸਕੇ: %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 "ਪਹਿਲਾਂ ਯੋਗ ਕੀਤੇ ਸਰੋਤ ਆਯੋਗ ਕੀਤੇ ਜਾ ਰਹੇ ਹਨ"
 
 #. 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 "ਡੀਬੱਗ ਸਰੋਤ ਨੂੰ ਅਯੋਗ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ: %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 "%i ਡੀਬੱਗ ਸਰੋਤ ਅਯੋਗ ਕੀਤੇ ਗਏ।"
@@ -1238,7 +1226,7 @@ msgstr "ਪੈਕੇਜ ਹਟਾਏ ਜਾ ਰਹੇ ਹਨ"
 #. TRANSLATORS: transaction state, downloading package files
 #. TRANSLATORS: The role of the transaction, in present tense
 #: ../lib/packagekit-glib2/pk-console-shared.c:327
-#: ../lib/packagekit-glib2/pk-console-shared.c:705
+#: ../lib/packagekit-glib2/pk-enum.c:1287
 msgid "Downloading packages"
 msgstr "ਪੈਕੇਜ ਡਾਊਨਲੋਡ ਕੀਤੇ ਜਾ ਰਹੇ ਹਨ"
 
@@ -1277,7 +1265,7 @@ 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:359
-#: ../lib/packagekit-glib2/pk-console-shared.c:665
+#: ../lib/packagekit-glib2/pk-enum.c:1247
 msgid "Rolling back"
 msgstr "ਰੋਲ ਬੈਕ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"
 
@@ -1392,281 +1380,281 @@ msgstr "ਵਰਤੋਂ ਅਧੀਨ ਲਾਇਬਰੇਰੀਆਂ ਦੀ ਜ
 msgid "Copying files"
 msgstr "ਫਾਇਲਾਂ ਕਾਪੀ ਕੀਤੀਆਂ ਜਾ ਰਹੀਆਂ ਹਨ"
 
+#. TRANSLATORS: turn on all debugging
+#: ../lib/packagekit-glib2/pk-debug.c:133
+msgid "Show debugging information for all files"
+msgstr "ਸਭ ਫਾਇਲਾਂ ਲਈ ਡੀਬੱਗ ਜਾਣਕਾਰੀ ਵੇਖੋ"
+
+#: ../lib/packagekit-glib2/pk-debug.c:201
+msgid "Debugging Options"
+msgstr "ਡੀਬੱਗਿੰਗ ਚੋਣਾਂ"
+
+#: ../lib/packagekit-glib2/pk-debug.c:201
+msgid "Show debugging options"
+msgstr "ਡੀਬੱਗਿੰਗ ਚੋਣਾਂ ਵੇਖੋ"
+
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:461
+#: ../lib/packagekit-glib2/pk-enum.c:1022
 msgid "Trivial"
 msgstr "ਛੋਟਾ"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:465
+#: ../lib/packagekit-glib2/pk-enum.c:1026
 msgid "Normal"
 msgstr "ਸਧਾਰਨ"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:469
+#: ../lib/packagekit-glib2/pk-enum.c:1030
 msgid "Important"
 msgstr "ਜ਼ਰੂਰੀ"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:473
+#: ../lib/packagekit-glib2/pk-enum.c:1034
 msgid "Security"
 msgstr "ਸੁਰੱਖਿਆ"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:477
+#: ../lib/packagekit-glib2/pk-enum.c:1038
 msgid "Bug fix "
 msgstr "ਬੱਗ ਫਿਕਸ "
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:481
+#: ../lib/packagekit-glib2/pk-enum.c:1042
 msgid "Enhancement"
 msgstr "ਸੋਧ"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:485
+#: ../lib/packagekit-glib2/pk-enum.c:1046
 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:490
-#: ../lib/packagekit-glib2/pk-console-shared.c:563
+#: ../lib/packagekit-glib2/pk-enum.c:1051
+#: ../lib/packagekit-glib2/pk-enum.c:1138
 msgid "Installed"
 msgstr "ਇੰਸਟਾਲ ਕੀਤੇ"
 
 #. TRANSLATORS: The state of a package, i.e. not installed
-#: ../lib/packagekit-glib2/pk-console-shared.c:495
+#: ../lib/packagekit-glib2/pk-enum.c:1056
 msgid "Available"
 msgstr "ਉਪਲੱਬਧ"
 
 #. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:513
+#: ../lib/packagekit-glib2/pk-enum.c:1081
 msgid "Downloading"
 msgstr "ਡਾਊਨਲੋਡ ਜਾਰੀ"
 
 #. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:517
+#: ../lib/packagekit-glib2/pk-enum.c:1085
 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:521
-#: ../lib/packagekit-glib2/pk-console-shared.c:641
+#: ../lib/packagekit-glib2/pk-enum.c:1089
+#: ../lib/packagekit-glib2/pk-enum.c:1223
 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:525
-#: ../lib/packagekit-glib2/pk-console-shared.c:637
+#: ../lib/packagekit-glib2/pk-enum.c:1093
+#: ../lib/packagekit-glib2/pk-enum.c:1219
 msgid "Removing"
 msgstr "ਹਟਾਇਆ ਜਾ ਰਿਹਾ ਹੈ"
 
 #. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:529
+#: ../lib/packagekit-glib2/pk-enum.c:1097
 msgid "Cleaning up"
 msgstr "ਸਾਫ਼ ਕਰਨਾ ਜਾਰੀ"
 
 #. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:533
+#: ../lib/packagekit-glib2/pk-enum.c:1101
 msgid "Obsoleting"
 msgstr "ਬਰਤਰ਼ਫ ਜਾਰੀ"
 
 #. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:537
+#: ../lib/packagekit-glib2/pk-enum.c:1105
 msgid "Reinstalling"
 msgstr "ਮੁੜ-ਇੰਸਟਾਲ ਕਰਨਾ ਜਾਰੀ"
 
 #. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:555
+#: ../lib/packagekit-glib2/pk-enum.c:1130
 msgid "Downloaded"
 msgstr "ਡਾਊਨਲੋਡ ਕੀਤੇ"
 
 #. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:567
+#: ../lib/packagekit-glib2/pk-enum.c:1142
 msgid "Removed"
 msgstr "ਹਟਾਏ ਗਏ ਹਨ"
 
 #. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:571
+#: ../lib/packagekit-glib2/pk-enum.c:1146
 msgid "Cleaned up"
 msgstr "ਸਾਫ਼ ਕੀਤੇ"
 
 #. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:575
+#: ../lib/packagekit-glib2/pk-enum.c:1150
 msgid "Obsoleted"
 msgstr "ਬਰਤਰਫ਼ ਕੀਤੇ"
 
 #. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:579
+#: ../lib/packagekit-glib2/pk-enum.c:1154
 msgid "Reinstalled"
 msgstr "ਮੁੜ-ਇੰਸਟਾਲ ਕੀਤੇ"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:597
+#: ../lib/packagekit-glib2/pk-enum.c:1179
 msgid "Unknown role type"
 msgstr "ਅਣਜਾਣ ਰੋਲ ਕਿਸਮ"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:601
+#: ../lib/packagekit-glib2/pk-enum.c:1183
 msgid "Getting dependencies"
 msgstr "ਨਿਰਭਰਤਾ ਲਈ ਜਾ ਰਹੀ ਹੈ"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:605
+#: ../lib/packagekit-glib2/pk-enum.c:1187
 msgid "Getting update details"
 msgstr "ਅੱਪਡੇਟ ਜਾਣਕਾਰੀ ਲਈ ਜਾ ਰਹੀ ਹੈ"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:609
+#: ../lib/packagekit-glib2/pk-enum.c:1191
 msgid "Getting details"
 msgstr "ਵੇਰਵਾ ਲਿਆ ਜਾ ਰਿਹਾ ਹੈ"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:613
+#: ../lib/packagekit-glib2/pk-enum.c:1195
 msgid "Getting requires"
 msgstr "ਲੋੜੀਦੇ ਪੈਕੇਜ ਲਏ ਜਾ ਰਹੇ ਹਨ"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:617
+#: ../lib/packagekit-glib2/pk-enum.c:1199
 msgid "Getting updates"
 msgstr "ਅੱਪਡੇਟ ਲਏ ਜਾ ਰਹੇ ਹਨ"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:621
+#: ../lib/packagekit-glib2/pk-enum.c:1203
 msgid "Searching by details"
 msgstr "ਵੇਰਵੇ ਮੁਤਾਬਕ ਖੋਜ ਜਾਰੀ"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:625
+#: ../lib/packagekit-glib2/pk-enum.c:1207
 msgid "Searching by file"
 msgstr "ਫਾਇਲ ਮੁਤਾਬਕ ਖੋਜ ਜਾਰੀ"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:629
+#: ../lib/packagekit-glib2/pk-enum.c:1211
 msgid "Searching groups"
 msgstr "ਗਰੁੱਪ ਮੁਤਾਬਕ ਖੋਜ ਜਾਰੀ"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:633
+#: ../lib/packagekit-glib2/pk-enum.c:1215
 msgid "Searching by name"
 msgstr "ਨਾਂ ਮੁਤਾਬਕ ਖੋਜ ਜਾਰੀ"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:645
+#: ../lib/packagekit-glib2/pk-enum.c:1227
 msgid "Installing files"
 msgstr "ਫਾਇਲਾਂ ਇੰਸਟਾਲ ਕੀਤੀਆਂ ਜਾ ਰਹੀਆਂ ਹਨ"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:649
+#: ../lib/packagekit-glib2/pk-enum.c:1231
 msgid "Refreshing cache"
 msgstr "ਕੈਸ਼ ਮੁੜ-ਤਾਜ਼ਾ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:653
+#: ../lib/packagekit-glib2/pk-enum.c:1235
 msgid "Updating packages"
 msgstr "ਪੈਕੇਜ ਅੱਪਡੇਟ ਕੀਤੇ ਜਾ ਰਹੇ ਹਨ"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:657
+#: ../lib/packagekit-glib2/pk-enum.c:1239
 msgid "Updating system"
 msgstr "ਸਿਸਟਮ ਅੱਪਡੇਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:661
+#: ../lib/packagekit-glib2/pk-enum.c:1243
 msgid "Canceling"
 msgstr "ਰੱਦ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:669
+#: ../lib/packagekit-glib2/pk-enum.c:1251
 msgid "Getting repositories"
 msgstr "ਰਿਪੋਜ਼ਟਰੀ ਲਈ ਜਾ ਰਹੀ ਹੈ"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:673
+#: ../lib/packagekit-glib2/pk-enum.c:1255
 msgid "Enabling repository"
 msgstr "ਰਿਪੋਜ਼ਟਰੀ ਚਾਲੂ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:677
+#: ../lib/packagekit-glib2/pk-enum.c:1259
 msgid "Setting data"
 msgstr "ਡਾਟਾ ਸੈੱਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:681
+#: ../lib/packagekit-glib2/pk-enum.c:1263
 msgid "Resolving"
 msgstr "ਹੱਲ਼ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:685
+#: ../lib/packagekit-glib2/pk-enum.c:1267
 msgid "Getting file list"
 msgstr "ਫਾਇਲ ਲਿਸਟ ਲਈ ਜਾ ਰਹੀ ਹੈ"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:689
+#: ../lib/packagekit-glib2/pk-enum.c:1271
 msgid "Getting provides"
 msgstr "ਦੇਣ ਵਾਲੇ ਪੈਕੇਜ ਲਏ ਜਾ ਰਹੇ ਹਨ"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:693
+#: ../lib/packagekit-glib2/pk-enum.c:1275
 msgid "Installing signature"
 msgstr "ਦਸਤਖਤ ਇੰਸਟਾਲ ਕੀਤੇ ਜਾ ਰਹੇ ਹਨ"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:697
+#: ../lib/packagekit-glib2/pk-enum.c:1279
 msgid "Getting packages"
 msgstr "ਪੈਕੇਜ ਲਏ ਜਾ ਰਹੇ ਹਨ"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:701
+#: ../lib/packagekit-glib2/pk-enum.c:1283
 msgid "Accepting EULA"
 msgstr "EULA ਮਨਜ਼ੂਰ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:709
+#: ../lib/packagekit-glib2/pk-enum.c:1291
 msgid "Getting upgrades"
 msgstr "ਅੱਪਗਰੇਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:713
+#: ../lib/packagekit-glib2/pk-enum.c:1295
 msgid "Getting categories"
 msgstr "ਕੈਟਾਗਰੀਆਂ ਲਈਆਂ ਜਾ ਰਹੀਆਂ ਹਨ"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:717
+#: ../lib/packagekit-glib2/pk-enum.c:1299
 msgid "Getting transactions"
 msgstr "ਟਰਾਂਸੈਕਸ਼ਨਾਂ ਲਈ ਜਾ ਰਹੀਆਂ ਹਨ"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:721
-#: ../lib/packagekit-glib2/pk-console-shared.c:725
+#: ../lib/packagekit-glib2/pk-enum.c:1303
+#: ../lib/packagekit-glib2/pk-enum.c:1307
 msgid "Simulating install"
 msgstr "ਇੰਸਟਾਲ ਕਰਨ ਦੀ ਨਕਲ ਜਾਰੀ"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:729
+#: ../lib/packagekit-glib2/pk-enum.c:1311
 msgid "Simulating remove"
 msgstr "ਹਟਾਉਣ ਦੀ ਨਕਲ ਜਾਰੀ"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:733
+#: ../lib/packagekit-glib2/pk-enum.c:1315
 msgid "Simulating update"
 msgstr "ਅੱਪਡੇਟ ਦੀ ਨਕਲ ਜਾਰੀ"
 
-#. TRANSLATORS: turn on all debugging
-#: ../lib/packagekit-glib2/pk-debug.c:133
-msgid "Show debugging information for all files"
-msgstr "ਸਭ ਫਾਇਲਾਂ ਲਈ ਡੀਬੱਗ ਜਾਣਕਾਰੀ ਵੇਖੋ"
-
-#: ../lib/packagekit-glib2/pk-debug.c:201
-msgid "Debugging Options"
-msgstr "ਡੀਬੱਗਿੰਗ ਚੋਣਾਂ"
-
-#: ../lib/packagekit-glib2/pk-debug.c:201
-msgid "Show debugging options"
-msgstr "ਡੀਬੱਗਿੰਗ ਚੋਣਾਂ ਵੇਖੋ"
-
 #. TRANSLATORS: ask the user if they are comfortable installing insecure
 #. packages
 #: ../lib/packagekit-glib2/pk-task-text.c:67
@@ -1849,8 +1837,7 @@ msgstr "ਪੈਕੇਜ ਡੀਕੰਪਰੈੱਸ ਕਰਨ ਲਈ ਟਿਕ
 msgid ""
 "Authentication is required to consider a key used for signing packages as "
 "trusted"
-msgstr ""
-"ਪੈਕੇਜ ਟਰੱਸਟ ਕੀਤਾ ਬਣਾਉਣ ਲਈ ਸਾਈਨ ਵਾਸਤੇ ਕੁੰਜੀ ਸ਼ਾਮਲ ਕਰਨ ਲਈ ਪਰਮਾਣਕਿਤਾ ਦੀ ਲੋੜ ਹੈ"
+msgstr "ਪੈਕੇਜ ਟਰੱਸਟ ਕੀਤਾ ਬਣਾਉਣ ਲਈ ਸਾਈਨ ਵਾਸਤੇ ਕੁੰਜੀ ਸ਼ਾਮਲ ਕਰਨ ਲਈ ਪਰਮਾਣਕਿਤਾ ਦੀ ਲੋੜ ਹੈ"
 
 #: ../policy/org.freedesktop.packagekit.policy.in.h:13
 msgid "Authentication is required to install a signed package"
@@ -1873,21 +1860,24 @@ msgid "Authentication is required to remove packages"
 msgstr "ਪੈਕੇਜ ਹਟਾਉਣ ਲਈ ਪਰਮਾਣਕਿਤਾ ਦੀ ਲੋੜ ਹੈ"
 
 #: ../policy/org.freedesktop.packagekit.policy.in.h:18
+msgid "Authentication is required to repair the installed software"
+msgstr "ਇੰਸਟਾਲ ਹੋਏ ਸਾਫਟਵੇਅਰ ਨੂੰ ਰਿਪੇਅਰ ਕਰਨ ਲਈ ਪਰਮਾਣਕਿਤਾ ਚਾਹੀਦੀ ਹੈ"
+
+#: ../policy/org.freedesktop.packagekit.policy.in.h:19
 msgid "Authentication is required to rollback a transaction"
 msgstr "ਟਰਾਂਸੈਕਸ਼ਨ ਰੋਲਬੈਕ ਕਰਨ ਲਈ ਪਰਮਾਣਕਿਤਾ ਦੀ ਲੋੜ ਹੈ"
 
-#: ../policy/org.freedesktop.packagekit.policy.in.h:19
+#: ../policy/org.freedesktop.packagekit.policy.in.h:20
 msgid ""
 "Authentication is required to set the network proxy used for downloading "
 "packages"
-msgstr ""
-"ਪੈਕੇਜ ਡਾਊਨਲੋਡ ਕਰਨ ਵਾਸਤੇ ਨੈੱਟਵਰਕ ਪਰਾਕਸੀ ਸੈੱਟ ਕਰਨ ਲਈ ਪਰਮਾਣਕਿਤਾ ਦੀ ਲੋੜ ਹੈ"
+msgstr "ਪੈਕੇਜ ਡਾਊਨਲੋਡ ਕਰਨ ਵਾਸਤੇ ਨੈੱਟਵਰਕ ਪਰਾਕਸੀ ਸੈੱਟ ਕਰਨ ਲਈ ਪਰਮਾਣਕਿਤਾ ਦੀ ਲੋੜ ਹੈ"
 
-#: ../policy/org.freedesktop.packagekit.policy.in.h:20
+#: ../policy/org.freedesktop.packagekit.policy.in.h:21
 msgid "Authentication is required to update packages"
 msgstr "ਪੈਕੇਜ ਅੱਪਡੇਟ ਕਰਨ ਵਾਸਤੇ ਪਰਮਾਣਕਿਤਾ ਦੀ ਲੋੜ ਹੈ"
 
-#: ../policy/org.freedesktop.packagekit.policy.in.h:21
+#: ../policy/org.freedesktop.packagekit.policy.in.h:22
 msgid "Authentication is required to upgrade the operating system"
 msgstr "ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ ਅੱਪਗਰੇਡ ਕਰਨ ਲਈ ਪਰਮਾਣਿਤ ਹੋਣ ਦੀ ਲੋੜ ਹੈ"
 
@@ -1896,7 +1886,7 @@ msgstr "ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ ਅੱਪਗਰੇਡ ਕਰਨ
 #. authentication, but a different user id needs the admin password
 #. to cancel another users task.
 #. 
-#: ../policy/org.freedesktop.packagekit.policy.in.h:27
+#: ../policy/org.freedesktop.packagekit.policy.in.h:28
 msgid "Cancel foreign task"
 msgstr "ਬਾਹਰੀ ਟਾਸਕ ਰੱਦ ਕਰੋ"
 
@@ -1906,7 +1896,7 @@ msgstr "ਬਾਹਰੀ ਟਾਸਕ ਰੱਦ ਕਰੋ"
 #. - This could be used to overwrite files not owned by the user using
 #. a carefully created package file.
 #. 
-#: ../policy/org.freedesktop.packagekit.policy.in.h:34
+#: ../policy/org.freedesktop.packagekit.policy.in.h:35
 msgid "Change location that packages are installed"
 msgstr "ਟਿਕਾਣਾ ਬਦਲੋ, ਜਿੱਥੇ ਪੈਕੇਜ ਇੰਸਟਾਲ ਕੀਤੇ ਜਾਂਦੇ ਹਨ"
 
@@ -1915,7 +1905,7 @@ msgstr "ਟਿਕਾਣਾ ਬਦਲੋ, ਜਿੱਥੇ ਪੈਕੇਜ ਇੰ
 #. software sources as this can be used to enable new updates or
 #. install different versions of software.
 #. 
-#: ../policy/org.freedesktop.packagekit.policy.in.h:40
+#: ../policy/org.freedesktop.packagekit.policy.in.h:41
 msgid "Change software source parameters"
 msgstr "ਸਾਫਟਵੇਅਰ ਸਰੋਤ ਪੈਰਾਮੀਟਰ ਬਦਲੋ"
 
@@ -1925,7 +1915,7 @@ msgstr "ਸਾਫਟਵੇਅਰ ਸਰੋਤ ਪੈਰਾਮੀਟਰ ਬਦਲ
 #. - Paranoid users (or parents!) can change this to 'auth_admin' or
 #. 'auth_admin_keep'.
 #. 
-#: ../policy/org.freedesktop.packagekit.policy.in.h:47
+#: ../policy/org.freedesktop.packagekit.policy.in.h:48
 msgid "Install signed package"
 msgstr "ਸਾਈਨ ਕੀਤੇ ਪੈਕੇਜ ਇੰਸਟਾਲ"
 
@@ -1935,7 +1925,7 @@ msgstr "ਸਾਈਨ ਕੀਤੇ ਪੈਕੇਜ ਇੰਸਟਾਲ"
 #. password would be a massive security hole.
 #. - This is not retained as each package should be authenticated.
 #. 
-#: ../policy/org.freedesktop.packagekit.policy.in.h:54
+#: ../policy/org.freedesktop.packagekit.policy.in.h:55
 msgid "Install untrusted local file"
 msgstr "ਅਣ-ਟਰੱਸਟ ਲੋਕਲ ਫਾਇਲ ਇੰਸਟਾਲ"
 
@@ -1943,7 +1933,7 @@ msgstr "ਅਣ-ਟਰੱਸਟ ਲੋਕਲ ਫਾਇਲ ਇੰਸਟਾਲ"
 #. - Normal users do not require admin authentication to refresh the
 #. cache, as this doesn't actually install or remove software.
 #. 
-#: ../policy/org.freedesktop.packagekit.policy.in.h:59
+#: ../policy/org.freedesktop.packagekit.policy.in.h:60
 msgid "Refresh system sources"
 msgstr "ਸਿਸਟਮ ਸਰੋਤ ਤਾਜ਼ਾ ਕਰੋ"
 
@@ -1954,7 +1944,7 @@ msgstr "ਸਿਸਟਮ ਸਰੋਤ ਤਾਜ਼ਾ ਕਰੋ"
 #. try to rebind drivers in use, for instance security authentication
 #. devices.
 #. 
-#: ../policy/org.freedesktop.packagekit.policy.in.h:67
+#: ../policy/org.freedesktop.packagekit.policy.in.h:68
 msgid "Reload a device"
 msgstr "ਜੰਤਰ ਮੁੜ-ਲੋਡ ਕਰੋ"
 
@@ -1967,16 +1957,25 @@ msgstr "ਜੰਤਰ ਮੁੜ-ਲੋਡ ਕਰੋ"
 #. be removed. If this is not possible, change this authentication to
 #. 'auth_admin'.
 #. 
-#: ../policy/org.freedesktop.packagekit.policy.in.h:77
+#: ../policy/org.freedesktop.packagekit.policy.in.h:78
 msgid "Remove package"
 msgstr "ਪੈਕੇਜ ਹਟਾਓ"
 
 #. SECURITY:
+#. - Normal users require admin authentication to repair the system
+#. since this can make the system unbootable or stop other
+#. applications from working.
+#. 
+#: ../policy/org.freedesktop.packagekit.policy.in.h:84
+msgid "Repair System"
+msgstr "ਸਿਸਟਮ ਰਿਪੇਅਰ"
+
+#. SECURITY:
 #. - Normal users require admin authentication to rollback system state
 #. as this will change a large number of packages, and could expose the
 #. system to previously patched security vulnerabilities.
 #. 
-#: ../policy/org.freedesktop.packagekit.policy.in.h:83
+#: ../policy/org.freedesktop.packagekit.policy.in.h:90
 msgid "Rollback to a previous transaction"
 msgstr "ਪਿਛਲੀ ਟਰਾਂਸੈਕਸ਼ਨ ਰੋਲ-ਬੈਕ ਕਰੋ"
 
@@ -1984,7 +1983,7 @@ msgstr "ਪਿਛਲੀ ਟਰਾਂਸੈਕਸ਼ਨ ਰੋਲ-ਬੈਕ ਕ
 #. - Normal users do not require admin authentication to set the proxy
 #. used for downloading packages.
 #. 
-#: ../policy/org.freedesktop.packagekit.policy.in.h:88
+#: ../policy/org.freedesktop.packagekit.policy.in.h:95
 msgid "Set network proxy"
 msgstr "ਨੈੱਟਵਰਕ ਪਰਾਕਸੀ ਸੈੱਟ ਕਰੋ"
 
@@ -1994,7 +1993,7 @@ msgstr "ਨੈੱਟਵਰਕ ਪਰਾਕਸੀ ਸੈੱਟ ਕਰੋ"
 #. without a secure authentication.
 #. - This is not kept as each package should be authenticated.
 #. 
-#: ../policy/org.freedesktop.packagekit.policy.in.h:95
+#: ../policy/org.freedesktop.packagekit.policy.in.h:102
 msgid "Trust a key used for signing packages"
 msgstr "ਪੈਕੇਜ ਸਾਈਨ ਲਈ ਵਰਤੀ ਕੁੰਜੀ ਉੱਤੇ ਟਰੱਸਟ"
 
@@ -2005,7 +2004,7 @@ msgstr "ਪੈਕੇਜ ਸਾਈਨ ਲਈ ਵਰਤੀ ਕੁੰਜੀ ਉੱ
 #. - Changing this to anything other than 'yes' will break unattended
 #. updates.
 #. 
-#: ../policy/org.freedesktop.packagekit.policy.in.h:103
+#: ../policy/org.freedesktop.packagekit.policy.in.h:110
 msgid "Update packages"
 msgstr "ਪੈਕੇਜ ਅੱਪਡੇਟ"
 
@@ -2014,7 +2013,7 @@ msgstr "ਪੈਕੇਜ ਅੱਪਡੇਟ"
 #. this can make the system unbootable or stop other applications from
 #. working.
 #. 
-#: ../policy/org.freedesktop.packagekit.policy.in.h:109
+#: ../policy/org.freedesktop.packagekit.policy.in.h:116
 msgid "Upgrade System"
 msgstr "ਸਿਸਟਮ ਅੱਪਗਰੇਡ ਕਰੋ"
 
@@ -2063,24 +2062,22 @@ msgid "Failed to load any of the specified backends:"
 msgstr "ਕਿਸੇ ਵੀ ਦਿੱਤੇ ਬੈਕਐਂਡ ਨੂੰ ਲੋਡ ਕਰਨ ਲਈ ਫੇਲ੍ਹ ਹੈ:"
 
 #. TRANSLATORS: is not GPG signed
-#: ../src/pk-transaction.c:2696
+#: ../src/pk-transaction.c:2972
 msgid "The software is not from a trusted source."
 msgstr "ਸਾਫਟਵੇਅਰ ਇੱਕ ਭਰੋਸੇਯੋਗ ਸਰੋਤ ਤੋਂ ਨਹੀਂ ਹੈ।"
 
-#: ../src/pk-transaction.c:2704
+#: ../src/pk-transaction.c:2980
 msgid "Do not update this package unless you are sure it is safe to do so."
 msgstr "ਇਸ ਪੈਕੇਜ ਨੂੰ ਅੱਪਡੇਟ ਨਾ ਕਰੋ, ਜਦੋਂ ਤੱਕ ਤੁਹਾਨੂੰ ਇਸ ਬਾਰੇ ਪਤਾ ਨਹੀਂ।"
 
-#: ../src/pk-transaction.c:2705
+#: ../src/pk-transaction.c:2981
 msgid "Do not update these packages unless you are sure it is safe to do so."
 msgstr "ਇਹਨਾਂ ਪੈਕੇਜਾਂ ਨੂੰ ਅੱਪਡੇਟ ਨਾ ਕਰੋ, ਜਦੋਂ ਤੱਕ ਤੁਹਾਨੂੰ ਇਸ ਬਾਰੇ ਪਤਾ ਨਹੀਂ।"
 
-#: ../src/pk-transaction.c:2715
+#: ../src/pk-transaction.c:2991
 msgid "Do not install this package unless you are sure it is safe to do so."
 msgstr "ਇਸ ਪੈਕੇਜ ਨੂੰ ਇੰਸਟਾਲ ਨਾ ਕਰੋ, ਜਦੋਂ ਤੱਕ ਤੁਹਾਨੂੰ ਇਸ ਬਾਰੇ ਪਤਾ ਨਹੀਂ।"
 
-#: ../src/pk-transaction.c:2716
+#: ../src/pk-transaction.c:2992
 msgid "Do not install these packages unless you are sure it is safe to do so."
 msgstr "ਇਹਨਾਂ ਪੈਕੇਜਾਂ ਨੂੰ ਇੰਸਟਾਲ ਨਾ ਕਰੋ, ਜਦੋਂ ਤੱਕ ਤੁਹਾਨੂੰ ਇਸ ਬਾਰੇ ਪਤਾ ਨਹੀਂ।"
-
-
diff --git a/po/ru.po b/po/ru.po
index a3e12aa..0f1ca08 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -5,7 +5,7 @@
 # Translators:
 # Alexey Kostyuk <unitoff at gmail.com>, 2009.
 # Ivan Ignatyev <ivan.ignatyev at auditory.ru>, 2008, 2009.
-# Misha Shnurapet <shnurapet at fedoraproject.org>, 2011.
+# Misha Shnurapet <shnurapet at fedoraproject.org>, 2011, 2012.
 # Misha Shnurapet <zayzayats at yandex.ru>, 2010.
 # Richard Hughes <richard at hughsie.com>, 2011.
 # Yulia <ypoyarko at redhat.com>, 2009.
@@ -16,10 +16,10 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PackageKit\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-09-05 16:58+0100\n"
-"PO-Revision-Date: 2011-10-08 12:15+0000\n"
-"Last-Translator: shnurapet <shnurapet at fedoraproject.org>\n"
-"Language-Team: Russian (http://www.transifex.net/projects/p/freedesktop/team/ru/)\n"
+"POT-Creation-Date: 2012-01-17 12:15+0000\n"
+"PO-Revision-Date: 2012-02-17 01:51+0000\n"
+"Last-Translator: Misha Shnurapet <shnurapet at fedoraproject.org>\n"
+"Language-Team: Russian (http://www.transifex.net/projects/p/freedesktop/language/ru/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -28,114 +28,114 @@ msgstr ""
 
 #. TRANSLATORS: this is an atomic transaction
 #. TRANSLATORS: the role is the point of the transaction, e.g. update-system
-#: ../client/pk-console.c:174 ../client/pk-console.c:596
+#: ../client/pk-console.c:173 ../client/pk-console.c:595
 msgid "Transaction"
 msgstr "Операция"
 
 #. TRANSLATORS: this is the time the transaction was started in system
 #. timezone
-#: ../client/pk-console.c:176
+#: ../client/pk-console.c:175
 msgid "System time"
 msgstr "Системное время"
 
 #. TRANSLATORS: this is if the transaction succeeded or not
-#: ../client/pk-console.c:178
+#: ../client/pk-console.c:177
 msgid "Succeeded"
 msgstr "Успешно"
 
-#: ../client/pk-console.c:178
+#: ../client/pk-console.c:177
 msgid "True"
 msgstr "Истина"
 
-#: ../client/pk-console.c:178
+#: ../client/pk-console.c:177
 msgid "False"
 msgstr "Ложь"
 
 #. TRANSLATORS: this is the transactions role, e.g. "update-system"
-#: ../client/pk-console.c:180
+#: ../client/pk-console.c:179
 msgid "Role"
 msgstr "Роль"
 
 #. TRANSLATORS: this is The duration of the transaction
-#: ../client/pk-console.c:185
+#: ../client/pk-console.c:184
 msgid "Duration"
 msgstr "Продолжительность"
 
-#: ../client/pk-console.c:185
+#: ../client/pk-console.c:184
 msgid "(seconds)"
 msgstr "(секунды)"
 
 #. TRANSLATORS: this is The command line used to do the action
-#: ../client/pk-console.c:189
+#: ../client/pk-console.c:188
 msgid "Command line"
 msgstr "Командная строка"
 
 #. TRANSLATORS: this is the user ID of the user that started the action
-#: ../client/pk-console.c:191
+#: ../client/pk-console.c:190
 msgid "User ID"
 msgstr "Идентификатор пользователя"
 
 #. TRANSLATORS: this is the username, e.g. hughsie
-#: ../client/pk-console.c:198
+#: ../client/pk-console.c:197
 msgid "Username"
 msgstr "Имя пользователя"
 
 #. TRANSLATORS: this is the users real name, e.g. "Richard Hughes"
-#: ../client/pk-console.c:202
+#: ../client/pk-console.c:201
 msgid "Real name"
 msgstr "Настоящее имя"
 
-#: ../client/pk-console.c:210
+#: ../client/pk-console.c:209
 msgid "Affected packages:"
 msgstr "Затронутые пакеты:"
 
-#: ../client/pk-console.c:212
+#: ../client/pk-console.c:211
 msgid "Affected packages: None"
 msgstr "Затронутые пакеты: Нет"
 
 #. TRANSLATORS: this is the distro, e.g. Fedora 10
-#: ../client/pk-console.c:247
+#: ../client/pk-console.c:246
 msgid "Distribution"
 msgstr "Дистрибутив"
 
 #. TRANSLATORS: this is type of update, stable or testing
-#: ../client/pk-console.c:249
+#: ../client/pk-console.c:248
 msgid "Type"
 msgstr "Вид"
 
 #. TRANSLATORS: this is any summary text describing the upgrade
 #. TRANSLATORS: this is the summary of the group
-#: ../client/pk-console.c:251 ../client/pk-console.c:290
+#: ../client/pk-console.c:250 ../client/pk-console.c:289
 msgid "Summary"
 msgstr "Суммарно"
 
 #. TRANSLATORS: this is the group category name
-#: ../client/pk-console.c:279
+#: ../client/pk-console.c:278
 msgid "Category"
 msgstr "Категория"
 
 #. TRANSLATORS: this is group identifier
-#: ../client/pk-console.c:281
+#: ../client/pk-console.c:280
 msgid "ID"
 msgstr "Идентификатор"
 
 #. TRANSLATORS: this is the parent group
-#: ../client/pk-console.c:284
+#: ../client/pk-console.c:283
 msgid "Parent"
 msgstr "Родитель"
 
 #. TRANSLATORS: this is the name of the parent group
-#: ../client/pk-console.c:287
+#: ../client/pk-console.c:286
 msgid "Name"
 msgstr "Имя"
 
 #. TRANSLATORS: this is preferred icon for the group
-#: ../client/pk-console.c:293
+#: ../client/pk-console.c:292
 msgid "Icon"
 msgstr "Значок"
 
 #. TRANSLATORS: this is a header for the package that can be updated
-#: ../client/pk-console.c:339
+#: ../client/pk-console.c:338
 msgid "Details about the update:"
 msgstr "Подробности об обновлении:"
 
@@ -143,7 +143,7 @@ msgstr "Подробности об обновлении:"
 #. 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
-#: ../client/pk-console.c:345 ../client/pk-console.c:615
+#: ../client/pk-console.c:344 ../client/pk-console.c:614
 #: ../lib/packagekit-glib2/pk-task-text.c:124
 #: ../lib/packagekit-glib2/pk-task-text.c:206
 msgid "Package"
@@ -151,218 +151,212 @@ msgstr "Пакеты"
 
 #. TRANSLATORS: details about the update, any packages that this update
 #. updates
-#: ../client/pk-console.c:348
+#: ../client/pk-console.c:347
 msgid "Updates"
 msgstr "Обновления"
 
 #. TRANSLATORS: details about the update, any packages that this update
 #. obsoletes
-#: ../client/pk-console.c:352
+#: ../client/pk-console.c:351
 msgid "Obsoletes"
 msgstr "Устаревшие"
 
 #. TRANSLATORS: details about the update, the vendor URLs
 #. TRANSLATORS: the vendor (e.g. vmware) that is providing the EULA
-#: ../client/pk-console.c:356 ../lib/packagekit-glib2/pk-task-text.c:209
+#: ../client/pk-console.c:355 ../lib/packagekit-glib2/pk-task-text.c:209
 msgid "Vendor"
 msgstr "Поставщик"
 
 #. TRANSLATORS: details about the update, the bugzilla URLs
-#: ../client/pk-console.c:360
+#: ../client/pk-console.c:359
 msgid "Bugzilla"
 msgstr "Система отслеживания ошибок Bugzilla"
 
 #. TRANSLATORS: details about the update, the CVE URLs
-#: ../client/pk-console.c:364
+#: ../client/pk-console.c:363
 msgid "CVE"
 msgstr "CVE"
 
 #. TRANSLATORS: details about the update, if the package requires a restart
-#: ../client/pk-console.c:368
+#: ../client/pk-console.c:367
 msgid "Restart"
 msgstr "Перезапуск"
 
 #. TRANSLATORS: details about the update, any description of the update
-#: ../client/pk-console.c:372
+#: ../client/pk-console.c:371
 msgid "Update text"
 msgstr "Описание"
 
 #. TRANSLATORS: details about the update, the changelog for the package
-#: ../client/pk-console.c:376
+#: ../client/pk-console.c:375
 msgid "Changes"
 msgstr "Изменения"
 
 #. TRANSLATORS: details about the update, the ongoing state of the update
-#: ../client/pk-console.c:380
+#: ../client/pk-console.c:379
 msgid "State"
 msgstr "Состояние"
 
 #. TRANSLATORS: details about the update, date the update was issued
-#: ../client/pk-console.c:384
+#: ../client/pk-console.c:383
 msgid "Issued"
 msgstr "Выпущено"
 
 #. TRANSLATORS: details about the update, date the update was updated
 #. TRANSLATORS: The action of the package, in past tense
-#: ../client/pk-console.c:388 ../lib/packagekit-glib2/pk-console-shared.c:524
+#: ../client/pk-console.c:387 ../lib/packagekit-glib2/pk-enum.c:1134
 msgid "Updated"
 msgstr "Обновлено"
 
 #. TRANSLATORS: if the repo is enabled
-#: ../client/pk-console.c:424
+#: ../client/pk-console.c:423
 msgid "Enabled"
 msgstr "Включено"
 
 #. TRANSLATORS: if the repo is disabled
-#: ../client/pk-console.c:427
+#: ../client/pk-console.c:426
 msgid "Disabled"
 msgstr "Выключено"
 
 #. TRANSLATORS: a package requires the system to be restarted
-#: ../client/pk-console.c:459
+#: ../client/pk-console.c:458
 msgid "System restart required by:"
 msgstr "Необходим перезапуск системы для:"
 
 #. TRANSLATORS: a package requires the session to be restarted
-#: ../client/pk-console.c:462
+#: ../client/pk-console.c:461
 msgid "Session restart required:"
 msgstr "Необходим перезапуск сеанса:"
 
 #. TRANSLATORS: a package requires the system to be restarted due to a
 #. security update
-#: ../client/pk-console.c:465
+#: ../client/pk-console.c:464
 msgid "System restart (security) required by:"
 msgstr "Необходим перезапуск системы (безопасность) для:"
 
 #. TRANSLATORS: a package requires the session to be restarted due to a
 #. security update
-#: ../client/pk-console.c:468
+#: ../client/pk-console.c:467
 msgid "Session restart (security) required:"
 msgstr "Необходим перезапуск сеанса (безопасность):"
 
 #. TRANSLATORS: a package requires the application to be restarted
-#: ../client/pk-console.c:471
+#: ../client/pk-console.c:470
 msgid "Application restart required by:"
 msgstr "Необходим перезапуск приложения для:"
 
 #. TRANSLATORS: This a list of details about the package
-#: ../client/pk-console.c:506
+#: ../client/pk-console.c:505
 msgid "Package description"
 msgstr "Описание пакета"
 
 #. TRANSLATORS: This a message (like a little note that may be of interest)
 #. from the transaction
-#: ../client/pk-console.c:537
+#: ../client/pk-console.c:536
 msgid "Message:"
 msgstr "Сообщение:"
 
 #. TRANSLATORS: This where the package has no files
-#: ../client/pk-console.c:558
+#: ../client/pk-console.c:557
 msgid "No files"
 msgstr "Нет файлов"
 
 #. TRANSLATORS: This a list files contained in the package
-#: ../client/pk-console.c:563
+#: ../client/pk-console.c:562
 msgid "Package files"
 msgstr "Файлы пакета"
 
 #. TRANSLATORS: the percentage complete of the transaction
-#: ../client/pk-console.c:631
+#: ../client/pk-console.c:630
 msgid "Percentage"
 msgstr "Проценты"
 
 #. TRANSLATORS: the status of the transaction (e.g. downloading)
-#: ../client/pk-console.c:649
+#: ../client/pk-console.c:648
 msgid "Status"
 msgstr "Состояние"
 
 #. TRANSLATORS: the results from the transaction
-#: ../client/pk-console.c:678
+#: ../client/pk-console.c:677
 msgid "Results:"
 msgstr "Результаты:"
 
 #. TRANSLATORS: we failed to get any results, which is pretty fatal in my book
-#: ../client/pk-console.c:685
+#: ../client/pk-console.c:684
 msgid "Fatal error"
 msgstr "Серьезная ошибка"
 
 #. TRANSLATORS: the user asked to update everything, but there is nothing that
 #. can be updated
-#: ../client/pk-console.c:701
+#: ../client/pk-console.c:700
 msgid "There are no packages to update."
 msgstr "Нет пакетов для обновления."
 
 #. TRANSLATORS: the transaction failed in a way we could not expect
-#: ../client/pk-console.c:704
+#: ../client/pk-console.c:703
 #: ../contrib/command-not-found/pk-command-not-found.c:634
 msgid "The transaction failed"
 msgstr "Действие не удалось"
 
 #. TRANSLATORS: print a message when there are no updates
-#: ../client/pk-console.c:733
+#: ../client/pk-console.c:732
 msgid "There are no updates available at this time."
 msgstr "В данный момент обновления отсутствуют."
 
-#: ../client/pk-console.c:756
+#: ../client/pk-console.c:755
 msgid "There are no upgrades available at this time."
 msgstr "В данный момент обновления отсутствуют."
 
 #. TRANSLATORS: a package needs to restart their system
-#: ../client/pk-console.c:823
+#: ../client/pk-console.c:822
 msgid "Please restart the computer to complete the update."
 msgstr "Перезагрузите компьютер, чтобы завершить обновление."
 
 #. TRANSLATORS: a package needs to restart the session
-#: ../client/pk-console.c:826
+#: ../client/pk-console.c:825
 msgid "Please logout and login to complete the update."
 msgstr "Пожалуйста, перезайдите в систему, чтобы завершить обновление."
 
 #. TRANSLATORS: a package needs to restart their system (due to security)
-#: ../client/pk-console.c:829
+#: ../client/pk-console.c:828
 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:832
+#: ../client/pk-console.c:831
 msgid ""
 "Please logout and login to complete the update as important security updates"
 " have been installed."
-msgstr ""
-"Пожалуйста, перезайдите в систему, чтобы завершить установку обновления "
-"безопасности."
+msgstr "Пожалуйста, перезайдите в систему, чтобы завершить установку обновления безопасности."
 
 #. TRANSLATORS: The user used 'pkcon install dave.rpm' rather than 'pkcon
 #. install-local dave.rpm'
-#: ../client/pk-console.c:858
+#: ../client/pk-console.c:857
 #, c-format
 msgid ""
 "Expected package name, actually got file. Try using 'pkcon install-local %s'"
 " instead."
-msgstr ""
-"Ожидалось имя пакета, а получено имя файла. Попробуйте вместо этого "
-"использовать «pkcon install-local %s»."
+msgstr "Ожидалось имя пакета, а получено имя файла. Попробуйте вместо этого использовать «pkcon install-local %s»."
 
 #. TRANSLATORS: There was an error getting the list of files for the package.
 #. The detailed error follows
-#: ../client/pk-console.c:866
+#: ../client/pk-console.c:870
 #, c-format
 msgid "This tool could not find any available package: %s"
 msgstr "Не найдено доступного пакета: %s"
 
 #. TRANSLATORS: There was an error getting the list of files for the package.
 #. The detailed error follows
-#: ../client/pk-console.c:894
+#: ../client/pk-console.c:898
 #, c-format
 msgid "This tool could not find the installed package: %s"
 msgstr "Не найдено установленного пакета: %s"
 
 #. TRANSLATORS: There was an error getting the list of files for the package.
 #. The detailed error follows
-#: ../client/pk-console.c:922 ../client/pk-console.c:950
+#: ../client/pk-console.c:926 ../client/pk-console.c:954
 #, c-format
 msgid "This tool could not find the package: %s"
 msgstr "Невозможно найти пакет: %s"
@@ -375,250 +369,245 @@ msgstr "Невозможно найти пакет: %s"
 #. detailed error follows
 #. TRANSLATORS: The package name was not found in any software sources. The
 #. detailed error follows
-#: ../client/pk-console.c:978 ../client/pk-console.c:1006
-#: ../client/pk-console.c:1034 ../client/pk-console.c:1062
-#: ../client/pk-console.c:1090
+#: ../client/pk-console.c:982 ../client/pk-console.c:1010
+#: ../client/pk-console.c:1038 ../client/pk-console.c:1066
+#: ../client/pk-console.c:1094
 #, c-format
 msgid "This tool could not find all the packages: %s"
 msgstr "Невозможно найти все пакеты: %s"
 
 #. TRANSLATORS: This is when the daemon crashed, and we are up shit creek
 #. without a paddle
-#: ../client/pk-console.c:1119
+#: ../client/pk-console.c:1123
 msgid "The daemon crashed mid-transaction!"
 msgstr "Служба рухнула в ходе выполнения!"
 
 #. TRANSLATORS: This is the header to the --help menu
-#: ../client/pk-console.c:1153
+#: ../client/pk-console.c:1157
 msgid "PackageKit Console Interface"
 msgstr "Консольный интерфейс PackageKit"
 
 #. these are commands we can use with pkcon
-#: ../client/pk-console.c:1155
+#: ../client/pk-console.c:1159
 msgid "Subcommands:"
 msgstr "Подкоманды:"
 
 #. TRANSLATORS: we keep a database updated with the time that an action was
 #. last executed
-#: ../client/pk-console.c:1235
+#: ../client/pk-console.c:1241
 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:1277 ../client/pk-monitor.c:371
+#: ../client/pk-console.c:1283 ../client/pk-monitor.c:370
 msgid "Show the program version and exit"
 msgstr "Показать версию программы и выйти"
 
 #. TRANSLATORS: command line argument, use a filter to narrow down results
-#: ../client/pk-console.c:1280
+#: ../client/pk-console.c:1286
 msgid "Set the filter, e.g. installed"
 msgstr "Задать фильтр, к примеру, на установленные"
 
 #. TRANSLATORS: command line argument, use a non-standard install prefix
-#: ../client/pk-console.c:1283
+#: ../client/pk-console.c:1289
 msgid "Set the install root, e.g. '/' or '/mnt/ltsp'"
 msgstr "Укажите корневой каталог установки, например, «/». or «/mnt/ltsp»."
 
 #. TRANSLATORS: command line argument, work asynchronously
-#: ../client/pk-console.c:1286
+#: ../client/pk-console.c:1292
 msgid "Exit without waiting for actions to complete"
 msgstr "Выйти, не ожидая завершения задач"
 
 #. command line argument, do we ask questions
-#: ../client/pk-console.c:1289
+#: ../client/pk-console.c:1295
 #: ../contrib/debuginfo-install/pk-debuginfo-install.c:525
 msgid "Install the packages without asking for confirmation"
 msgstr "Установить пакеты, не спрашивая подтверждения"
 
 #. TRANSLATORS: command line argument, this command is not a priority
-#: ../client/pk-console.c:1292
+#: ../client/pk-console.c:1298
 msgid "Run the command using idle network bandwidth and also using less power"
-msgstr ""
-"Выполнить команду, используя свободную часть канала, и при меньшей энергии"
+msgstr "Выполнить команду, используя свободную часть канала, и при меньшей энергии"
 
 #. TRANSLATORS: command line argument, just output without fancy formatting
-#: ../client/pk-console.c:1295
+#: ../client/pk-console.c:1301
 msgid ""
 "Print to screen a machine readable output, rather than using animated "
 "widgets"
 msgstr "Вывести на экран в простом формате без анимации элементов"
 
 #. TRANSLATORS: command line argument, just output without fancy formatting
-#: ../client/pk-console.c:1298
+#: ../client/pk-console.c:1304
 msgid "The maximum metadata cache age. Use -1 for 'never'."
-msgstr ""
-"Максимальное время хранения данных в кэше. Используйте -1 для «никогда»."
+msgstr "Максимальное время хранения данных в кэше. Используйте -1 для «никогда»."
 
 #. TRANSLATORS: command line argument, --help
-#: ../client/pk-console.c:1301
+#: ../client/pk-console.c:1307
 msgid "Show help options."
 msgstr "Показать справку по параметрам."
 
 #. TRANSLATORS: we failed to contact the daemon
-#: ../client/pk-console.c:1331
+#: ../client/pk-console.c:1338
 msgid "Failed to parse command line"
 msgstr "Не удалось разобрать данные командной строки"
 
 #. TRANSLATORS: we failed to contact the daemon
-#: ../client/pk-console.c:1341
+#: ../client/pk-console.c:1348
 msgid "Failed to contact PackageKit"
 msgstr "Не удалось соединиться с PackageKit"
 
 #. TRANSLATORS: The user specified an incorrect filter
-#: ../client/pk-console.c:1394
+#: ../client/pk-console.c:1401
 msgid "The proxy could not be set"
 msgstr "Не удалось установить параметры прокси-сервера"
 
 #. TRANSLATORS: The user specified an incorrect filter
-#: ../client/pk-console.c:1406
+#: ../client/pk-console.c:1413
 msgid "The install root could not be set"
 msgstr "Не удалось задать корневой каталог для установки"
 
 #. TRANSLATORS: The user specified an incorrect filter
-#: ../client/pk-console.c:1418
+#: ../client/pk-console.c:1425
 msgid "The filter specified was invalid"
 msgstr "Указанный фильтр не верен"
 
 #. TRANSLATORS: a search type can be name, details, file, etc
-#: ../client/pk-console.c:1437
+#: ../client/pk-console.c:1444
 msgid "A search type is required, e.g. name"
 msgstr "Укажите вид поиска, например, по имени"
 
 #. TRANSLATORS: the user needs to provide a search term
-#: ../client/pk-console.c:1444 ../client/pk-console.c:1456
-#: ../client/pk-console.c:1468 ../client/pk-console.c:1480
+#: ../client/pk-console.c:1451 ../client/pk-console.c:1463
+#: ../client/pk-console.c:1475 ../client/pk-console.c:1487
 msgid "A search term is required"
 msgstr "Необходимо поисковое слово"
 
 #. TRANSLATORS: the search type was provided, but invalid
-#: ../client/pk-console.c:1490
+#: ../client/pk-console.c:1497
 msgid "Invalid search type"
 msgstr "Неверный вид поиска"
 
 #. TRANSLATORS: the user did not specify what they wanted to install
-#: ../client/pk-console.c:1496
+#: ../client/pk-console.c:1503
 msgid "A package name to install is required"
 msgstr "Необходимо название устанавливаемого пакета"
 
 #. TRANSLATORS: the user did not specify what they wanted to install
-#: ../client/pk-console.c:1505
+#: ../client/pk-console.c:1512
 msgid "A filename to install is required"
 msgstr "Необходимо имя устанавливаемого файла"
 
 #. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:1516
+#: ../client/pk-console.c:1523
 msgid "A type, key_id and package_id are required"
 msgstr "Требуется указать тип, key_id или package_id"
 
 #. TRANSLATORS: the user did not specify what they wanted to remove
-#: ../client/pk-console.c:1527
+#: ../client/pk-console.c:1534
 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:1536
+#: ../client/pk-console.c:1543
 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:1543
+#: ../client/pk-console.c:1550
 msgid "Directory not found"
 msgstr "Каталог не найден"
 
 #. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:1552
+#: ../client/pk-console.c:1559
 msgid "A licence identifier (eula-id) is required"
 msgstr "Необходим идентификатор лицензии (eula-id)"
 
 #. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:1563
+#: ../client/pk-console.c:1570
 msgid "A transaction identifier (tid) is required"
 msgstr "Необходим номер операции (tid)"
 
 #. TRANSLATORS: The user did not specify a package name
-#: ../client/pk-console.c:1584
+#: ../client/pk-console.c:1591
 msgid "A package name to resolve is required"
 msgstr "Необходимо название пакета для сопоставления"
 
 #. TRANSLATORS: The user did not specify a repository (software source) name
-#: ../client/pk-console.c:1595 ../client/pk-console.c:1606
+#: ../client/pk-console.c:1602 ../client/pk-console.c:1613
 msgid "A repository name is required"
 msgstr "Необходимо название репозитория"
 
 #. TRANSLATORS: The user didn't provide any data
-#: ../client/pk-console.c:1617
+#: ../client/pk-console.c:1624
 msgid "A repo name, parameter and value are required"
 msgstr "Необходимо указать имя, параметр и значение репозитория"
 
 #. TRANSLATORS: The user didn't specify what action to use
-#: ../client/pk-console.c:1634
+#: ../client/pk-console.c:1641
 msgid "An action, e.g. 'update-system' is required"
 msgstr "Необходимо действие, например 'update-system'"
 
 #. TRANSLATORS: The user specified an invalid action
-#: ../client/pk-console.c:1641
+#: ../client/pk-console.c:1648
 msgid "A correct role is required"
 msgstr "Необходимо указать роль"
 
 #. TRANSLATORS: The user did not provide a package name
 #. TRANSLATORS: This is when the user fails to supply the package name
-#: ../client/pk-console.c:1651 ../client/pk-console.c:1665
-#: ../client/pk-console.c:1674 ../client/pk-console.c:1694
-#: ../client/pk-console.c:1703 ../client/pk-generate-pack.c:314
+#: ../client/pk-console.c:1658 ../client/pk-console.c:1672
+#: ../client/pk-console.c:1681 ../client/pk-console.c:1701
+#: ../client/pk-console.c:1710 ../client/pk-generate-pack.c:314
 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:1683
+#: ../client/pk-console.c:1690
 msgid "A package provide string is required"
 msgstr "Необходима строка, указывающая на пакет"
 
 #. TRANSLATORS: The user did not provide a distro name
-#: ../client/pk-console.c:1727
+#: ../client/pk-console.c:1734
 msgid "A distribution name is required"
 msgstr "Требуется название дистрибутива"
 
 #. TRANSLATORS: The user did not provide an upgrade type
-#: ../client/pk-console.c:1733
+#: ../client/pk-console.c:1740
 msgid "An upgrade type is required, e.g. 'minimal', 'default' or 'complete'"
-msgstr ""
-"Требуется тип обновления, то есть, «минимальное», «по умолчанию» или "
-"«полное»"
+msgstr "Требуется тип обновления, то есть, «минимальное», «по умолчанию» или «полное»"
 
 #. TRANSLATORS: The user tried to use an unsupported option on the command
 #. line
-#: ../client/pk-console.c:1783
+#: ../client/pk-console.c:1795
 #, c-format
 msgid "Option '%s' is not supported"
 msgstr "Опция '%s' не поддерживается"
 
 #. TRANSLATORS: Generic failure of what they asked to do
-#: ../client/pk-console.c:1793
+#: ../client/pk-console.c:1805
 msgid "Command failed"
 msgstr "Действие не удалось"
 
 #. TRANSLATORS: we can exclude certain packages (glibc) when we know they'll
 #. exist on the target
-#: ../client/pk-generate-pack.c:253
+#: ../client/pk-generate-pack.c:252
 msgid "Set the file name of dependencies to be excluded"
 msgstr "Укажите имена файлов зависимостей, которые требуется исключить"
 
 #. TRANSLATORS: the output location
-#: ../client/pk-generate-pack.c:256
+#: ../client/pk-generate-pack.c:255
 msgid ""
 "The output file or directory (the current directory is used if omitted)"
-msgstr ""
-"Выходной файл или каталог (если не указано, то используется текущий каталог)"
+msgstr "Выходной файл или каталог (если не указано, то используется текущий каталог)"
 
 #. TRANSLATORS: put a list of packages in the pack
-#: ../client/pk-generate-pack.c:259
+#: ../client/pk-generate-pack.c:258
 msgid "The package to be put into the service pack"
 msgstr "Пакет для пометки частью сервисного обновления"
 
 #. TRANSLATORS: put all pending updates in the pack
-#: ../client/pk-generate-pack.c:262
+#: ../client/pk-generate-pack.c:261
 msgid "Put all updates available in the service pack"
 msgstr "Отнести все доступные обновления с сервисным"
 
@@ -657,9 +646,7 @@ msgstr "Менеджер пакетов не может выполнить по
 msgid ""
 "Service packs cannot be created as PackageKit was not built with libarchive "
 "support."
-msgstr ""
-"Сервисное обновление не создано, потому что PackageKit собран без поддержки "
-"libarchive."
+msgstr "Сервисное обновление не создано, потому что PackageKit собран без поддержки libarchive."
 
 #. TRANSLATORS: the user specified an absolute path, but didn't get the
 #. extension correct
@@ -719,11 +706,11 @@ msgstr "Служебное обновление готово '%s'"
 msgid "Failed to create '%s': %s"
 msgstr "Не удалось создать '%s': %s"
 
-#: ../client/pk-monitor.c:284
+#: ../client/pk-monitor.c:283
 msgid "Failed to get daemon state"
 msgstr "Не удалось получить состояние службы"
 
-#: ../client/pk-monitor.c:349
+#: ../client/pk-monitor.c:348
 msgid "Failed to get properties"
 msgstr "Не удалось получить свойства"
 
@@ -829,58 +816,58 @@ msgstr "Не удалось установить пакеты"
 #. TRANSLATORS: the prefix of all the output telling the user
 #. * why it's not executing. NOTE: this is lowercase to mimic
 #. * the style of bash itself -- apologies
-#: ../contrib/command-not-found/pk-command-not-found.c:723
+#: ../contrib/command-not-found/pk-command-not-found.c:725
 msgid "command not found"
 msgstr "команда не найдена"
 
 #. TRANSLATORS: tell the user what we think the command is
-#: ../contrib/command-not-found/pk-command-not-found.c:741
+#: ../contrib/command-not-found/pk-command-not-found.c:743
 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:755
+#: ../contrib/command-not-found/pk-command-not-found.c:757
 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:769
-#: ../contrib/command-not-found/pk-command-not-found.c:778
+#: ../contrib/command-not-found/pk-command-not-found.c:771
+#: ../contrib/command-not-found/pk-command-not-found.c:780
 msgid "Similar commands are:"
 msgstr "Аналогичные команды:"
 
 #. TRANSLATORS: ask the user to choose a file to run
-#: ../contrib/command-not-found/pk-command-not-found.c:785
+#: ../contrib/command-not-found/pk-command-not-found.c:787
 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:803
+#: ../contrib/command-not-found/pk-command-not-found.c:805
 msgid "The package providing this file is:"
 msgstr "Этот пакет предоставляется этим файлом:"
 
 #. TRANSLATORS: as the user if we want to install a package to provide the
 #. command
-#: ../contrib/command-not-found/pk-command-not-found.c:810
+#: ../contrib/command-not-found/pk-command-not-found.c:812
 #, 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:837
+#: ../contrib/command-not-found/pk-command-not-found.c:839
 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:847
+#: ../contrib/command-not-found/pk-command-not-found.c:849
 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:856
+#: ../contrib/command-not-found/pk-command-not-found.c:858
 msgid "Please choose a package to install"
 msgstr "Пожалуйста, выберите пакет для установки:"
 
@@ -914,173 +901,172 @@ msgid "Do not display information or progress"
 msgstr "Не отображать информацию о прогрессе."
 
 #. TRANSLATORS: tool that gets called when the command is not found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:540
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:542
 msgid "PackageKit Debuginfo Installer"
 msgstr "PackageKit отчёт об ошибках установки"
 
 #. TRANSLATORS: the use needs to specify a list of package names on the
 #. command line
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:554
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:556
 #, c-format
 msgid "ERROR: Specify package names to install."
 msgstr "Ошибка: Укажите пакет или файл для установки"
 
 #. TRANSLATORS: we are getting the list of repositories
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:590
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:592
 #, c-format
 msgid "Getting sources list"
 msgstr "Получение списка источников"
 
 #. TRANSLATORS: operation was not successful
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:600
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:675
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:759
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:803
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:870
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:914
+#: ../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: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 "Найдено %i включенных и %i отключенных источников."
 
 #. 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 "Поиск отладочных источников"
 
 #. 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 ""
-"Найдено %i отключенных репозиториев с описанием отладочной информации."
+msgstr "Найдено %i отключенных репозиториев с описанием отладочной информации."
 
 #. 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 "Включение отладочного источника."
 
 #. 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 "Включено %i отладочных источников."
 
 #. 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 "Поиск отладочных пакетов"
 
 #. 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 "Не удалось найти пакет %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 "Не удалось найти отладочную информацию для пакета %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 "Нет пакетов, нуждающихся в установке"
 
 #. 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 "Найдено %i пакетов"
 
 #. 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 "Поиск пакетов, которые зависят от этих пакетов."
 
 #. 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 "Не удалось найти зависимости пакетов: %s"
+msgid "Could not find dependent packages: %s"
+msgstr "Не удалось найти зависимые пакеты: %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 "Найдено %i дополнительных пакетов."
 
 #. 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 "Не содержит дополнительных пакетов"
 
 #. 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 "Найдено %i пакетов для установки:"
 
 #. 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 "В режиме симуляции пакеты не устанавливаются."
 
 #. 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:296
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:862
+#: ../lib/packagekit-glib2/pk-console-shared.c:331
 #, c-format
 msgid "Installing packages"
 msgstr "Установка пакетов"
 
 #. 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 "Невозможно установить пакеты: %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 "Отключение ранее включённых источников."
 
 #. 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 "Не возможно отключить отладочный источник: %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 "Отключено %i отладочных источников."
@@ -1189,490 +1175,490 @@ msgstr "Список пакетов PackageKit"
 msgid "PackageKit Service Pack"
 msgstr "Пакет обновления PackageKit"
 
-#: ../lib/packagekit-glib2/pk-console-shared.c:64
+#: ../lib/packagekit-glib2/pk-console-shared.c:65
 #, c-format
 msgid "Please enter a number from 1 to %i: "
 msgstr "Пожалуйста, введите число от 1 до %i"
 
 #. TRANSLATORS: more than one package could be found that matched, to follow
 #. is a list of possible packages
-#: ../lib/packagekit-glib2/pk-console-shared.c:198
+#: ../lib/packagekit-glib2/pk-console-shared.c:233
 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:209
+#: ../lib/packagekit-glib2/pk-console-shared.c:244
 msgid "Please choose the correct package: "
 msgstr "Пожалуйста, выберите корректный пакет:"
 
 #. TRANSLATORS: This is when the transaction status is not known
-#: ../lib/packagekit-glib2/pk-console-shared.c:264
+#: ../lib/packagekit-glib2/pk-console-shared.c:299
 msgid "Unknown state"
 msgstr "Неизвестное состояние"
 
 #. TRANSLATORS: transaction state, the daemon is in the process of starting
-#: ../lib/packagekit-glib2/pk-console-shared.c:268
+#: ../lib/packagekit-glib2/pk-console-shared.c:303
 msgid "Starting"
 msgstr "Начало"
 
 #. TRANSLATORS: transaction state, the transaction is waiting for another to
 #. complete
-#: ../lib/packagekit-glib2/pk-console-shared.c:272
+#: ../lib/packagekit-glib2/pk-console-shared.c:307
 msgid "Waiting in queue"
 msgstr "Ожидание в очереди"
 
 #. TRANSLATORS: transaction state, just started
-#: ../lib/packagekit-glib2/pk-console-shared.c:276
+#: ../lib/packagekit-glib2/pk-console-shared.c:311
 msgid "Running"
 msgstr "Выполнение"
 
 #. TRANSLATORS: transaction state, is querying data
-#: ../lib/packagekit-glib2/pk-console-shared.c:280
+#: ../lib/packagekit-glib2/pk-console-shared.c:315
 msgid "Querying"
 msgstr "Запрос"
 
 #. TRANSLATORS: transaction state, getting data from a server
-#: ../lib/packagekit-glib2/pk-console-shared.c:284
+#: ../lib/packagekit-glib2/pk-console-shared.c:319
 msgid "Getting information"
 msgstr "Получение информации"
 
 #. TRANSLATORS: transaction state, removing packages
-#: ../lib/packagekit-glib2/pk-console-shared.c:288
+#: ../lib/packagekit-glib2/pk-console-shared.c:323
 msgid "Removing packages"
 msgstr "Удаление пакета"
 
 #. TRANSLATORS: transaction state, downloading package files
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:292
-#: ../lib/packagekit-glib2/pk-console-shared.c:670
+#: ../lib/packagekit-glib2/pk-console-shared.c:327
+#: ../lib/packagekit-glib2/pk-enum.c:1287
 msgid "Downloading packages"
 msgstr "Загрузка пакетов"
 
 #. TRANSLATORS: transaction state, refreshing internal lists
-#: ../lib/packagekit-glib2/pk-console-shared.c:300
+#: ../lib/packagekit-glib2/pk-console-shared.c:335
 msgid "Refreshing software list"
 msgstr "Обновление списка пакетов"
 
 #. TRANSLATORS: transaction state, installing updates
-#: ../lib/packagekit-glib2/pk-console-shared.c:304
+#: ../lib/packagekit-glib2/pk-console-shared.c:339
 msgid "Installing updates"
 msgstr "Установка обновлений"
 
 #. TRANSLATORS: transaction state, removing old packages, and cleaning config
 #. files
-#: ../lib/packagekit-glib2/pk-console-shared.c:308
+#: ../lib/packagekit-glib2/pk-console-shared.c:343
 msgid "Cleaning up packages"
 msgstr "Очистка пакетов"
 
 #. TRANSLATORS: transaction state, obsoleting old packages
-#: ../lib/packagekit-glib2/pk-console-shared.c:312
+#: ../lib/packagekit-glib2/pk-console-shared.c:347
 msgid "Obsoleting packages"
 msgstr "Устаревшие пакеты"
 
 #. TRANSLATORS: transaction state, checking the transaction before we do it
-#: ../lib/packagekit-glib2/pk-console-shared.c:316
+#: ../lib/packagekit-glib2/pk-console-shared.c:351
 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:320
+#: ../lib/packagekit-glib2/pk-console-shared.c:355
 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:324
-#: ../lib/packagekit-glib2/pk-console-shared.c:630
+#: ../lib/packagekit-glib2/pk-console-shared.c:359
+#: ../lib/packagekit-glib2/pk-enum.c:1247
 msgid "Rolling back"
 msgstr "Отмена действий"
 
 #. TRANSLATORS: transaction state, when we're doing a test transaction
-#: ../lib/packagekit-glib2/pk-console-shared.c:328
+#: ../lib/packagekit-glib2/pk-console-shared.c:363
 msgid "Testing changes"
 msgstr "Проверка изменений"
 
 #. TRANSLATORS: transaction state, when we're writing to the system package
 #. database
-#: ../lib/packagekit-glib2/pk-console-shared.c:332
+#: ../lib/packagekit-glib2/pk-console-shared.c:367
 msgid "Committing changes"
 msgstr "Применение изменений"
 
 #. TRANSLATORS: transaction state, requesting data from a server
-#: ../lib/packagekit-glib2/pk-console-shared.c:336
+#: ../lib/packagekit-glib2/pk-console-shared.c:371
 msgid "Requesting data"
 msgstr "Запрос данных"
 
 #. TRANSLATORS: transaction state, all done!
-#: ../lib/packagekit-glib2/pk-console-shared.c:340
+#: ../lib/packagekit-glib2/pk-console-shared.c:375
 msgid "Finished"
 msgstr "Завершено"
 
 #. TRANSLATORS: transaction state, in the process of cancelling
-#: ../lib/packagekit-glib2/pk-console-shared.c:344
+#: ../lib/packagekit-glib2/pk-console-shared.c:379
 msgid "Cancelling"
 msgstr "Прерывание"
 
 #. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:348
+#: ../lib/packagekit-glib2/pk-console-shared.c:383
 msgid "Downloading repository information"
 msgstr "Загрузка информации из репозитория"
 
 #. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:352
+#: ../lib/packagekit-glib2/pk-console-shared.c:387
 msgid "Downloading list of packages"
 msgstr "Загрузка списка пакетов"
 
 #. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:356
+#: ../lib/packagekit-glib2/pk-console-shared.c:391
 msgid "Downloading file lists"
 msgstr "Загрузка списка файлов"
 
 #. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:360
+#: ../lib/packagekit-glib2/pk-console-shared.c:395
 msgid "Downloading lists of changes"
 msgstr "Загрузка списка изменений"
 
 #. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:364
+#: ../lib/packagekit-glib2/pk-console-shared.c:399
 msgid "Downloading groups"
 msgstr "Загрузка групп"
 
 #. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:368
+#: ../lib/packagekit-glib2/pk-console-shared.c:403
 msgid "Downloading update information"
 msgstr "Загрузка информации об обновлении"
 
 #. TRANSLATORS: transaction state, repackaging delta files
-#: ../lib/packagekit-glib2/pk-console-shared.c:372
+#: ../lib/packagekit-glib2/pk-console-shared.c:407
 msgid "Repackaging files"
 msgstr "Повторная сборка файлов"
 
 #. TRANSLATORS: transaction state, loading databases
-#: ../lib/packagekit-glib2/pk-console-shared.c:376
+#: ../lib/packagekit-glib2/pk-console-shared.c:411
 msgid "Loading cache"
 msgstr "Загрузка в память"
 
 #. TRANSLATORS: transaction state, scanning for running processes
-#: ../lib/packagekit-glib2/pk-console-shared.c:380
+#: ../lib/packagekit-glib2/pk-console-shared.c:415
 msgid "Scanning applications"
 msgstr "Сканирование приложений"
 
 #. TRANSLATORS: transaction state, generating a list of packages installed on
 #. the system
-#: ../lib/packagekit-glib2/pk-console-shared.c:384
+#: ../lib/packagekit-glib2/pk-console-shared.c:419
 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:388
+#: ../lib/packagekit-glib2/pk-console-shared.c:423
 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:392
+#: ../lib/packagekit-glib2/pk-console-shared.c:427
 msgid "Waiting for authentication"
 msgstr "Ожидание авторизации"
 
 #. TRANSLATORS: transaction state, we are updating the list of processes
-#: ../lib/packagekit-glib2/pk-console-shared.c:396
+#: ../lib/packagekit-glib2/pk-console-shared.c:431
 msgid "Updating running applications"
 msgstr "Обновление запущенных приложений"
 
 #. TRANSLATORS: transaction state, we are checking executable files currently
 #. in use
-#: ../lib/packagekit-glib2/pk-console-shared.c:400
+#: ../lib/packagekit-glib2/pk-console-shared.c:435
 msgid "Checking applications in use"
 msgstr "Поиск занятых приложений"
 
 #. TRANSLATORS: transaction state, we are checking for libraries currently in
 #. use
-#: ../lib/packagekit-glib2/pk-console-shared.c:404
+#: ../lib/packagekit-glib2/pk-console-shared.c:439
 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:408
+#: ../lib/packagekit-glib2/pk-console-shared.c:443
 msgid "Copying files"
 msgstr "Копирование файлов"
 
+#. TRANSLATORS: turn on all debugging
+#: ../lib/packagekit-glib2/pk-debug.c:133
+msgid "Show debugging information for all files"
+msgstr "Показать отладочную информацию для всех файлов"
+
+#: ../lib/packagekit-glib2/pk-debug.c:201
+msgid "Debugging Options"
+msgstr "Параметры отладки"
+
+#: ../lib/packagekit-glib2/pk-debug.c:201
+msgid "Show debugging options"
+msgstr "Показать параметры отладки"
+
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:426
+#: ../lib/packagekit-glib2/pk-enum.c:1022
 msgid "Trivial"
 msgstr "Незначительное"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:430
+#: ../lib/packagekit-glib2/pk-enum.c:1026
 msgid "Normal"
 msgstr "Обычное"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:434
+#: ../lib/packagekit-glib2/pk-enum.c:1030
 msgid "Important"
 msgstr "Важное"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:438
+#: ../lib/packagekit-glib2/pk-enum.c:1034
 msgid "Security"
 msgstr "Безопасность"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:442
+#: ../lib/packagekit-glib2/pk-enum.c:1038
 msgid "Bug fix "
 msgstr "Устранение ошибок"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:446
+#: ../lib/packagekit-glib2/pk-enum.c:1042
 msgid "Enhancement"
 msgstr "Усовершенствование"
 
 #. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:450
+#: ../lib/packagekit-glib2/pk-enum.c:1046
 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:455
-#: ../lib/packagekit-glib2/pk-console-shared.c:528
+#: ../lib/packagekit-glib2/pk-enum.c:1051
+#: ../lib/packagekit-glib2/pk-enum.c:1138
 msgid "Installed"
 msgstr "Установленный"
 
 #. TRANSLATORS: The state of a package, i.e. not installed
-#: ../lib/packagekit-glib2/pk-console-shared.c:460
+#: ../lib/packagekit-glib2/pk-enum.c:1056
 msgid "Available"
 msgstr "Доступный"
 
 #. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:478
+#: ../lib/packagekit-glib2/pk-enum.c:1081
 msgid "Downloading"
 msgstr "Загрузка"
 
 #. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:482
+#: ../lib/packagekit-glib2/pk-enum.c:1085
 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:486
-#: ../lib/packagekit-glib2/pk-console-shared.c:606
+#: ../lib/packagekit-glib2/pk-enum.c:1089
+#: ../lib/packagekit-glib2/pk-enum.c:1223
 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:490
-#: ../lib/packagekit-glib2/pk-console-shared.c:602
+#: ../lib/packagekit-glib2/pk-enum.c:1093
+#: ../lib/packagekit-glib2/pk-enum.c:1219
 msgid "Removing"
 msgstr "Удаление"
 
 #. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:494
+#: ../lib/packagekit-glib2/pk-enum.c:1097
 msgid "Cleaning up"
 msgstr "Очистка"
 
 #. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:498
+#: ../lib/packagekit-glib2/pk-enum.c:1101
 msgid "Obsoleting"
 msgstr "Устаревший"
 
 #. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:502
+#: ../lib/packagekit-glib2/pk-enum.c:1105
 msgid "Reinstalling"
 msgstr "Переустановка"
 
 #. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:520
+#: ../lib/packagekit-glib2/pk-enum.c:1130
 msgid "Downloaded"
 msgstr "Загруженный"
 
 #. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:532
+#: ../lib/packagekit-glib2/pk-enum.c:1142
 msgid "Removed"
 msgstr "Удаленный"
 
 #. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:536
+#: ../lib/packagekit-glib2/pk-enum.c:1146
 msgid "Cleaned up"
 msgstr "Вычищенный"
 
 #. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:540
+#: ../lib/packagekit-glib2/pk-enum.c:1150
 msgid "Obsoleted"
 msgstr "Устаревший"
 
 #. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:544
+#: ../lib/packagekit-glib2/pk-enum.c:1154
 msgid "Reinstalled"
 msgstr "Переустановлено"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:562
+#: ../lib/packagekit-glib2/pk-enum.c:1179
 msgid "Unknown role type"
 msgstr "Неизвестный тип"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:566
+#: ../lib/packagekit-glib2/pk-enum.c:1183
 msgid "Getting dependencies"
 msgstr "Получение зависимостей"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:570
+#: ../lib/packagekit-glib2/pk-enum.c:1187
 msgid "Getting update details"
 msgstr "Получение подробностей об обновлении"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:574
+#: ../lib/packagekit-glib2/pk-enum.c:1191
 msgid "Getting details"
 msgstr "Получение подробностей"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:578
+#: ../lib/packagekit-glib2/pk-enum.c:1195
 msgid "Getting requires"
 msgstr "Выявление требований"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:582
+#: ../lib/packagekit-glib2/pk-enum.c:1199
 msgid "Getting updates"
 msgstr "Получение обновлений"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:586
+#: ../lib/packagekit-glib2/pk-enum.c:1203
 msgid "Searching by details"
 msgstr "Поиск по особенностям"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:590
+#: ../lib/packagekit-glib2/pk-enum.c:1207
 msgid "Searching by file"
 msgstr "Поиск по имени файла"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:594
+#: ../lib/packagekit-glib2/pk-enum.c:1211
 msgid "Searching groups"
 msgstr "Поиск по группам"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:598
+#: ../lib/packagekit-glib2/pk-enum.c:1215
 msgid "Searching by name"
 msgstr "Поиск по названию"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:610
+#: ../lib/packagekit-glib2/pk-enum.c:1227
 msgid "Installing files"
 msgstr "Установка файлов"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:614
+#: ../lib/packagekit-glib2/pk-enum.c:1231
 msgid "Refreshing cache"
 msgstr "Обновление кэша"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:618
+#: ../lib/packagekit-glib2/pk-enum.c:1235
 msgid "Updating packages"
 msgstr "Обновление пакетов"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:622
+#: ../lib/packagekit-glib2/pk-enum.c:1239
 msgid "Updating system"
 msgstr "Обновление системы"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:626
+#: ../lib/packagekit-glib2/pk-enum.c:1243
 msgid "Canceling"
 msgstr "Отмена"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:634
+#: ../lib/packagekit-glib2/pk-enum.c:1251
 msgid "Getting repositories"
 msgstr "Получение репозиториев"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:638
+#: ../lib/packagekit-glib2/pk-enum.c:1255
 msgid "Enabling repository"
 msgstr "Включение репозитория"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:642
+#: ../lib/packagekit-glib2/pk-enum.c:1259
 msgid "Setting data"
 msgstr "Настройка данных"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:646
+#: ../lib/packagekit-glib2/pk-enum.c:1263
 msgid "Resolving"
 msgstr "Сопоставление"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:650
+#: ../lib/packagekit-glib2/pk-enum.c:1267
 msgid "Getting file list"
 msgstr "Получение списка файлов"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:654
+#: ../lib/packagekit-glib2/pk-enum.c:1271
 msgid "Getting provides"
 msgstr "Получение содержимого"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:658
+#: ../lib/packagekit-glib2/pk-enum.c:1275
 msgid "Installing signature"
 msgstr "Принятие подписи"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:662
+#: ../lib/packagekit-glib2/pk-enum.c:1279
 msgid "Getting packages"
 msgstr "Получение пакетов"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:666
+#: ../lib/packagekit-glib2/pk-enum.c:1283
 msgid "Accepting EULA"
 msgstr "Принять EULA"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:674
+#: ../lib/packagekit-glib2/pk-enum.c:1291
 msgid "Getting upgrades"
 msgstr "Получение обновлений"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:678
+#: ../lib/packagekit-glib2/pk-enum.c:1295
 msgid "Getting categories"
 msgstr "Получение категорий"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:682
+#: ../lib/packagekit-glib2/pk-enum.c:1299
 msgid "Getting transactions"
 msgstr "Получение операций"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:686
-#: ../lib/packagekit-glib2/pk-console-shared.c:690
+#: ../lib/packagekit-glib2/pk-enum.c:1303
+#: ../lib/packagekit-glib2/pk-enum.c:1307
 msgid "Simulating install"
 msgstr "Симуляция установки"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:694
+#: ../lib/packagekit-glib2/pk-enum.c:1311
 msgid "Simulating remove"
 msgstr "Симуляция удаления"
 
 #. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:698
+#: ../lib/packagekit-glib2/pk-enum.c:1315
 msgid "Simulating update"
 msgstr "Симуляция обновления"
 
-#. TRANSLATORS: turn on all debugging
-#: ../lib/packagekit-glib2/pk-debug.c:133
-msgid "Show debugging information for all files"
-msgstr "Показать отладочную информацию для всех файлов"
-
-#: ../lib/packagekit-glib2/pk-debug.c:201
-msgid "Debugging Options"
-msgstr "Параметры отладки"
-
-#: ../lib/packagekit-glib2/pk-debug.c:201
-msgid "Show debugging options"
-msgstr "Показать параметры отладки"
-
 #. TRANSLATORS: ask the user if they are comfortable installing insecure
 #. packages
 #: ../lib/packagekit-glib2/pk-task-text.c:67
@@ -1849,16 +1835,13 @@ msgstr "Для настройки источников программ необ
 msgid ""
 "Authentication is required to change the location used to decompress "
 "packages"
-msgstr ""
-"Требуется проверка подлинности для изменения места, используемого для "
-"распаковки пакетов"
+msgstr "Требуется проверка подлинности для изменения места, используемого для распаковки пакетов"
 
 #: ../policy/org.freedesktop.packagekit.policy.in.h:12
 msgid ""
 "Authentication is required to consider a key used for signing packages as "
 "trusted"
-msgstr ""
-"Чтобы пометить ключ для подписи пакетов как доверенный, нужно авторизоваться"
+msgstr "Чтобы пометить ключ для подписи пакетов как доверенный, нужно авторизоваться"
 
 #: ../policy/org.freedesktop.packagekit.policy.in.h:13
 msgid "Authentication is required to install a signed package"
@@ -1881,20 +1864,24 @@ msgid "Authentication is required to remove packages"
 msgstr "Перед удалением пакетов нужно авторизоваться"
 
 #: ../policy/org.freedesktop.packagekit.policy.in.h:18
+msgid "Authentication is required to repair the installed software"
+msgstr "Для переустановки ПО необходима проверка подлинности"
+
+#: ../policy/org.freedesktop.packagekit.policy.in.h:19
 msgid "Authentication is required to rollback a transaction"
 msgstr "Для отмены действия необходимо разрешение"
 
-#: ../policy/org.freedesktop.packagekit.policy.in.h:19
+#: ../policy/org.freedesktop.packagekit.policy.in.h:20
 msgid ""
 "Authentication is required to set the network proxy used for downloading "
 "packages"
 msgstr "Настройка прокси-сервера для загрузки пакетов требует авторизации"
 
-#: ../policy/org.freedesktop.packagekit.policy.in.h:20
+#: ../policy/org.freedesktop.packagekit.policy.in.h:21
 msgid "Authentication is required to update packages"
 msgstr "Для обновления пакетов нужно авторизоваться"
 
-#: ../policy/org.freedesktop.packagekit.policy.in.h:21
+#: ../policy/org.freedesktop.packagekit.policy.in.h:22
 msgid "Authentication is required to upgrade the operating system"
 msgstr "Требуется проверка подлинности для обновления операционной системы"
 
@@ -1903,7 +1890,7 @@ msgstr "Требуется проверка подлинности для обн
 #. authentication, but a different user id needs the admin password
 #. to cancel another users task.
 #. 
-#: ../policy/org.freedesktop.packagekit.policy.in.h:27
+#: ../policy/org.freedesktop.packagekit.policy.in.h:28
 msgid "Cancel foreign task"
 msgstr "Остановить внешнюю задачу"
 
@@ -1913,7 +1900,7 @@ msgstr "Остановить внешнюю задачу"
 #. - This could be used to overwrite files not owned by the user using
 #. a carefully created package file.
 #. 
-#: ../policy/org.freedesktop.packagekit.policy.in.h:34
+#: ../policy/org.freedesktop.packagekit.policy.in.h:35
 msgid "Change location that packages are installed"
 msgstr "Измените место установки пакетов"
 
@@ -1922,7 +1909,7 @@ msgstr "Измените место установки пакетов"
 #. software sources as this can be used to enable new updates or
 #. install different versions of software.
 #. 
-#: ../policy/org.freedesktop.packagekit.policy.in.h:40
+#: ../policy/org.freedesktop.packagekit.policy.in.h:41
 msgid "Change software source parameters"
 msgstr "Настроить источники программ"
 
@@ -1932,7 +1919,7 @@ msgstr "Настроить источники программ"
 #. - Paranoid users (or parents!) can change this to 'auth_admin' or
 #. 'auth_admin_keep'.
 #. 
-#: ../policy/org.freedesktop.packagekit.policy.in.h:47
+#: ../policy/org.freedesktop.packagekit.policy.in.h:48
 msgid "Install signed package"
 msgstr "Установить подписанный пакет"
 
@@ -1942,7 +1929,7 @@ msgstr "Установить подписанный пакет"
 #. password would be a massive security hole.
 #. - This is not retained as each package should be authenticated.
 #. 
-#: ../policy/org.freedesktop.packagekit.policy.in.h:54
+#: ../policy/org.freedesktop.packagekit.policy.in.h:55
 msgid "Install untrusted local file"
 msgstr "Установить недоверяемый локальный файл"
 
@@ -1950,7 +1937,7 @@ msgstr "Установить недоверяемый локальный фай
 #. - Normal users do not require admin authentication to refresh the
 #. cache, as this doesn't actually install or remove software.
 #. 
-#: ../policy/org.freedesktop.packagekit.policy.in.h:59
+#: ../policy/org.freedesktop.packagekit.policy.in.h:60
 msgid "Refresh system sources"
 msgstr "Обновить список пакетов"
 
@@ -1961,7 +1948,7 @@ msgstr "Обновить список пакетов"
 #. try to rebind drivers in use, for instance security authentication
 #. devices.
 #. 
-#: ../policy/org.freedesktop.packagekit.policy.in.h:67
+#: ../policy/org.freedesktop.packagekit.policy.in.h:68
 msgid "Reload a device"
 msgstr "Перезагрузка устройства"
 
@@ -1974,16 +1961,25 @@ msgstr "Перезагрузка устройства"
 #. be removed. If this is not possible, change this authentication to
 #. 'auth_admin'.
 #. 
-#: ../policy/org.freedesktop.packagekit.policy.in.h:77
+#: ../policy/org.freedesktop.packagekit.policy.in.h:78
 msgid "Remove package"
 msgstr "Удалить пакет"
 
 #. SECURITY:
+#. - Normal users require admin authentication to repair the system
+#. since this can make the system unbootable or stop other
+#. applications from working.
+#. 
+#: ../policy/org.freedesktop.packagekit.policy.in.h:84
+msgid "Repair System"
+msgstr "Восстановление системы"
+
+#. SECURITY:
 #. - Normal users require admin authentication to rollback system state
 #. as this will change a large number of packages, and could expose the
 #. system to previously patched security vulnerabilities.
 #. 
-#: ../policy/org.freedesktop.packagekit.policy.in.h:83
+#: ../policy/org.freedesktop.packagekit.policy.in.h:90
 msgid "Rollback to a previous transaction"
 msgstr "Откатиться до предыдущего действия"
 
@@ -1991,7 +1987,7 @@ msgstr "Откатиться до предыдущего действия"
 #. - Normal users do not require admin authentication to set the proxy
 #. used for downloading packages.
 #. 
-#: ../policy/org.freedesktop.packagekit.policy.in.h:88
+#: ../policy/org.freedesktop.packagekit.policy.in.h:95
 msgid "Set network proxy"
 msgstr "Задать прокси-сервер"
 
@@ -2001,7 +1997,7 @@ msgstr "Задать прокси-сервер"
 #. without a secure authentication.
 #. - This is not kept as each package should be authenticated.
 #. 
-#: ../policy/org.freedesktop.packagekit.policy.in.h:95
+#: ../policy/org.freedesktop.packagekit.policy.in.h:102
 msgid "Trust a key used for signing packages"
 msgstr "Доверять ключу в подписях пакетов"
 
@@ -2012,7 +2008,7 @@ msgstr "Доверять ключу в подписях пакетов"
 #. - Changing this to anything other than 'yes' will break unattended
 #. updates.
 #. 
-#: ../policy/org.freedesktop.packagekit.policy.in.h:103
+#: ../policy/org.freedesktop.packagekit.policy.in.h:110
 msgid "Update packages"
 msgstr "Обновить пакеты"
 
@@ -2021,71 +2017,71 @@ msgstr "Обновить пакеты"
 #. this can make the system unbootable or stop other applications from
 #. working.
 #. 
-#: ../policy/org.freedesktop.packagekit.policy.in.h:109
+#: ../policy/org.freedesktop.packagekit.policy.in.h:116
 msgid "Upgrade System"
 msgstr "Обновление системы"
 
 #. TRANSLATORS: a backend is the system package tool, e.g. yum, apt
-#: ../src/pk-main.c:148
+#: ../src/pk-main.c:149
 msgid "Packaging backend to use, e.g. dummy"
-msgstr ""
-"Использовать внутренний интерфейс пакетной системы, к примеру, заглушку"
+msgstr "Использовать внутренний интерфейс пакетной системы, к примеру, заглушку"
 
 #. TRANSLATORS: if we should run in the background
-#: ../src/pk-main.c:151
+#: ../src/pk-main.c:152
 msgid "Daemonize and detach from the terminal"
 msgstr "Сделать службой и открепить от терминала"
 
 #. TRANSLATORS: if we should not monitor how long we are inactive for
-#: ../src/pk-main.c:154
+#: ../src/pk-main.c:155
 msgid "Disable the idle timer"
 msgstr "Отключить таймер бездействия"
 
 #. TRANSLATORS: show version
-#: ../src/pk-main.c:157
+#: ../src/pk-main.c:158
 msgid "Show version and exit"
 msgstr "Показать версию и выйти"
 
 #. TRANSLATORS: exit after we've started up, used for user profiling
-#: ../src/pk-main.c:160
+#: ../src/pk-main.c:161
 msgid "Exit after a small delay"
 msgstr "Выйти после недолгой задержки"
 
 #. TRANSLATORS: exit straight away, used for automatic profiling
-#: ../src/pk-main.c:163
+#: ../src/pk-main.c:164
 msgid "Exit after the engine has loaded"
 msgstr "Выйти после загрузки движка"
 
+#. TRANSLATORS: don't unset environment variables, used for debugging
+#: ../src/pk-main.c:167
+msgid "Don't clear environment on startup"
+msgstr "Не очищать переменные среды при запуске"
+
 #. TRANSLATORS: describing the service that is running
-#: ../src/pk-main.c:177
+#: ../src/pk-main.c:179
 msgid "PackageKit service"
 msgstr "Служба PackageKit"
 
-#: ../src/pk-main.c:249
+#: ../src/pk-main.c:253
 msgid "Failed to load any of the specified backends:"
 msgstr "Не удалось загрузить одну из указанных исполнительных частей:"
 
 #. TRANSLATORS: is not GPG signed
-#: ../src/pk-transaction.c:2659
+#: ../src/pk-transaction.c:2972
 msgid "The software is not from a trusted source."
 msgstr "Программа получена из недоверяемого источника."
 
-#: ../src/pk-transaction.c:2667
+#: ../src/pk-transaction.c:2980
 msgid "Do not update this package unless you are sure it is safe to do so."
 msgstr "Не обновляйте этот пакет, если не уверены в том, что это безопасно."
 
-#: ../src/pk-transaction.c:2668
+#: ../src/pk-transaction.c:2981
 msgid "Do not update these packages unless you are sure it is safe to do so."
 msgstr "Не обновляйте эти пакеты, если не уверены в том, что это безопасно."
 
-#: ../src/pk-transaction.c:2678
+#: ../src/pk-transaction.c:2991
 msgid "Do not install this package unless you are sure it is safe to do so."
-msgstr ""
-"Не устанавливайте этот пакет, если не уверены в том, что он безопасен."
+msgstr "Не устанавливайте этот пакет, если не уверены в том, что он безопасен."
 
-#: ../src/pk-transaction.c:2679
+#: ../src/pk-transaction.c:2992
 msgid "Do not install these packages unless you are sure it is safe to do so."
-msgstr ""
-"Не устанавливайте эти пакеты, если не уверены в том, что они безопасны."
-
-
+msgstr "Не устанавливайте эти пакеты, если не уверены в том, что они безопасны."
commit 236399e9c764cffc977882d15df3665142e6b5c5
Author: Richard Hughes <richard at hughsie.com>
Date:   Wed Feb 22 12:30:10 2012 +0000

    trivial: fix a lot of critical errors when a backend sets a transaction speed

diff --git a/lib/packagekit-glib2/pk-client.c b/lib/packagekit-glib2/pk-client.c
index cd7dbc2..ac89cab 100644
--- a/lib/packagekit-glib2/pk-client.c
+++ b/lib/packagekit-glib2/pk-client.c
@@ -522,7 +522,7 @@ pk_client_set_property_value (PkClientState *state,
 	/* remaining-time */
 	if (g_strcmp0 (key, "RemainingTime") == 0) {
 		ret = pk_progress_set_elapsed_time (state->progress,
-						  g_variant_get_uint32 (value));
+						    g_variant_get_uint32 (value));
 		if (ret && state->progress_callback != NULL) {
 			state->progress_callback (state->progress,
 						  PK_PROGRESS_TYPE_REMAINING_TIME,
@@ -534,7 +534,7 @@ pk_client_set_property_value (PkClientState *state,
 	/* speed */
 	if (g_strcmp0 (key, "Speed") == 0) {
 		ret = pk_progress_set_speed (state->progress,
-						  g_variant_get_uint32 (value));
+					     g_variant_get_uint32 (value));
 		if (ret && state->progress_callback != NULL) {
 			state->progress_callback (state->progress,
 						  PK_PROGRESS_TYPE_SPEED,
diff --git a/src/pk-transaction.c b/src/pk-transaction.c
index e9fa262..0c72a04 100644
--- a/src/pk-transaction.c
+++ b/src/pk-transaction.c
@@ -1888,7 +1888,7 @@ pk_transaction_speed_cb (GObject *object,
 	/* emit */
 	pk_transaction_emit_property_changed (transaction,
 					      "Speed",
-					      g_variant_new_byte (transaction->priv->speed));
+					      g_variant_new_uint32 (transaction->priv->speed));
 	pk_transaction_emit_changed (transaction);
 }
 
commit 15b89db2cdcdac71efa915492a81bfd4670002ae
Author: Richard Hughes <richard at hughsie.com>
Date:   Wed Feb 22 09:28:39 2012 +0000

    zif: Ensure the files are sorted by name before returning them to the daemon

diff --git a/backends/zif/pk-backend-zif.c b/backends/zif/pk-backend-zif.c
index 4c46428..6116341 100644
--- a/backends/zif/pk-backend-zif.c
+++ b/backends/zif/pk-backend-zif.c
@@ -2748,6 +2748,15 @@ out:
 }
 
 /**
+ * pk_backend_sort_string_cb:
+ **/
+static gint
+pk_backend_sort_string_cb (const gchar **a, const gchar **b)
+{
+	return g_strcmp0 (*a, *b);
+}
+
+/**
  * pk_backend_get_files_thread:
  */
 static gboolean
@@ -2857,6 +2866,9 @@ pk_backend_get_files_thread (PkBackend *backend)
 			goto out;
 		}
 
+		/* sort these by name and add to list */
+		g_ptr_array_sort (files,
+				  (GCompareFunc) pk_backend_sort_string_cb);
 		files_str = g_string_new ("");
 		for (j=0; j<files->len; j++) {
 			file = g_ptr_array_index (files, j);
commit 7ea61adc250de80f3b24ff0f448fc26f6d0fa74c
Author: Richard Hughes <richard at hughsie.com>
Date:   Mon Feb 20 19:48:49 2012 +0000

    Imply the install trusted polkit auth when we get the remove auth

diff --git a/policy/org.freedesktop.packagekit.policy.in b/policy/org.freedesktop.packagekit.policy.in
index c59444c..7fc7240 100644
--- a/policy/org.freedesktop.packagekit.policy.in
+++ b/policy/org.freedesktop.packagekit.policy.in
@@ -116,6 +116,7 @@
       <allow_inactive>no</allow_inactive>
       <allow_active>auth_admin_keep</allow_active>
     </defaults>
+    <annotate key="org.freedesktop.policykit.imply">org.freedesktop.packagekit.package-install</annotate>
   </action>
 
   <action id="org.freedesktop.packagekit.system-update">
commit 8489bb46657ba536d4733b2291a99cef964cc685
Author: Richard Hughes <richard at hughsie.com>
Date:   Mon Feb 20 19:46:54 2012 +0000

    Imply the install trusted polkit auth when we get the untrusted auth

diff --git a/policy/org.freedesktop.packagekit.policy.in b/policy/org.freedesktop.packagekit.policy.in
index 9246b9d..c59444c 100644
--- a/policy/org.freedesktop.packagekit.policy.in
+++ b/policy/org.freedesktop.packagekit.policy.in
@@ -61,6 +61,7 @@
       <allow_inactive>no</allow_inactive>
       <allow_active>auth_admin</allow_active>
     </defaults>
+    <annotate key="org.freedesktop.policykit.imply">org.freedesktop.packagekit.package-install</annotate>
   </action>
 
   <action id="org.freedesktop.packagekit.system-trust-signing-key">
commit bd8adbe74c21d0eaa32527170e6e1da930168d5f
Author: Matthias Klumpp <matthias at tenstral.net>
Date:   Fri Feb 17 02:48:30 2012 +0100

    trivial: Remove whitespace

diff --git a/etc/Vendor.conf b/etc/Vendor.conf
index ed1f5a9..69f7337 100644
--- a/etc/Vendor.conf
+++ b/etc/Vendor.conf
@@ -60,4 +60,3 @@ VendorName=My Vendor
 #
 # default=emblem-favorite
 VendorIcon=emblem-favorite
-
commit c39c793c27cacbf4dd26c6aeddc861edb51ab714
Author: Richard Hughes <richard at hughsie.com>
Date:   Thu Feb 16 21:42:32 2012 +0000

    zif: Autoremove deps if 'autoremove' is set

diff --git a/backends/zif/pk-backend-zif.c b/backends/zif/pk-backend-zif.c
index 4569c25..4c46428 100644
--- a/backends/zif/pk-backend-zif.c
+++ b/backends/zif/pk-backend-zif.c
@@ -3503,6 +3503,9 @@ pk_backend_convert_transaction_reason_to_info_enum (ZifTransactionReason reason)
 	case ZIF_TRANSACTION_REASON_REMOVE_FOR_UPDATE:
 	case ZIF_TRANSACTION_REASON_REMOVE_OBSOLETE:
 	case ZIF_TRANSACTION_REASON_REMOVE_USER_ACTION:
+#if ZIF_CHECK_VERSION(0,2,8)
+	case ZIF_TRANSACTION_REASON_REMOVE_AUTO_DEP:
+#endif
 		return PK_INFO_ENUM_REMOVING;
 	case ZIF_TRANSACTION_REASON_UPDATE_DEPEND:
 	case ZIF_TRANSACTION_REASON_UPDATE_FOR_CONFLICT:
@@ -3759,6 +3762,9 @@ out:
 static gboolean
 pk_backend_remove_packages_thread (PkBackend *backend)
 {
+#if ZIF_CHECK_VERSION(0,2,8)
+	gboolean autoremove;
+#endif
 	gboolean ret;
 	gchar **package_ids;
 	GError *error = NULL;
@@ -3779,6 +3785,14 @@ pk_backend_remove_packages_thread (PkBackend *backend)
 				   -1);
 	g_assert (ret);
 
+#if ZIF_CHECK_VERSION(0,2,8)
+	/* setup autoremove */
+	autoremove = pk_backend_get_bool (backend, "autoremove");
+	zif_config_set_boolean (priv->config,
+				"clean_requirements_on_remove",
+				autoremove, NULL);
+#endif
+
 	state_local = zif_state_get_child (priv->state);
 	package_ids = pk_backend_get_strv (backend, "package_ids");
 	zif_state_set_number_steps (state_local, g_strv_length (package_ids));
commit d1783721dc079e8cca8feb7192b904e2434fe308
Author: Vincent Untz <vuntz at gnome.org>
Date:   Thu Feb 16 15:40:31 2012 +0100

    Fix transfer annotation of pk_results_get_package_sack()
    
    PkPackageSack is a normal GObject, not a container, so this should be "full".
    
    Signed-off-by: Martin Pitt <martin.pitt at ubuntu.com>

diff --git a/lib/packagekit-glib2/pk-results.c b/lib/packagekit-glib2/pk-results.c
index 791b1b7..bd80fb3 100644
--- a/lib/packagekit-glib2/pk-results.c
+++ b/lib/packagekit-glib2/pk-results.c
@@ -554,7 +554,7 @@ pk_results_get_package_array (PkResults *results)
  *
  * Gets a package sack from the transaction.
  *
- * Return value: (transfer container): A #PkPackageSack of data, g_object_unref() to free.
+ * Return value: (transfer full): A #PkPackageSack of data, g_object_unref() to free.
  *
  * Since: 0.5.2
  **/
commit 046dd93cb65e7a3957ba6d6104cdb10c311c15fa
Author: Martin Pitt <martin.pitt at ubuntu.com>
Date:   Thu Feb 16 15:17:03 2012 +0100

    Fix transfer annotations for GPtrArray returns
    
    We use g_ptr_array_new_with_free_func(), so the returned GPtrArrays own the
    items and will free them. Thus transfer ownership needs to be "container", not
    "full", otherwise we'll get crashes due to double-free'ing.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=670216

diff --git a/lib/packagekit-glib2/pk-desktop.c b/lib/packagekit-glib2/pk-desktop.c
index 75c8bf2..85e475a 100644
--- a/lib/packagekit-glib2/pk-desktop.c
+++ b/lib/packagekit-glib2/pk-desktop.c
@@ -101,7 +101,7 @@ pk_desktop_sqlite_package_cb (void *data, gint argc, gchar **argv, gchar **col_n
  * Return all desktop files owned by a package, regardless if they are shown
  * in the main menu or not.
  *
- * Return value: (transfer full): string array of results, free with g_ptr_array_unref()
+ * Return value: (transfer container): string array of results, free with g_ptr_array_unref()
  *
  * Since: 0.5.3
  **/
@@ -144,7 +144,7 @@ out:
  * Return all desktop files owned by a package that would be shown in a menu,
  * i.e are an application
  *
- * Return value: (transfer full): string array of results, free with g_ptr_array_unref()
+ * Return value: (transfer container): string array of results, free with g_ptr_array_unref()
  *
  * Since: 0.5.3
  **/
diff --git a/lib/packagekit-glib2/pk-results.c b/lib/packagekit-glib2/pk-results.c
index 06a9f8b..791b1b7 100644
--- a/lib/packagekit-glib2/pk-results.c
+++ b/lib/packagekit-glib2/pk-results.c
@@ -536,7 +536,7 @@ pk_results_get_error_code (PkResults *results)
  *
  * Gets the packages from the transaction.
  *
- * Return value: (element-type PkPackage) (transfer full): A #GPtrArray array of #PkPackage's, free with g_ptr_array_unref().
+ * Return value: (element-type PkPackage) (transfer container): A #GPtrArray array of #PkPackage's, free with g_ptr_array_unref().
  *
  * Since: 0.5.2
  **/
commit a305a331e1041132b77e2ad28a57099862f3c423
Author: Matthias Klumpp <matthias at tenstral.net>
Date:   Mon Feb 13 20:39:50 2012 +0100

    web: Rename KPackageKit to Apper

diff --git a/docs/html/img/users-apper.png b/docs/html/img/users-apper.png
new file mode 100644
index 0000000..b348ad3
Binary files /dev/null and b/docs/html/img/users-apper.png differ
diff --git a/docs/html/img/users-kpackagekit.png b/docs/html/img/users-kpackagekit.png
deleted file mode 100644
index 0ecf93a..0000000
Binary files a/docs/html/img/users-kpackagekit.png and /dev/null differ
diff --git a/docs/html/pk-download.html b/docs/html/pk-download.html
index 77a2fd3..c33f893 100644
--- a/docs/html/pk-download.html
+++ b/docs/html/pk-download.html
@@ -197,8 +197,8 @@ git clone git://gitorious.org/packagekit/packagekit.git
 git clone git://git.gnome.org/gnome-packagekit
 </pre>
 <p>
-<a href="http://www.kde-apps.org/content/show.php/KPackageKit?content=84745">Apper (was KPackageKit)</a>
-is available from git in the KDE playground:
+<a href="http://kde-apps.org/content/show.php/Apper?content=84745">Apper (was KPackageKit)</a>
+is available from Git in the KDE playground:
 </p>
 <pre>
 git clone git://anongit.kde.org/apper
diff --git a/docs/html/pk-intro.html b/docs/html/pk-intro.html
index 1a405eb..ab27f52 100644
--- a/docs/html/pk-intro.html
+++ b/docs/html/pk-intro.html
@@ -63,8 +63,8 @@ consume memory when not being used.
 tools for PackageKit to be used in the GNOME desktop.
 </p>
 <p>
-<a href="http://www.kde-apps.org/content/show.php/show.php?content=84745">
-KPackageKit</a> is the name of the KDE graphical tools designed
+<a href="http://kde-apps.org/content/show.php/Apper?content=84745">
+Apper</a> is the name of the KDE graphical tools designed
 for PackageKit.
 </p>
 
diff --git a/docs/html/pk-screenshots.html b/docs/html/pk-screenshots.html
index 3386698..68fe637 100644
--- a/docs/html/pk-screenshots.html
+++ b/docs/html/pk-screenshots.html
@@ -174,15 +174,15 @@
 <tr>
 <td width="300">
   <center><a href="img/kpk-update.png"><img src="img/thumbnails/kpk-update.png" alt=""/></a></center>
-  <p class="caption">KPackageKit Update Viewer</p>
+  <p class="caption">Apper (KPackageKit) Update Viewer</p>
 </td>
 <td width="300">
   <center><a href="img/kpk-search.png"><img src="img/thumbnails/kpk-search.png" alt=""/></a></center>
-  <p class="caption">KPackageKit Searching</p>
+  <p class="caption">Apper (KPackageKit) Searching</p>
 </td>
 <td width="300">
   <center><a href="img/kpk-information.png"><img src="img/thumbnails/kpk-information.png" alt=""/></a></center>
-  <p class="caption">KPackageKit Package Information</p>
+  <p class="caption">Apper (KPackageKit) Package Information</p>
 </td>
 </tr>
 <tr>
diff --git a/docs/html/pk-users.html b/docs/html/pk-users.html
index 56db840..9be0399 100644
--- a/docs/html/pk-users.html
+++ b/docs/html/pk-users.html
@@ -168,15 +168,15 @@
 </tr>
 <tr>
  <td>
-  <a href="http://www.kde-apps.org/content/show.php/KPackageKit?content=84745"><img src="img/users-kpackagekit.png" alt=""/></a>
+  <a href="http://kde-apps.org/content/show.php/Apper?content=84745"><img src="img/users-apper.png" alt=""/></a>
  </td>
  <td>
-  <h2>KDE - KPackageKit</h2>
+  <h2>KDE - Apper</h2>
   <p>
-   KPackageKit is the KDE interface for PackageKit.
+   Apper is the KDE interface for PackageKit.
   </p>
   <p>
-   Supports PackageKit >= 0.4.7
+   Supports PackageKit >= 0.6.18
   </p>
  </td>
 </tr>
diff --git a/docs/media-repo.txt b/docs/media-repo.txt
index dcd913a..e6b4fb9 100644
--- a/docs/media-repo.txt
+++ b/docs/media-repo.txt
@@ -16,7 +16,7 @@ exclusive use by any one subsystem or program. CDs and DVDs are gradually being
 replaced with USB key drives, and these can be removed at any time.
 
 During the PackageKit 0.4.x development cycle, code was added to PackageKit,
-gnome-packagekit, and kpackagekit projects to support the use case of software
+gnome-packagekit, and Apper projects to support the use case of software
 sources on external media. This was not wired up in PackageKit 0.5.x, but the
 UI's client have translations for this feature. Late in the 0.6.x series this
 functionality was backported into 0.5.x and therefore the feature will be
commit 20dc3610bfb15cf7855c492b10e1af696acff7f6
Author: Richard Hughes <richard at hughsie.com>
Date:   Tue Feb 7 16:50:35 2012 +0000

    Add a note to the website about the session helper API

diff --git a/docs/html/pk-using.html b/docs/html/pk-using.html
index f75e43b..623730f 100644
--- a/docs/html/pk-using.html
+++ b/docs/html/pk-using.html
@@ -19,6 +19,14 @@
 
 <h1>How do I use PackageKit?</h1>
 
+<p style="background-color:#ffdddd; padding:25px;">
+If you are writing an application that wants to install packages on demand,
+and don't care about the low level details, there's a
+<a href="pk-faq.html#session-methods">session helper API</a>
+that you should use.
+It's much simpler than using PackageKit directly.
+</p>
+
 <h2>Using the command line</h2>
 <p>
 The <code>pkcon</code> text-mode program allows you to interact with
commit d414e4233b6801d75dee5423a545c838fd975265
Author: Richard Hughes <richard at hughsie.com>
Date:   Tue Feb 7 16:43:41 2012 +0000

    Port the session example code to GDBus
    
    Resolves: https://bugs.freedesktop.org/show_bug.cgi?id=45744

diff --git a/docs/html/files/session.c b/docs/html/files/session.c
index 850c17c..e7f6251 100644
--- a/docs/html/files/session.c
+++ b/docs/html/files/session.c
@@ -1,4 +1,4 @@
-#include <dbus/dbus-glib.h>
+#include <gio/gio.h>
 
 /**
  * main:
@@ -6,35 +6,54 @@
 int
 main (int argc, char *argv[])
 {
-	DBusGConnection *connection;
-	DBusGProxy *proxy;
+	const gchar *packages[] = {"openoffice-clipart",
+				   "openoffice-clipart-extras",
+				   NULL};
+	GDBusProxy *proxy = NULL;
 	GError *error = NULL;
-	gboolean ret;
 	guint32 xid = 0;
-	const gchar *packages[] = {"openoffice-clipart", "openoffice-clipart-extras", NULL};
+	GVariant *retval = NULL;
 
 	/* init the types system */
 	g_type_init ();
 
-	/* get a session bus connection */
-	connection = dbus_g_bus_get (DBUS_BUS_SESSION, NULL);
+	/* get a session bus proxy */
+	proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION,
+					       G_DBUS_PROXY_FLAGS_NONE, NULL,
+					       "org.freedesktop.PackageKit",
+					       "/org/freedesktop/PackageKit",
+					       "org.freedesktop.PackageKit.Modify",
+					       NULL, &error);
+	if (proxy == NULL) {
+		g_warning ("failed: %s", error->message);
+		g_error_free (error);
+		goto out;
+	}
 
-	/* connect to PackageKit */
-	proxy = dbus_g_proxy_new_for_name (connection,
-					   "org.freedesktop.PackageKit",
-					   "/org/freedesktop/PackageKit",
-					   "org.freedesktop.PackageKit.Modify");
+	/* get the window ID, or use 0 for non-modal */
+	//xid = GDK_WINDOW_XID (gtk_widget_get_window (dialog));
 
-	/* execute sync method */
-	ret = dbus_g_proxy_call (proxy, "InstallPackageNames", &error,
-				 G_TYPE_UINT, xid, /* window xid, 0 for none */
-				 G_TYPE_STRV, packages,
-				 G_TYPE_STRING, "show-confirm-search,hide-finished",
-				 G_TYPE_INVALID, G_TYPE_INVALID);
-	if (!ret) {
+	/* issue the sync request */
+	retval = g_dbus_proxy_call_sync (proxy,
+					 "InstallPackageNames",
+					 g_variant_new ("(u^a&ss)",
+							xid,
+							packages,
+							"hide-finished"),
+					 G_DBUS_CALL_FLAGS_NONE,
+					 -1, /* timeout */
+					 NULL, /* cancellable */
+					 &error);
+	if (retval == NULL) {
 		g_warning ("failed: %s", error->message);
 		g_error_free (error);
+		goto out;
 	}
+out:
+	if (proxy != NULL)
+		g_object_unref (proxy);
+	if (retval != NULL)
+		g_object_unref (retval);
 	return 0;
 }
 
diff --git a/docs/html/files/session.py b/docs/html/files/session.py
new file mode 100644
index 0000000..15aa28f
--- /dev/null
+++ b/docs/html/files/session.py
@@ -0,0 +1,13 @@
+import dbus
+
+try:
+    bus = dbus.SessionBus()
+except dbus.DBusException, e:
+    print 'Unable to connect to dbus: %s' % str(e)
+    sys.exit()
+try:
+    proxy = bus.get_object('org.freedesktop.PackageKit', '/org/freedesktop/PackageKit')
+    iface = dbus.Interface(proxy, 'org.freedesktop.PackageKit.Modify')
+    iface.InstallPackageNames(dbus.UInt32(0), ["openoffice-clipart", "openoffice-clipart-extras"], "show-confirm-search,hide-finished")
+except dbus.DBusException, e:
+    print 'Unable to use PackageKit: %s' % str(e)
diff --git a/docs/html/pk-faq.html b/docs/html/pk-faq.html
index 73904e7..9fc23f1 100644
--- a/docs/html/pk-faq.html
+++ b/docs/html/pk-faq.html
@@ -273,22 +273,20 @@ the transaction process</a> itself.
 This would mean handling the EULA and GPG callbacks in each application. This is less than ideal.
 </p>
 <p>
-For this reason, a session helper is provided by the <code>gpk-update-icon</code> process which
-basically makes all the complexity go away; it handles all the GPG key authentication and
-EULA agreements, and also works with Seahorse and GConf to give some of the settings session persistence.
-Using the session service is also designed to be synchronous, which means you can send the DBUS call
-and just wait for the result, rather than managing callbacks to update custom GUIs.
+For this reason, a session helper is provided which makes all the
+complexity go away; it handles all the GPG key authentication and
+EULA agreements, and also works with authentication agent and user settings.
+Using the session service is also designed to be synchronous, which means
+you can send the DBUS call and just wait for the result, rather than
+managing callbacks to update custom GUIs.
 </p>
 <p>
-The session helper therefore depends on the shared code in <code>gpk-update-icon</code>, but
-because this is implemented as a DBUS service, can be coded as a QObject for KDE or a simpler
-object for XFCE or EFL.
+The session helper is implemented in <code>gpk-update-icon</code> on GNOME,
+and is also availble when <code>apper</code> is installed on KDE.
 If you want full integration using <a href="http://www.packagekit.org/img/gpk-added-deps.png">
 custom dialogs</a> without running the extra session process, then use libpackagekit.
 If you don't care, and just want things to <i>work</i> then
 <a href="http://www.packagekit.org/pk-faq.html#session-methods">use the session interface</a>.
-</p>
-<p>
 If you want a demo, you can download <a href="files/session.c">session.c</a> for a
 session example and <a href="files/system.c">system.c</a> as a system example.
 </p>
@@ -296,21 +294,14 @@ session example and <a href="files/system.c">system.c</a> as a system example.
 Compile with:
 </p>
 <pre>
-gcc -o session -Wall session.c `pkg-config --cflags --libs dbus-glib-1`
+gcc -o session -Wall session.c `pkg-config --cflags --libs gio-2.0`
 gcc -o system -Wall system.c `pkg-config --cflags --libs packagekit-glib`
 </pre>
 
 <hr/>
 <h3><a name="session-methods">How do I use PackageKit in my application?</a></h3>
 <p>
-If you are using <a href="http://www.gnome.org/">GNOME</a>, or running the
-<code>gpk-update-icon</code> then you can use the session dbus interface
-provided by this process.
-If you are not using GNOME, or choose to not use the <code>gpk-update-icon</code>
-applet then you can use an alternate interface provided by your desktop.
-</p>
-<p>
-Using this shared session service you can use the following DBUS methods
+Using the shared session interface you can use the following DBUS methods
 to make PackageKit just do the right thing.
 All the additional
 <a href="http://www.packagekit.org/gtk-doc/introduction-ideas-transactions.html">
@@ -318,55 +309,12 @@ confirmation, package downloads, GPG and EULA prompting is done automatically.</
 </p>
 <p>
 The DBUS methods are designed to be run syncronously, but can be run
-async using <code>dbus_g_proxy_begin_call</code> and then returning on
-the <code>DBusGProxyCallNotify</code>.
+async using <code>g_dbus_proxy_call</code> and getting the status with
+<code>g_dbus_proxy_call_finish</code>.
+There is example code available <a href="files/session.c">in c</a> or
+<a href="files/session.py">in python</a>.
 </p>
 <p>
-For example, the following code snippet would install a package by name:
-</p>
-
-<pre>
-#include &lt;dbus/dbus-glib.h&gt;
-
-DBusGConnection *connection;
-DBusGProxy *proxy;
-GError *error = NULL;
-gboolean ret;
-
-connection = dbus_g_bus_get (DBUS_BUS_SESSION, NULL);
-proxy = dbus_g_proxy_new_for_name (connection,
-                             "org.freedesktop.PackageKit",
-                             "/org/freedesktop/PackageKit",
-                             "org.freedesktop.PackageKit.Modify");
-/* execute sync method */
-ret = dbus_g_proxy_call (proxy, "InstallPackageNames", &amp;error,
-                         G_TYPE_STRV, {"openoffice-clipart", NULL},
-                         G_TYPE_STRING, "",
-                         G_TYPE_INVALID, G_TYPE_INVALID);
-if (!ret) {
-        g_warning ("failed: %s", error->message);
-        g_error_free (error);
-}
-</pre>
-<p>
-or in python...
-</p>
-<pre>
-import dbus
-
-try:
-    bus = dbus.SessionBus()
-except dbus.DBusException, e:
-    print 'Unable to connect to dbus: %s' % str(e)
-    sys.exit()
-try:
-    proxy = bus.get_object('org.freedesktop.PackageKit', '/org/freedesktop/PackageKit')
-    iface = dbus.Interface(proxy, 'org.freedesktop.PackageKit.Modify')
-    iface.InstallPackageNames(dbus.UInt32(0), ["openoffice-clipart", "openoffice-clipart-extras"], "show-confirm-search,hide-finished")
-except dbus.DBusException, e:
-    print 'Unable to use PackageKit: %s' % str(e)
-</pre>
-<p>
 The methods available on this interface are:
 </p>
 <ul>
commit b3e0883c0789b431b517153f5c23de20faf480de
Author: Richard Hughes <richard at hughsie.com>
Date:   Thu Feb 2 15:43:56 2012 +0000

    glib: Do not send progress updates for non-verb packages

diff --git a/lib/packagekit-glib2/pk-client.c b/lib/packagekit-glib2/pk-client.c
index 1ba6f8f..cd7dbc2 100644
--- a/lib/packagekit-glib2/pk-client.c
+++ b/lib/packagekit-glib2/pk-client.c
@@ -784,20 +784,34 @@ pk_client_signal_package (PkClientState *state,
 	if (state->results != NULL && info_enum != PK_INFO_ENUM_FINISHED)
 		pk_results_add_package (state->results, package);
 
-	/* save package-id */
-	ret = pk_progress_set_package_id (state->progress, package_id);
-	if (state->progress_callback != NULL && ret) {
-		state->progress_callback (state->progress,
-					  PK_PROGRESS_TYPE_PACKAGE_ID,
-					  state->progress_user_data);
-	}
-
-	/* save package object */
-	ret = pk_progress_set_package (state->progress, package);
-	if (state->progress_callback != NULL && ret) {
-		state->progress_callback (state->progress,
-					  PK_PROGRESS_TYPE_PACKAGE,
-					  state->progress_user_data);
+	/* only emit progress for verb packages */
+	switch (info_enum) {
+	case PK_INFO_ENUM_DOWNLOADING:
+	case PK_INFO_ENUM_UPDATING:
+	case PK_INFO_ENUM_INSTALLING:
+	case PK_INFO_ENUM_REMOVING:
+	case PK_INFO_ENUM_CLEANUP:
+	case PK_INFO_ENUM_OBSOLETING:
+	case PK_INFO_ENUM_REINSTALLING:
+	case PK_INFO_ENUM_DOWNGRADING:
+	case PK_INFO_ENUM_PREPARING:
+	case PK_INFO_ENUM_DECOMPRESSING:
+	case PK_INFO_ENUM_FINISHED:
+		ret = pk_progress_set_package_id (state->progress, package_id);
+		if (state->progress_callback != NULL && ret) {
+			state->progress_callback (state->progress,
+						  PK_PROGRESS_TYPE_PACKAGE_ID,
+						  state->progress_user_data);
+		}
+		ret = pk_progress_set_package (state->progress, package);
+		if (state->progress_callback != NULL && ret) {
+			state->progress_callback (state->progress,
+						  PK_PROGRESS_TYPE_PACKAGE,
+						  state->progress_user_data);
+		}
+		break;
+	default:
+		break;
 	}
 out:
 	g_object_unref (package);
commit 19b5adc29b5d767195073679003725d5c9733a9d
Author: Richard Hughes <richard at hughsie.com>
Date:   Thu Feb 2 15:41:27 2012 +0000

    trivial: don't allow the DBus methods to time out

diff --git a/lib/packagekit-glib2/pk-client.c b/lib/packagekit-glib2/pk-client.c
index 9acb1ba..1ba6f8f 100644
--- a/lib/packagekit-glib2/pk-client.c
+++ b/lib/packagekit-glib2/pk-client.c
@@ -50,7 +50,7 @@ static void     pk_client_finalize	(GObject     *object);
 
 #define PK_CLIENT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PK_TYPE_CLIENT, PkClientPrivate))
 
-#define PK_CLIENT_DBUS_METHOD_TIMEOUT	1500 /* ms */
+#define PK_CLIENT_DBUS_METHOD_TIMEOUT	G_MAXINT /* ms */
 
 /**
  * PkClientPrivate:
commit 01935469067747e6c0093988780d8a593837fee3
Author: Richard Hughes <richard at hughsie.com>
Date:   Thu Feb 2 14:31:28 2012 +0000

    Don't crash when the system bus isn't available, just abort with an error

diff --git a/src/pk-dbus.c b/src/pk-dbus.c
index 6ea4bf1..dde437f 100644
--- a/src/pk-dbus.c
+++ b/src/pk-dbus.c
@@ -296,7 +296,14 @@ pk_dbus_init (PkDbus *dbus)
 	dbus->priv = PK_DBUS_GET_PRIVATE (dbus);
 
 	/* use the bus to get the uid */
-	dbus->priv->connection = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, NULL);
+	dbus->priv->connection = g_bus_get_sync (G_BUS_TYPE_SYSTEM,
+						 NULL, &error);
+	if (dbus->priv->connection == NULL) {
+		g_warning ("cannot connect to the system bus: %s",
+			   error->message);
+		g_error_free (error);
+		return;
+	}
 
 	/* connect to DBus so we can get the pid */
 	dbus->priv->proxy_pid =
commit 867cdb9d4b33a18f4e30776697f5f350177c847a
Author: Richard Hughes <richard at hughsie.com>
Date:   Thu Feb 2 10:15:59 2012 +0000

    zif: Do not pretty-print a package when it's not found

diff --git a/backends/zif/pk-backend-zif.c b/backends/zif/pk-backend-zif.c
index fb8088b..4569c25 100644
--- a/backends/zif/pk-backend-zif.c
+++ b/backends/zif/pk-backend-zif.c
@@ -3334,7 +3334,7 @@ pk_backend_get_update_detail_thread (PkBackend *backend)
 			pk_backend_error_code (backend,
 					       PK_ERROR_ENUM_PACKAGE_NOT_FOUND,
 					       "failed to find package %s: %s",
-					       zif_package_get_printable (package),
+					       package_ids[i],
 					       error->message);
 			g_error_free (error);
 			goto out;
@@ -3793,7 +3793,8 @@ pk_backend_remove_packages_thread (PkBackend *backend)
 		if (package == NULL) {
 			pk_backend_error_code (backend,
 					       PK_ERROR_ENUM_PACKAGE_NOT_FOUND,
-					       "failed to find package: %s",
+					       "failed to find package %s: %s",
+					       package_ids[i],
 					       error->message);
 			g_error_free (error);
 			goto out;
@@ -3930,7 +3931,8 @@ pk_backend_update_packages_thread (PkBackend *backend)
 		if (package == NULL) {
 			pk_backend_error_code (backend,
 					       PK_ERROR_ENUM_PACKAGE_NOT_FOUND,
-					       "failed to find package: %s",
+					       "failed to find package %s: %s",
+					       package_ids[i],
 					       error->message);
 			g_error_free (error);
 			goto out;
@@ -4206,7 +4208,8 @@ pk_backend_install_packages_thread (PkBackend *backend)
 		if (package == NULL) {
 			pk_backend_error_code (backend,
 					       PK_ERROR_ENUM_PACKAGE_NOT_FOUND,
-					       "failed to find package: %s",
+					       "failed to find package %s: %s",
+					       package_ids[i],
 					       error->message);
 			g_error_free (error);
 			goto out;
commit 65facfce96b11006d6dc4ad3345299a5ad0615d8
Author: Richard Hughes <richard at hughsie.com>
Date:   Fri Jan 27 13:11:42 2012 +0000

    trivial: Sync the example spec file with Fedora

diff --git a/contrib/PackageKit.spec.in b/contrib/PackageKit.spec.in
index f29f187..725d8c6 100644
--- a/contrib/PackageKit.spec.in
+++ b/contrib/PackageKit.spec.in
@@ -1,4 +1,3 @@
-%define dbus_version                    1.1.1
 %define alphatag                        #ALPHATAG#
 
 %{!?python_sitelib: %define python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
@@ -20,7 +19,7 @@ Requires: preupgrade
 %endif
 
 BuildRequires: glib2-devel >= 2.16.1
-BuildRequires: dbus-devel  >= %{dbus_version}
+BuildRequires: dbus-devel  >= 1.1.1
 BuildRequires: dbus-glib-devel >= 0.74
 BuildRequires: pam-devel
 BuildRequires: libX11-devel
@@ -48,7 +47,7 @@ BuildRequires: pango-devel
 BuildRequires: pm-utils-devel
 BuildRequires: fontconfig-devel
 BuildRequires: gobject-introspection-devel
-BuildRequires: zif-devel >= 0.1.3
+BuildRequires: zif-devel >= 0.2.5
 
 # functionality moved to udev itself
 Obsoletes: PackageKit-udev-helper < %{version}-%{release}
@@ -77,7 +76,7 @@ A backend for PackageKit to enable yum functionality.
 %package zif
 Summary: PackageKit Zif backend
 Group: System Environment/Libraries
-Requires: zif >= 0.1.3
+Requires: zif >= 0.2.5
 Requires: %{name} = %{version}-%{release}
 Provides: PackageKit-backend
 
@@ -120,7 +119,7 @@ will almost instantly update itself to reflect this.
 %package glib
 Summary: GLib libraries for accessing PackageKit
 Group: Development/Libraries
-Requires: dbus >= %{dbus_version}
+Requires: dbus >= 1.1.1
 Requires: %{name} = %{version}-%{release}
 Requires: gobject-introspection
 Obsoletes: PackageKit-libs < %{version}-%{release}
@@ -160,7 +159,7 @@ Provides facility to install debugging packages using PackageKit.
 Summary: GLib Libraries and headers for PackageKit
 Group: Development/Libraries
 Requires: %{name} = %{version}-%{release}
-Requires: dbus-devel >= %{dbus_version}
+Requires: dbus-devel >= 1.1.1
 Requires: sqlite-devel
 Requires: PackageKit-glib = %{version}-%{release}
 Obsoletes: PackageKit-devel < %{version}-%{release}
commit b516f18e28c708d31f0a85b35ca3ec47fb3bd16c
Author: Martin Pitt <martin.pitt at ubuntu.com>
Date:   Wed Feb 1 10:11:39 2012 +0100

    apt: Add support for plugins, call them for what-provides
    
    Add plugin support for the apt backend through pkg_resources (if available).
    The only supported plugin type is for "what_provides" for now, as this is
    generally the most useful for plugins.
    
    Add documentation for this to backends/apt/README.apt.
    Add corresponding test cases.

diff --git a/backends/apt/README.apt b/backends/apt/README.apt
index 385f2ac..a80f2bc 100644
--- a/backends/apt/README.apt
+++ b/backends/apt/README.apt
@@ -15,3 +15,30 @@ http://www.packagekit.org/pk-faq.html
 
 Feel free to send comments or bug reports to the PackageKit mailing list
 or to the author directly.
+
+Plugin support
+--------------
+You can create plugins to extend this backend to extend its functionality.  The
+only supported plugin type is for the "what_provides" PackageKit call for now,
+as this is generally the most useful for plugins.
+
+In your module "my_plugin_module_name", implement a
+
+      def my_what_provides(cache, type, search):
+
+function which returns additional packages for the given type
+(packagekit.enum.PROVIDES_*) and search string. The plugin should raise
+NotImplementedError if it cannot handle the given type.
+
+Register the plugin as an entry point (via python setuptools) in setup.py:
+
+   setup(
+       [....]
+
+       entry_points="""[packagekit.apt.plugins]
+what_provides=my_plugin_module_name:my_what_provides
+""",
+       [...])
+
+You can register arbitrarily many plugins, they will be all called and their
+resulting package lists joined.
diff --git a/backends/apt/aptBackend.py b/backends/apt/aptBackend.py
index 44e1369..a79eeee 100755
--- a/backends/apt/aptBackend.py
+++ b/backends/apt/aptBackend.py
@@ -42,6 +42,12 @@ import apt
 import apt.debfile
 import apt_pkg
 
+try:
+    import pkg_resources
+except ImportError:
+    # no plugin support available
+    pkg_resources = None
+
 from packagekit.backend import (PackageKitBaseBackend, format_string)
 from packagekit import enums
 
@@ -625,6 +631,8 @@ class PackageKitAptBackend(PackageKitBaseBackend):
         apt_pkg.config.set("DPkg::Options::", '--force-confold')
         PackageKitBaseBackend.__init__(self, cmds)
 
+        self._init_plugins()
+
     # Methods ( client -> engine -> backend )
 
     @catch_pkerror
@@ -1936,6 +1944,17 @@ class PackageKitAptBackend(PackageKitBaseBackend):
                         pklog.warning("Package %s has invalid modalias header: %s" % (
                             package.name, m))
 
+        # run plugins
+        for plugin in self.plugins.get("what_provides", []):
+            pklog.debug("calling what_provides plugin %s" % str(plugin))
+            for search_item in search:
+                try:
+                    for package in plugin(self._cache, provides_type, search_item):
+                        self._emit_visible_package(filters, package)
+                    supported_type = True
+                except NotImplementedError:
+                    pass # keep supported_type as False
+
         if not supported_type and provides_type != enums.PROVIDES_ANY:
             raise PKError(enums.ERROR_NOT_SUPPORTED,
                           "This function is not implemented in this backend")
@@ -1956,6 +1975,31 @@ class PackageKitAptBackend(PackageKitBaseBackend):
 
     # Helpers
 
+    def _init_plugins(self):
+        """Initialize plugins."""
+
+        self.plugins = {} # plugin_name -> [plugin_fn1, ...]
+
+        if not pkg_resources:
+            return
+
+        # just look in standard Python paths for now
+        dists, errors = pkg_resources.working_set.find_plugins(pkg_resources.Environment())
+        for dist in dists:
+            pkg_resources.working_set.add(dist)
+        for plugin_name in ["what_provides"]:
+            for entry_point in pkg_resources.iter_entry_points(
+                    "packagekit.apt.plugins", plugin_name):
+                try:
+                    plugin = entry_point.load()
+                except Exception as e:
+                    pklog.warning("Failed to load %s from plugin %s: %s" % (
+                        plugin_name, str(entry_point.dist), str(e)))
+                    continue
+                pklog.debug("Loaded %s from plugin %s" % (
+                    plugin_name, str(entry_point.dist)))
+                self.plugins.setdefault(plugin_name, []).append(plugin)
+
     def _unlock_cache(self):
         """Unlock the system package cache."""
         try:
diff --git a/backends/apt/tests/test_queries.py b/backends/apt/tests/test_queries.py
index e0c503c..b5d98a1 100644
--- a/backends/apt/tests/test_queries.py
+++ b/backends/apt/tests/test_queries.py
@@ -23,7 +23,11 @@
 __author__  = "Sebastian Heinlein <devel at glatzor.de>"
 
 import os
+import os.path
 import unittest
+import tempfile
+import shutil
+import sys
 
 import apt_pkg
 import mox
@@ -45,6 +49,13 @@ class QueryTests(mox.MoxTestBase):
         mox.MoxTestBase.setUp(self)
         self.backend = aptBackend.PackageKitAptBackend([])
 
+        self.workdir = tempfile.mkdtemp()
+        self.orig_sys_path = sys.path
+
+    def tearDown(self):
+        shutil.rmtree(self.workdir)
+        sys.path = self.orig_sys_path
+
     def _catch_callbacks(self, *args):
         methods = list(args)
         methods.extend(("error", "finished"))
@@ -218,6 +229,103 @@ class QueryTests(mox.MoxTestBase):
         self.backend.dispatch_command("what-provides",
                                       ["None", enums.PROVIDES_PLASMA_SERVICE, "plasma4(dataengine-weather)"])
 
+    def test_what_provides_plugin(self):
+        """Test what-provides plugins"""
+
+        # add plugin for extra codecs
+        f = open(os.path.join(self.workdir, "extra_codecs.py"), "w")
+        f.write("""from packagekit import enums
+
+def fake_what_provides(cache, type, search):
+    if type in (enums.PROVIDES_CODEC, enums.PROVIDES_ANY):
+        return [cache["gstreamer0.10-silly"]]
+    raise NotImplementedError('cannot handle type ' + str(type))
+""")
+        f.close()
+        os.mkdir(os.path.join(self.workdir, "extra_codecs-0.egg-info"))
+        f = open(os.path.join(self.workdir, "extra_codecs-0.egg-info", 'entry_points.txt'), "w")
+        f.write("[packagekit.apt.plugins]\nwhat_provides=extra_codecs:fake_what_provides\n")
+        f.close()
+
+        # invalid plugin, should not stop the valid ones
+        os.mkdir(os.path.join(self.workdir, "nonexisting-1.egg-info"))
+        f = open(os.path.join(self.workdir, "nonexisting-1.egg-info", 'entry_points.txt'), "w")
+        f.write("[packagekit.apt.plugins]\nwhat_provides=nonexisting:what_provides\n")
+        f.close()
+
+        # another plugin to test chaining and a new type
+        f = open(os.path.join(self.workdir, "more_stuff.py"), "w")
+        f.write("""from packagekit import enums
+
+def my_what_provides(cache, type, search):
+    if type in (enums.PROVIDES_CODEC, enums.PROVIDES_ANY):
+        return [cache["silly-base"]]
+    if type in (enums.PROVIDES_LANGUAGE_SUPPORT, enums.PROVIDES_ANY):
+        return [cache["silly-important"]]
+    raise NotImplementedError('cannot handle type ' + str(type))
+""")
+        f.close()
+        os.mkdir(os.path.join(self.workdir, "more_stuff-0.egg-info"))
+        f = open(os.path.join(self.workdir, "more_stuff-0.egg-info", 'entry_points.txt'), "w")
+        f.write("[packagekit.apt.plugins]\nwhat_provides=more_stuff:my_what_provides\n")
+        f.close()
+
+        sys.path.insert(0, self.workdir)
+
+        # reinitialize backend to pick up new sys.path
+        self.backend = aptBackend.PackageKitAptBackend([])
+
+        # search for CODEC (note that gstreamer0.10-silly does not advertise
+        # audio/vorbis, so it isn't caught by the internal implementation)
+        self._catch_callbacks("package")
+        self.backend.package("gstreamer0.10-silly;0.1-0;all;",
+                             enums.INFO_AVAILABLE,
+                             mox.IsA(str))
+        self.backend.package("silly-base;0.1-0;all;",
+                             enums.INFO_INSTALLED,
+                             mox.IsA(str))
+        self.backend.finished()
+        self.mox.ReplayAll()
+        self.backend._open_cache()
+
+        self.backend.dispatch_command("what-provides",
+                                      ["None", enums.PROVIDES_CODEC, "gstreamer0.10(decoder-audio/vorbis)"])
+
+        # test filtering
+        self._catch_callbacks("package")
+        self.backend.package("silly-base;0.1-0;all;",
+                             enums.INFO_INSTALLED,
+                             mox.IsA(str))
+        self.backend.finished()
+        self.mox.ReplayAll()
+        self.backend._open_cache()
+
+        self.backend.dispatch_command("what-provides",
+                                      ["installed", enums.PROVIDES_CODEC, "gstreamer0.10(decoder-audio/vorbis)"])
+
+        # test new type
+        self._catch_callbacks("package")
+        self.backend.package("silly-important;0.1-0;all;",
+                             enums.INFO_AVAILABLE,
+                             mox.IsA(str))
+        self.backend.finished()
+        self.mox.ReplayAll()
+        self.backend._open_cache()
+
+        self.backend.dispatch_command("what-provides", 
+                                      ["None", enums.PROVIDES_LANGUAGE_SUPPORT, "locale(de_DE)"])
+
+
+        # test unsupported type
+        self._catch_callbacks()
+        self.backend.error("not-supported", mox.StrContains("not implemented"), True)
+        self.backend.finished()
+        self.mox.ReplayAll()
+        self.backend._open_cache()
+
+        self.backend.dispatch_command("what-provides",
+                                      ["None", enums.PROVIDES_PLASMA_SERVICE, "plasma4(dataengine-weather)"])
+
 
 def setUp():
     chroot.setup()
commit 7fe9aff14cc1c0f7296bcf97dd4d53baf8e84ea8
Author: Martin Pitt <martin.pitt at ubuntu.com>
Date:   Wed Feb 1 07:34:47 2012 +0100

    apt: Add test cases for what-provides ANY and unsupported types
    
    This uncovered a wrongly raised error when querying for any type.

diff --git a/backends/apt/aptBackend.py b/backends/apt/aptBackend.py
index 9acb21b..44e1369 100755
--- a/backends/apt/aptBackend.py
+++ b/backends/apt/aptBackend.py
@@ -1936,7 +1936,7 @@ class PackageKitAptBackend(PackageKitBaseBackend):
                         pklog.warning("Package %s has invalid modalias header: %s" % (
                             package.name, m))
 
-        if not supported_type:
+        if not supported_type and provides_type != enums.PROVIDES_ANY:
             raise PKError(enums.ERROR_NOT_SUPPORTED,
                           "This function is not implemented in this backend")
 
diff --git a/backends/apt/tests/test_queries.py b/backends/apt/tests/test_queries.py
index 9f85d24..e0c503c 100644
--- a/backends/apt/tests/test_queries.py
+++ b/backends/apt/tests/test_queries.py
@@ -170,6 +170,55 @@ class QueryTests(mox.MoxTestBase):
                                       ["None", enums.PROVIDES_MODALIAS, "modalias(pci:v0000DEADd0000FACEsv00sd00bc03sc00i00)"])
 
 
+    def test_what_provides_any(self):
+        """Test searching for package providing "any"."""
+        # codec
+        self._catch_callbacks("package")
+        self.backend.package("gstreamer0.10-silly;0.1-0;all;",
+                             enums.INFO_AVAILABLE,
+                             mox.IsA(str))
+        self.backend.finished()
+        self.mox.ReplayAll()
+        self.backend._open_cache()
+
+        self.backend.dispatch_command("what-provides",
+                                      ["None", enums.PROVIDES_ANY, "gstreamer0.10(decoder-audio/ac3)"])
+
+        # modalias
+        self._catch_callbacks("package")
+        self.backend.package("silly-driver;0.1-0;all;",
+                             enums.INFO_AVAILABLE,
+                             mox.IsA(str))
+        self.backend.finished()
+        self.mox.ReplayAll()
+        self.backend._open_cache()
+
+        self.backend.dispatch_command("what-provides",
+                                      ["None", enums.PROVIDES_ANY, "modalias(pci:v0000DEADd0000BEEFsv00sd00bc03sc00i00)"])
+
+        # invalid query; ANY should not return an error, just not return any results
+        self._catch_callbacks("package")
+        self.backend.finished()
+        self.mox.ReplayAll()
+        self.backend._open_cache()
+
+        self.backend.dispatch_command("what-provides", 
+                                      ["None", enums.PROVIDES_ANY, "pci:1"])
+
+
+    def test_what_provides_unsupported(self):
+        """Test searching for package providing an unsupported type."""
+
+        self._catch_callbacks()
+        self.backend.error("not-supported", mox.StrContains("not implemented"), True)
+        self.backend.finished()
+        self.mox.ReplayAll()
+        self.backend._open_cache()
+
+        self.backend.dispatch_command("what-provides",
+                                      ["None", enums.PROVIDES_PLASMA_SERVICE, "plasma4(dataengine-weather)"])
+
+
 def setUp():
     chroot.setup()
     chroot.add_test_repository()
commit cd0cc54a1d1e85205cbad8e21d086a0c548cae7b
Author: Martin Pitt <martin.pitt at ubuntu.com>
Date:   Wed Feb 1 07:09:17 2012 +0100

    apt: Add test for what-provides MODALIAS
    
    This also uncovered that the what-provides call returned a wrong error message
    on invalid queries.

diff --git a/backends/apt/aptBackend.py b/backends/apt/aptBackend.py
index 019c386..9acb21b 100755
--- a/backends/apt/aptBackend.py
+++ b/backends/apt/aptBackend.py
@@ -1897,8 +1897,8 @@ class PackageKitAptBackend(PackageKitBaseBackend):
             # the given mime type
             for search_item in search:
                 if not search_item.startswith('modalias(') or not search_item.endswith(')'):
-                    if provides_type == enums.PROVIDES_ANY:
-                        raise PKError(enums.ERROR_INTERNAL_ERROR,
+                    if provides_type != enums.PROVIDES_ANY:
+                        raise PKError(enums.ERROR_NOT_SUPPORTED,
                                       "The search term is invalid: %s" % search_item)
                     else:
                         continue
diff --git a/backends/apt/tests/repo/Packages b/backends/apt/tests/repo/Packages
index 87bdcbf..e5d8192 100644
--- a/backends/apt/tests/repo/Packages
+++ b/backends/apt/tests/repo/Packages
@@ -226,3 +226,24 @@ Description: package depending on silly-base (but lintian broken)
  This package depends on silly-base and has no "Maintainer" set
  and the file owner is totally wrong so lintian complains about it.
 
+Package: silly-driver
+Priority: extra
+Section: admin
+Installed-Size: 32
+Maintainer: Sebastian Heinlein <devel at glatzor.de>
+Architecture: all
+Source: silly-packages
+Version: 0.1-0
+Filename: silly-driver_0.1-0_all.deb
+Size: 1904
+MD5sum: 7fb8eaa3e84b4fb3bce4bdecb50a168d
+SHA1: 9cde88d48ba954feb66a39facd92a9dacb203588
+SHA256: 261d4857febe2700807b21880cbb41f8d4ee4c282f750d97ba6e283b86559af7
+SHA512: aef6685e7f76a8bff4e38cb1fb42362e5c9c69d216e619b8b84936677a3dd64fac5e4c5e512afea8b4e384df7a4a42d91f45f7f93a3f3565334343cbd04f1695
+Description: driver package
+ Silly packages is a set of packages which will break your package
+ management tool. They are created only for debugging purposes.
+ .
+ This package claims to provide a driver for some PCI cards.
+Modaliases: silly(pci:v0000DEADd0000BEEFsv*sd*bc03sc*i*,pci:v0000DEADd0000FACEsv*sd*bc03sc*i*)
+
diff --git a/backends/apt/tests/repo/silly-driver_0.1-0_all.deb b/backends/apt/tests/repo/silly-driver_0.1-0_all.deb
new file mode 100644
index 0000000..cfae20f
Binary files /dev/null and b/backends/apt/tests/repo/silly-driver_0.1-0_all.deb differ
diff --git a/backends/apt/tests/test_queries.py b/backends/apt/tests/test_queries.py
index 86169cc..9f85d24 100644
--- a/backends/apt/tests/test_queries.py
+++ b/backends/apt/tests/test_queries.py
@@ -48,6 +48,7 @@ class QueryTests(mox.MoxTestBase):
     def _catch_callbacks(self, *args):
         methods = list(args)
         methods.extend(("error", "finished"))
+        self.mox.UnsetStubs()
         for meth in methods:
             self.mox.StubOutWithMock(self.backend, meth)
 
@@ -118,6 +119,56 @@ class QueryTests(mox.MoxTestBase):
         self.backend.dispatch_command("what-provides",
                                       ["None", enums.PROVIDES_CODEC, "gstreamer0.10(decoder-audio/ac3)"])
 
+    def test_what_provides_modalias(self):
+        """Test searching for package providing a driver."""
+
+        # invalid query
+        self._catch_callbacks()
+        self.backend.error("not-supported", mox.StrContains("search term is invalid"), True)
+        self.backend.finished()
+        self.mox.ReplayAll()
+        self.backend._open_cache()
+
+        self.backend.dispatch_command("what-provides",
+                                      ["None", enums.PROVIDES_MODALIAS, "pci:1"])
+
+        # no match
+        self._catch_callbacks()
+        self.backend.finished()
+        self.mox.ReplayAll()
+        self.backend._open_cache()
+
+        self.backend.dispatch_command("what-provides",
+                                      ["None", enums.PROVIDES_MODALIAS, "modalias(pci:v0000DEADd0000BEEFsv00sd00bc02sc00i00)"])
+
+
+
+
+        # match
+        self._catch_callbacks("package")
+        self.backend.package("silly-driver;0.1-0;all;",
+                             enums.INFO_AVAILABLE,
+                             mox.IsA(str))
+        self.backend.finished()
+        self.mox.ReplayAll()
+        self.backend._open_cache()
+
+        self.backend.dispatch_command("what-provides",
+                                      ["None", enums.PROVIDES_MODALIAS, "modalias(pci:v0000DEADd0000BEEFsv00sd00bc03sc00i00)"])
+
+
+        # second match
+        self._catch_callbacks("package")
+        self.backend.package("silly-driver;0.1-0;all;",
+                             enums.INFO_AVAILABLE,
+                             mox.IsA(str))
+        self.backend.finished()
+        self.mox.ReplayAll()
+        self.backend._open_cache()
+
+        self.backend.dispatch_command("what-provides",
+                                      ["None", enums.PROVIDES_MODALIAS, "modalias(pci:v0000DEADd0000FACEsv00sd00bc03sc00i00)"])
+
 
 def setUp():
     chroot.setup()
commit 74b3aaa950ad2ea6b43c3c367755970aae03430c
Author: Martin Pitt <martin.pitt at ubuntu.com>
Date:   Wed Feb 1 06:49:39 2012 +0100

    apt: Add test case for what-provides CODEC
    
    Update the gstreamer0.10-silly_0.1-0_all.deb package to have actual gstreamer
    tags, update Packages index accordingly, and ensure that what-provides finds
    it. Also test the error case.

diff --git a/backends/apt/tests/repo/Packages b/backends/apt/tests/repo/Packages
index 2ecf070..87bdcbf 100644
--- a/backends/apt/tests/repo/Packages
+++ b/backends/apt/tests/repo/Packages
@@ -7,17 +7,20 @@ Architecture: all
 Source: silly-packages
 Version: 0.1-0
 Depends: libc6 (>= 2.7-1), libglib2.0-0 (>= 2.16.0), libgstreamer-plugins-base0.10-0 (>= 0.10.0), libgstreamer0.10-0 (>= 0.10.14), libogg0 (>= 1.0rc3)
-Filename: ./gstreamer0.10-silly_0.1-0_all.deb
-Size: 51932
-MD5sum: c78ae695b2385f3f0e8df5c44b3e6759
-SHA1: 65a73c0059d8642986da2b34aae89bfa39202bac
-SHA256: b51b33092eedc4ef5c9461c730f50f107b4dd6958b6f7a7bfe548d002be181d7
-SHA512: a61d5114990f9277d2343ff83273091690a695b2ef4c720bddab8cc2120ec9740d570781a528cc3dffaa65774a44ec9b112af13fb1e0dd2bfad5dce1c528e8cc
+Filename: gstreamer0.10-silly_0.1-0_all.deb
+Size: 52016
+MD5sum: bbaf259e0dfcb39050061181d2a13755
+SHA1: be59be2d82b7f57097f387a22f5f295d202d9c1d
+SHA256: 6b91b67de10ae547cd4c648ef343c8acd35e626e4a1ac20df1aaae51d6ec6328
+SHA512: 5f8457338d9bb5de5e65544828bc4be8a32bb3afbe3dd7c035e7a11216831c5aa2faec2c138c7f4ee3d2e9febc0d8fa7689a0781a00332c5e3441a96d633b1e7
 Description: gstreamer plugin test package
  Silly packages is a set of packages which will break your package
  management tool. They are created only for debugging purposes.
  .
  This package is a GStreamer test plugin package.
+Gstreamer-Version: 0.10
+Gstreamer-Decoders: audio/ac3; audio/mpeg, mpegversion=(int){ 1, 2, 4 }; 
+Gstreamer-Elements: ac3parse
 
 Package: silly-depend-base
 Priority: extra
diff --git a/backends/apt/tests/repo/gstreamer0.10-silly_0.1-0_all.deb b/backends/apt/tests/repo/gstreamer0.10-silly_0.1-0_all.deb
index 221711a..7eee4ea 100644
Binary files a/backends/apt/tests/repo/gstreamer0.10-silly_0.1-0_all.deb and b/backends/apt/tests/repo/gstreamer0.10-silly_0.1-0_all.deb differ
diff --git a/backends/apt/tests/test_queries.py b/backends/apt/tests/test_queries.py
index 74352d6..86169cc 100644
--- a/backends/apt/tests/test_queries.py
+++ b/backends/apt/tests/test_queries.py
@@ -95,6 +95,30 @@ class QueryTests(mox.MoxTestBase):
                                       ["None", "always fail"])
 
 
+    def test_what_provides_codec(self):
+        """Test searching for package providing a codec."""
+        # invalid query
+        self._catch_callbacks()
+        self.backend.error("not-supported", mox.StrContains("search term is invalid"), True)
+        self.backend.finished()
+        self.mox.ReplayAll()
+        self.backend._open_cache()
+
+        self.backend.dispatch_command("what-provides",
+                                      ["None", enums.PROVIDES_CODEC, "audio/mpeg"])
+
+        self._catch_callbacks("package")
+        self.backend.package("gstreamer0.10-silly;0.1-0;all;",
+                             enums.INFO_AVAILABLE,
+                             mox.IsA(str))
+        self.backend.finished()
+        self.mox.ReplayAll()
+        self.backend._open_cache()
+
+        self.backend.dispatch_command("what-provides",
+                                      ["None", enums.PROVIDES_CODEC, "gstreamer0.10(decoder-audio/ac3)"])
+
+
 def setUp():
     chroot.setup()
     chroot.add_test_repository()
commit 161482268b9604b7f10c18676701338fb546255e
Author: Martin Pitt <martin.pitt at ubuntu.com>
Date:   Wed Feb 1 06:36:21 2012 +0100

    apt: Fix error code for what-provides CODEC
    
    When specifying an invalid search string for what-provides CODEC, return
    not-supported instead of internal-error.

diff --git a/backends/apt/aptBackend.py b/backends/apt/aptBackend.py
index 0fcb954..019c386 100755
--- a/backends/apt/aptBackend.py
+++ b/backends/apt/aptBackend.py
@@ -1806,7 +1806,7 @@ class PackageKitAptBackend(PackageKitBaseBackend):
                              search)
             caps = None
             if not match:
-                raise PKError(enums.ERROR_INTERNAL_ERROR,
+                raise PKError(enums.ERROR_NOT_SUPPORTED,
                               "The search term is invalid: %s" % search)
             if match.group("opt"):
                 caps_str = "%s, %s" % (match.group("data"), match.group("opt"))
commit 050f7c4a5c4eeb7cb4bfa779bbcfddc75b0a84ec
Author: Martin Pitt <martin.pitt at ubuntu.com>
Date:   Mon Jan 30 10:50:15 2012 +0100

    apt: Implement support for what-provides MODALIAS

diff --git a/backends/apt/aptBackend.py b/backends/apt/aptBackend.py
index 96a7690..0fcb954 100755
--- a/backends/apt/aptBackend.py
+++ b/backends/apt/aptBackend.py
@@ -5,6 +5,7 @@
 Copyright (C) 2007 Ali Sabil <ali.sabil at gmail.com>
 Copyright (C) 2007 Tom Parker <palfrey at tevp.net>
 Copyright (C) 2008-2009 Sebastian Heinlein <glatzor at ubuntu.com>
+Copyright (C) 2012 Martin Pitt <martin.pitt at ubuntu.com>
 
 Licensed under the GNU General Public License Version 2
 
@@ -35,6 +36,7 @@ import string
 import subprocess
 import sys
 import time
+import fnmatch
 
 import apt
 import apt.debfile
@@ -1829,8 +1831,14 @@ class PackageKitAptBackend(PackageKitBaseBackend):
                                     "urisink": "Gstreamer-Uri-Sinks",
                                     "element": "Gstreamer-Elements"}
             for search_item in search:
-                gst_version, gst_record, gst_data, gst_caps = \
-                        extract_gstreamer_request(search_item)
+                try:
+                    gst_version, gst_record, gst_data, gst_caps = \
+                            extract_gstreamer_request(search_item)
+                except PKError:
+                    if provides_type == enums.PROVIDES_ANY:
+                        break # ignore invalid codec query, probably for other types
+                    else:
+                        raise
                 for pkg in self._cache:
                     if pkg.installed:
                         version = pkg.installed
@@ -1869,7 +1877,8 @@ class PackageKitAptBackend(PackageKitBaseBackend):
                         raise PKError(enums.ERROR_INTERNAL_ERROR,
                                       "The list of applications that can handle "
                                       "files of the given type cannot be opened.")
-                    return
+                    else:
+                        break
                 if search_item in db:
                     pklog.debug("Mime type is registered: %s" % db[search_item])
                     # The mime type handler db stores the packages as a string
@@ -1880,6 +1889,53 @@ class PackageKitAptBackend(PackageKitBaseBackend):
                     handlers = [s.split("/")[1] for s in db[search_item].split(" ")]
                     self._emit_visible_packages_by_name(filters, handlers)
 
+        if provides_type in (enums.PROVIDES_MODALIAS, enums.PROVIDES_ANY):
+            supported_type = True
+            system_architecture = apt_pkg.get_architectures()[0]
+
+            # Emit packages that contain an application that can handle
+            # the given mime type
+            for search_item in search:
+                if not search_item.startswith('modalias(') or not search_item.endswith(')'):
+                    if provides_type == enums.PROVIDES_ANY:
+                        raise PKError(enums.ERROR_INTERNAL_ERROR,
+                                      "The search term is invalid: %s" % search_item)
+                    else:
+                        continue
+
+                # strip off modalias(...) wrapper
+                search_item = search_item.split('(')[1][:-1]
+
+                for package in self._cache:
+                    # skip foreign architectures, we usually only want native
+                    # driver packages
+                    if package.architecture() != system_architecture:
+                        continue
+
+                    try:
+                        m = package.candidate.record['Modaliases']
+                    except (KeyError, AttributeError):
+                        continue
+
+                    try:
+                        pkg_matches = False
+                        for part in m.split(')'):
+                            part = part.strip(', ')
+                            if not part:
+                                continue
+                            module, lst = part.split('(')
+                            for alias in lst.split(','):
+                                alias = alias.strip()
+                                if fnmatch.fnmatch(search_item, alias):
+                                    self._emit_visible_package(filters, package)
+                                    pkg_matches = True
+                                    break
+                            if pkg_matches:
+                                break
+                    except ValueError:
+                        pklog.warning("Package %s has invalid modalias header: %s" % (
+                            package.name, m))
+
         if not supported_type:
             raise PKError(enums.ERROR_NOT_SUPPORTED,
                           "This function is not implemented in this backend")
commit 3a4f3b32466599fd327fad2f358537b896f9204e
Author: Martin Pitt <martin.pitt at ubuntu.com>
Date:   Mon Jan 30 09:41:14 2012 +0100

    docs/provides-component-naming.txt: Document CODEC
    
    This does not document every possible case and might not be 100% correct for
    other backends, but at least helps to understand the general structure of the
    query.

diff --git a/docs/provides-component-naming.txt b/docs/provides-component-naming.txt
index c12b06a..c01ef1d 100644
--- a/docs/provides-component-naming.txt
+++ b/docs/provides-component-naming.txt
@@ -14,7 +14,12 @@ Component naming
 
 MODALIAS:               /!\ Format nor defined (yet)
 
-CODEC:
+CODEC:                  A string in the format of gstreamer<version>(type-format)
+                        where <version> is the GStreamer API version (e. g.
+                        0.10), "type" is a GStreamer element type ("encoder",
+                        "decoder", "urisource", ""urisink", "element"), and
+                        "format" is the type specific search string.
+                        Example: "gstreamer0.10(decoder-audio/ac3)"
 
 MIMETYPE:               Mimetypes are (valid) mimetypes strings,
                         for example "application/x-catalog" or "text/plain".
commit 86a9984b1680d05c65e54d43bdb58a5d74ebc72e
Author: Martin Pitt <martin.pitt at ubuntu.com>
Date:   Fri Jan 27 15:41:13 2012 +0100

    apt: Implement support for what-provides ANY

diff --git a/backends/apt/aptBackend.py b/backends/apt/aptBackend.py
index 617536f..96a7690 100755
--- a/backends/apt/aptBackend.py
+++ b/backends/apt/aptBackend.py
@@ -1816,7 +1816,10 @@ class PackageKitAptBackend(PackageKitBaseBackend):
         self.percentage(None)
         self._check_init(progress=False)
         self.allow_cancel(False)
-        if provides_type == enums.PROVIDES_CODEC:
+        supported_type = False
+        if provides_type in (enums.PROVIDES_CODEC, enums.PROVIDES_ANY):
+            supported_type = True
+
             # Search for privided gstreamer plugins using the package
             # metadata
             import gst
@@ -1854,13 +1857,18 @@ class PackageKitAptBackend(PackageKitBaseBackend):
                         if gst_data in elements:
                             self._emit_visible_package(filters, pkg)
 
-        elif provides_type == enums.PROVIDES_MIMETYPE:
+        if provides_type in (enums.PROVIDES_MIMETYPE, enums.PROVIDES_ANY):
+            supported_type = True
             # Emit packages that contain an application that can handle
             # the given mime type
             for search_item in search:
                 handlers = set()
                 db = get_mapping_db("/var/lib/PackageKit/mime-map.gdbm")
                 if db == None:
+                    if provides_type != enums.PROVIDES_ANY:
+                        raise PKError(enums.ERROR_INTERNAL_ERROR,
+                                      "The list of applications that can handle "
+                                      "files of the given type cannot be opened.")
                     return
                 if search_item in db:
                     pklog.debug("Mime type is registered: %s" % db[search_item])
@@ -1871,7 +1879,8 @@ class PackageKitAptBackend(PackageKitBaseBackend):
                     #        RepositoryRequired signal if the package does not exist
                     handlers = [s.split("/")[1] for s in db[search_item].split(" ")]
                     self._emit_visible_packages_by_name(filters, handlers)
-        else:
+
+        if not supported_type:
             raise PKError(enums.ERROR_NOT_SUPPORTED,
                           "This function is not implemented in this backend")
 
commit 2156267daa866d5914595bb0ac16fab2902b3c77
Author: Martin Pitt <martin.pitt at ubuntu.com>
Date:   Fri Jan 27 15:36:50 2012 +0100

    apt: Do not fail on missing /var/lib/PackageKit/mime-map.gdbm
    
    app-install-data in Debian and Ubuntu have not generated this file for a long
    time. Do not make the whole what-provides call fail for this, to avoid breaking
    request type ANY lookups.

diff --git a/backends/apt/aptBackend.py b/backends/apt/aptBackend.py
index 4e72a83..617536f 100755
--- a/backends/apt/aptBackend.py
+++ b/backends/apt/aptBackend.py
@@ -1782,20 +1782,8 @@ class PackageKitAptBackend(PackageKitBaseBackend):
             appropriate error message
             """
             if not os.access(path, os.R_OK):
-                if ("app-install-data" in self._cache and
-                    not self._cache["app-install-data"].is_installed):
-                    raise PKError(enums.ERROR_INTERNAL_ERROR,
-                                  "Please install the package "
-                                  "app-install data for a list of "
-                                  "applications that can handle files of "
-                                  "the given type")
-                else:
-                    raise PKError(enums.ERROR_INTERNAL_ERROR,
-                                  "The list of applications that can handle "
-                                  "files of the given type cannot be opened.\n"
-                                  "Try to reinstall the package "
-                                  "app-install-data.")
-                return
+                pklog.warning("list of applications that can handle files of the given type %s does not exist")
+                return None
             try:
                 db = gdbm.open(path)
             except:
commit e6cd7e5ef8b24a46aa9dad17bccec4a89090c43f
Author: Matthias Klumpp <matthias at tenstral.net>
Date:   Fri Jan 27 15:27:34 2012 +0100

    aptcc: Don't hang on long transactions
    
    The pty we open pipes dpkg's raw output to a file descriptor.
    We were never reading this, so when dpkg's stdout/stderr filled
    this pipe dpkg would hang waiting for the slave to read some data
    off it.
    Thanks Jonathan Thomas for the hint!

diff --git a/backends/aptcc/apt.cpp b/backends/aptcc/apt.cpp
index 3c7ca30..36a2a15 100644
--- a/backends/aptcc/apt.cpp
+++ b/backends/aptcc/apt.cpp
@@ -2169,6 +2169,7 @@ cout << "How odd.. The sizes didn't match, email apt at packages.debian.org";
 	// make it nonblocking, verry important otherwise
 	// when the child finish we stay stuck.
 	fcntl(readFromChildFD[0], F_SETFL, O_NONBLOCK);
+	fcntl(pty_master, F_SETFL, O_NONBLOCK);
 
 	// init the timer
 	m_lastTermAction = time(NULL);
@@ -2176,7 +2177,10 @@ cout << "How odd.. The sizes didn't match, email apt at packages.debian.org";
 
 	// Check if the child died
 	int ret;
+	char masterbuf[1024];
 	while (waitpid(m_child_pid, &ret, WNOHANG) == 0) {
+		// TODO: This is dpkg's raw output. Maybe save it for error-solving?
+		while(read(pty_master, masterbuf, sizeof(masterbuf)) > 0);
 		updateInterface(readFromChildFD[0], pty_master);
 	}
 
commit 0c6db3f2118dbb723529b24af11a136d19900244
Author: Martin Pitt <martin.pitt at ubuntu.com>
Date:   Fri Jan 27 14:35:01 2012 +0100

    Add LANGUAGE_SUPPORT what-provides type
    
    This is useful to ask "which packages to I need to get full support for a given
    language/locale", i. e. wordlists, dictionaries, translated help packages, ibus
    modules, and the like.

diff --git a/docs/provides-component-naming.txt b/docs/provides-component-naming.txt
index 393d7ce..c12b06a 100644
--- a/docs/provides-component-naming.txt
+++ b/docs/provides-component-naming.txt
@@ -46,3 +46,15 @@ PYTHON:                 A string in the format of "python<version>(module-name)"
                         If the Python-Version is omitted, the backend will
                         choose the current default Python version.
                         Example: "python2(packagekit)"
+
+LANGUAGE_SUPPORT:       A string in the format of language(ll_CC) or
+                        language(ll), which should correspond to a
+                        language/country pair or just a language, as in
+                        /usr/share/i18n/SUPPORTED. Returns all packages
+                        which provide language support (dictionaries,
+                        translated help, ibus modules, etc.) for all packages
+                        that are currently installed in the system.
+                        Example: "language(zh_CN)" might suggest ibus-pinyin and
+                        libreoffice-l10n-zh-cn if you have ibus and LibreOffice
+                        installed.
+
diff --git a/lib/packagekit-glib2/pk-enum.c b/lib/packagekit-glib2/pk-enum.c
index 3664c1c..903ca9e 100644
--- a/lib/packagekit-glib2/pk-enum.c
+++ b/lib/packagekit-glib2/pk-enum.c
@@ -366,6 +366,7 @@ static const PkEnumMatch enum_provides[] = {
 	{PK_PROVIDES_ENUM_PLASMA_SERVICE,	"plasma-service"},
 	{PK_PROVIDES_ENUM_SHARED_LIB,		"shared-library"},
 	{PK_PROVIDES_ENUM_PYTHON,		"python-module"},
+	{PK_PROVIDES_ENUM_LANGUAGE_SUPPORT,     "language-support"},
 	{0, NULL}
 };
 
diff --git a/lib/packagekit-glib2/pk-enum.h b/lib/packagekit-glib2/pk-enum.h
index 2c5acc3..77eba94 100644
--- a/lib/packagekit-glib2/pk-enum.h
+++ b/lib/packagekit-glib2/pk-enum.h
@@ -468,6 +468,7 @@ typedef enum {
 	PK_PROVIDES_ENUM_PLASMA_SERVICE,
 	PK_PROVIDES_ENUM_SHARED_LIB,
 	PK_PROVIDES_ENUM_PYTHON,
+	PK_PROVIDES_ENUM_LANGUAGE_SUPPORT,
 	PK_PROVIDES_ENUM_LAST
 } PkProvidesEnum;
 
diff --git a/lib/packagekit-qt2/transaction.h b/lib/packagekit-qt2/transaction.h
index 31ac9f1..b819771 100644
--- a/lib/packagekit-qt2/transaction.h
+++ b/lib/packagekit-qt2/transaction.h
@@ -340,7 +340,8 @@ public:
         ProvidesPostscriptDriver,
         ProvidesPlasmaService,
         ProvidesSharedLib,
-        ProvidesPythonModule
+        ProvidesPythonModule,
+        ProvidesLanguageSupport
     } Provides;
 
     /**
commit 185cefe0031886cb90e795aa3f704abab0b60183
Author: Matthias Klumpp <matthias at tenstral.net>
Date:   Fri Jan 27 14:55:06 2012 +0100

    trivial: Add missing provides-types to Qt2 lib

diff --git a/lib/packagekit-qt2/transaction.h b/lib/packagekit-qt2/transaction.h
index 04e6bcf..31ac9f1 100644
--- a/lib/packagekit-qt2/transaction.h
+++ b/lib/packagekit-qt2/transaction.h
@@ -338,7 +338,9 @@ public:
         ProvidesFont,
         ProvidesHardwareDriver,
         ProvidesPostscriptDriver,
-        ProvidesPlasmaService
+        ProvidesPlasmaService,
+        ProvidesSharedLib,
+        ProvidesPythonModule
     } Provides;
 
     /**
commit 0568e873f3711027409eb8d4727f31fff79f4e55
Author: Martin Pitt <martin.pitt at ubuntu.com>
Date:   Fri Jan 27 14:15:41 2012 +0100

    apt: what_provides() search argument is a list, not a string
    
    Iterate over all items in the "search" list in what_provides(), instead of
    treating it as a string (which just crashes with a TypeError).
    
    Reproducer:
    
      python -c 'from gi.repository import PackageKitGlib as pk; c = pk.Client(); res=c.what_provides(pk.FilterEnum.FREE, pk.ProvidesEnum.MIMETYPE, ["audio/mp3"], None, (lambda p,t,d: True), None); print [p.get_name() for p in res.get_package_array()]'

diff --git a/backends/apt/aptBackend.py b/backends/apt/aptBackend.py
index a755ec8..4e72a83 100755
--- a/backends/apt/aptBackend.py
+++ b/backends/apt/aptBackend.py
@@ -1837,50 +1837,52 @@ class PackageKitAptBackend(PackageKitBaseBackend):
                                     "urisource": "Gstreamer-Uri-Sources",
                                     "urisink": "Gstreamer-Uri-Sinks",
                                     "element": "Gstreamer-Elements"}
-            for pkg in self._cache:
-                if pkg.installed:
-                    version = pkg.installed
-                elif pkg.candidate:
-                    version = pkg.candidate
-                else:
-                    continue
-                if not "Gstreamer-Version" in version.record:
-                    continue
+            for search_item in search:
                 gst_version, gst_record, gst_data, gst_caps = \
-                        extract_gstreamer_request(search)
-                if version.record["Gstreamer-Version"] != gst_version:
-                    continue
-                if gst_caps:
-                    try:
-                        pkg_caps = gst.Caps(version.record[gst_record])
-                    except KeyError:
+                        extract_gstreamer_request(search_item)
+                for pkg in self._cache:
+                    if pkg.installed:
+                        version = pkg.installed
+                    elif pkg.candidate:
+                        version = pkg.candidate
+                    else:
                         continue
-                    if gst_caps.intersect(pkg_caps):
-                        self._emit_visible_package(filters, pkg)
-                else:
-                    try:
-                        elements = version.record[gst_record]
-                    except KeyError:
+                    if not "Gstreamer-Version" in version.record:
+                        continue
+                    if version.record["Gstreamer-Version"] != gst_version:
                         continue
-                    if gst_data in elements:
-                        self._emit_visible_package(filters, pkg)
+                    if gst_caps:
+                        try:
+                            pkg_caps = gst.Caps(version.record[gst_record])
+                        except KeyError:
+                            continue
+                        if gst_caps.intersect(pkg_caps):
+                            self._emit_visible_package(filters, pkg)
+                    else:
+                        try:
+                            elements = version.record[gst_record]
+                        except KeyError:
+                            continue
+                        if gst_data in elements:
+                            self._emit_visible_package(filters, pkg)
 
         elif provides_type == enums.PROVIDES_MIMETYPE:
             # Emit packages that contain an application that can handle
             # the given mime type
-            handlers = set()
-            db = get_mapping_db("/var/lib/PackageKit/mime-map.gdbm")
-            if db == None:
-                return
-            if search in db:
-                pklog.debug("Mime type is registered: %s" % db[search])
-                # The mime type handler db stores the packages as a string
-                # separated by spaces. Each package has its section
-                # prefixed and separated by a slash
-                # FIXME: Should make use of the section and emit a 
-                #        RepositoryRequired signal if the package does not exist
-                handlers = [s.split("/")[1] for s in db[search].split(" ")]
-                self._emit_visible_packages_by_name(filters, handlers)
+            for search_item in search:
+                handlers = set()
+                db = get_mapping_db("/var/lib/PackageKit/mime-map.gdbm")
+                if db == None:
+                    return
+                if search_item in db:
+                    pklog.debug("Mime type is registered: %s" % db[search_item])
+                    # The mime type handler db stores the packages as a string
+                    # separated by spaces. Each package has its section
+                    # prefixed and separated by a slash
+                    # FIXME: Should make use of the section and emit a 
+                    #        RepositoryRequired signal if the package does not exist
+                    handlers = [s.split("/")[1] for s in db[search_item].split(" ")]
+                    self._emit_visible_packages_by_name(filters, handlers)
         else:
             raise PKError(enums.ERROR_NOT_SUPPORTED,
                           "This function is not implemented in this backend")
commit c10bb1a21dff310d65d59187b49b88bc3288f988
Author: Richard Hughes <richard at hughsie.com>
Date:   Fri Jan 20 17:21:22 2012 +0000

    Fix a critical warning in gnome-settings-daemon when setting the proxy
    
    We have to ref the floating reference if we want to unref it in _finish().

diff --git a/lib/packagekit-glib2/pk-control.c b/lib/packagekit-glib2/pk-control.c
index 6676c4a..e205dcb 100644
--- a/lib/packagekit-glib2/pk-control.c
+++ b/lib/packagekit-glib2/pk-control.c
@@ -1181,6 +1181,7 @@ pk_control_set_proxy2_async (PkControl *control,
 					   proxy_socks ? proxy_socks : "",
 					   no_proxy ? no_proxy : "",
 					   pac ? pac : "");
+	g_variant_ref_sink (state->parameters);
 	if (cancellable != NULL)
 		state->cancellable = g_object_ref (cancellable);
 
@@ -1426,6 +1427,7 @@ pk_control_set_root_async (PkControl *control,
 	state->res = g_object_ref (res);
 	state->control = g_object_ref (control);
 	state->parameters = g_variant_new ("(s)", root ? root : "");
+	g_variant_ref_sink (state->parameters);
 	if (cancellable != NULL)
 		state->cancellable = g_object_ref (cancellable);
 
@@ -1862,6 +1864,7 @@ pk_control_get_time_since_action_async (PkControl *control,
 	state->res = g_object_ref (res);
 	state->control = g_object_ref (control);
 	state->parameters = g_variant_new ("(s)", pk_role_enum_to_string (role));
+	g_variant_ref_sink (state->parameters);
 	if (cancellable != NULL)
 		state->cancellable = g_object_ref (cancellable);
 
@@ -2081,6 +2084,7 @@ pk_control_can_authorize_async (PkControl *control,
 	state->res = g_object_ref (res);
 	state->control = g_object_ref (control);
 	state->parameters = g_variant_new ("(s)", action_id);
+	g_variant_ref_sink (state->parameters);
 	if (cancellable != NULL)
 		state->cancellable = g_object_ref (cancellable);
 
commit c2514488db6ed18d0f16d9f77ee1b785a4f42ca8
Author: Matthias Clasen <mclasen at redhat.com>
Date:   Fri Jan 20 10:00:00 2012 +0000

    Fix a critical warning when starting gnome-settings-daemon
    
    NULL is not a valid string, as far as GLib is concerned.
    
    Signed-off-by: Richard Hughes <richard at hughsie.com>

diff --git a/lib/packagekit-glib2/pk-client.c b/lib/packagekit-glib2/pk-client.c
index 19e3bfd..9acb1ba 100644
--- a/lib/packagekit-glib2/pk-client.c
+++ b/lib/packagekit-glib2/pk-client.c
@@ -1844,8 +1844,8 @@ pk_client_set_hints_cb (GObject *source_object,
 		g_dbus_proxy_call (state->proxy, "RepoSetData",
 				   g_variant_new ("(sss)",
 						  state->repo_id,
-						  state->parameter,
-						  state->value),
+						  state->parameter ? state->parameter : "",
+						  state->value ? state->value : ""),
 				   G_DBUS_CALL_FLAGS_NONE,
 				   PK_CLIENT_DBUS_METHOD_TIMEOUT,
 				   state->cancellable,
diff --git a/lib/packagekit-glib2/pk-control.c b/lib/packagekit-glib2/pk-control.c
index 83c3c72..6676c4a 100644
--- a/lib/packagekit-glib2/pk-control.c
+++ b/lib/packagekit-glib2/pk-control.c
@@ -1175,12 +1175,12 @@ pk_control_set_proxy2_async (PkControl *control,
 	state->res = g_object_ref (res);
 	state->control = g_object_ref (control);
 	state->parameters = g_variant_new ("(ssssss)",
-					   proxy_http,
-					   proxy_https,
-					   proxy_ftp,
-					   proxy_socks,
-					   no_proxy,
-					   pac);
+					   proxy_http ? proxy_http : "",
+					   proxy_https ? proxy_https : "",
+					   proxy_ftp ? proxy_ftp : "",
+					   proxy_socks ? proxy_socks : "",
+					   no_proxy ? no_proxy : "",
+					   pac ? pac : "");
 	if (cancellable != NULL)
 		state->cancellable = g_object_ref (cancellable);
 
@@ -1425,7 +1425,7 @@ pk_control_set_root_async (PkControl *control,
 	state = g_slice_new0 (PkControlState);
 	state->res = g_object_ref (res);
 	state->control = g_object_ref (control);
-	state->parameters = g_variant_new ("(s)", root);
+	state->parameters = g_variant_new ("(s)", root ? root : "");
 	if (cancellable != NULL)
 		state->cancellable = g_object_ref (cancellable);
 
commit e61d4ef84f1b5c82cf923aca77ff3ce0e587614e
Author: Matthias Klumpp <matthias at tenstral.net>
Date:   Thu Jan 19 12:18:57 2012 +0100

    trivial: Fix a small typo

diff --git a/contrib/debuginfo-install/pk-debuginfo-install.xml b/contrib/debuginfo-install/pk-debuginfo-install.xml
index 504d233..03b700c 100644
--- a/contrib/debuginfo-install/pk-debuginfo-install.xml
+++ b/contrib/debuginfo-install/pk-debuginfo-install.xml
@@ -173,7 +173,7 @@ manpage.1: manpage.xml
           <option>6</option>
         </term>
         <listitem>
-          <para>Failed to find dependant packages.</para>
+          <para>Failed to find dependent packages.</para>
         </listitem>
       </varlistentry>
       <varlistentry>
diff --git a/lib/packagekit-glib2/pk-client-sync.c b/lib/packagekit-glib2/pk-client-sync.c
index 0b666a2..17c6a73 100644
--- a/lib/packagekit-glib2/pk-client-sync.c
+++ b/lib/packagekit-glib2/pk-client-sync.c
@@ -945,7 +945,7 @@ pk_client_get_categories (PkClient *client, GCancellable *cancellable,
  * pk_client_remove_packages:
  * @client: a valid #PkClient instance
  * @package_ids: (array zero-terminated=1): a null terminated array of package_id structures such as "hal;0.0.1;i386;fedora"
- * @allow_deps: if other dependant packages are allowed to be removed from the computer
+ * @allow_deps: if other dependent packages are allowed to be removed from the computer
  * @autoremove: if other packages installed at the same time should be tried to remove
  * @cancellable: a #GCancellable or %NULL
  * @progress_callback: (scope call): the function to run when the progress changes
diff --git a/lib/packagekit-glib2/pk-task.c b/lib/packagekit-glib2/pk-task.c
index ab63edc..9674209 100644
--- a/lib/packagekit-glib2/pk-task.c
+++ b/lib/packagekit-glib2/pk-task.c
@@ -1004,7 +1004,7 @@ pk_task_update_packages_async (PkTask *task, gchar **package_ids, GCancellable *
  * pk_task_remove_packages_async:
  * @task: a valid #PkTask instance
  * @package_ids: (array zero-terminated=1): a null terminated array of package_id structures such as "hal;0.0.1;i386;fedora"
- * @allow_deps: if other dependant packages are allowed to be removed from the computer
+ * @allow_deps: if other dependent packages are allowed to be removed from the computer
  * @autoremove: if other packages installed at the same time should be tried to remove
  * @cancellable: a #GCancellable or %NULL
  * @progress_callback: (scope call): the function to run when the progress changes
commit 02781d178c901e7bb15143f64b221912905ef0e3
Author: Richard Hughes <richard at hughsie.com>
Date:   Thu Jan 19 10:43:24 2012 +0000

    Don't segfault the client if there are no cached properties
    
    Hopefully resolves http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=656376

diff --git a/lib/packagekit-glib2/pk-client.c b/lib/packagekit-glib2/pk-client.c
index f6d4026..19e3bfd 100644
--- a/lib/packagekit-glib2/pk-client.c
+++ b/lib/packagekit-glib2/pk-client.c
@@ -1426,7 +1426,7 @@ pk_client_proxy_connect (PkClientState *state)
 
 	/* coldplug properties */
 	props = g_dbus_proxy_get_cached_property_names (state->proxy);
-	for (i = 0; props[i] != NULL; i++) {
+	for (i = 0; props != NULL && props[i] != NULL; i++) {
 		value_tmp = g_dbus_proxy_get_cached_property (state->proxy,
 							      props[i]);
 		pk_client_set_property_value (state,
diff --git a/lib/packagekit-glib2/pk-control.c b/lib/packagekit-glib2/pk-control.c
index 3ae9d94..83c3c72 100644
--- a/lib/packagekit-glib2/pk-control.c
+++ b/lib/packagekit-glib2/pk-control.c
@@ -377,7 +377,7 @@ pk_control_proxy_connect (PkControlState *state)
 
 	/* coldplug properties */
 	props = g_dbus_proxy_get_cached_property_names (state->proxy);
-	for (i = 0; props[i] != NULL; i++) {
+	for (i = 0; props != NULL && props[i] != NULL; i++) {
 		value_tmp = g_dbus_proxy_get_cached_property (state->proxy,
 							      props[i]);
 		pk_control_set_property_value (state->control,
commit 8757931548a62fb56b20a395f127d80c14a7b797
Author: Matthias Klumpp <matthias at tenstral.net>
Date:   Thu Jan 19 10:48:31 2012 +0100

    aptcc: Disable InstallFiles() again

diff --git a/backends/aptcc/pk-backend-aptcc.cpp b/backends/aptcc/pk-backend-aptcc.cpp
index 02cc09a..1815a12 100644
--- a/backends/aptcc/pk-backend-aptcc.cpp
+++ b/backends/aptcc/pk-backend-aptcc.cpp
@@ -1175,19 +1175,22 @@ cout << "FILE INSTALL: " << fileInstall << endl;
         return false;
     }
 
+    // This is broken at time.
+/*
     if (fileInstall) {
         // File installation EXPERIMENTAL
-//         gchar *path;
-//
-//         for (uint i = 0; i < g_strv_length(full_paths); i++) {
-//             if (_cancel) {
-//                 break;
-//             }
-//
-//             path = full_paths[i];
-//             cout << "InstallFiles: " << m_apt->installDebFiles(path, simulate) << endl;
-//         }
-    }
+        gchar *path;
+
+	for (uint i = 0; i < g_strv_length(full_paths); i++) {
+		if (_cancel) {
+			break;
+		}
+
+		path = full_paths[i];
+		cout << "InstallFiles: " << m_apt->installDebFiles(path, simulate) << endl;
+	}
+     }
+*/
 
 	delete m_apt;
 	return true;
@@ -1494,10 +1497,13 @@ pk_backend_get_roles (PkBackend *backend)
     }
 
     // only add GetDistroUpgrades if the binary is present
+    // InstallFiles is not working at time.
+/*
     if (g_file_test (GDEBI_BINARY, G_FILE_TEST_EXISTS)) {
         pk_bitfield_add(roles, PK_ROLE_ENUM_SIMULATE_INSTALL_FILES);
         pk_bitfield_add(roles, PK_ROLE_ENUM_INSTALL_FILES);
     }
+*/
 
     return roles;
 }
commit 55be0505f487d3aecbb766c01f348a8107fcb822
Author: Matthias Klumpp <matthias at tenstral.net>
Date:   Wed Jan 18 11:34:05 2012 +0100

    aptcc: Fix crash when simulating local package install

diff --git a/backends/aptcc/apt.cpp b/backends/aptcc/apt.cpp
index c7471d0..3c7ca30 100644
--- a/backends/aptcc/apt.cpp
+++ b/backends/aptcc/apt.cpp
@@ -1685,6 +1685,11 @@ PkgList aptcc::resolvePI(gchar **package_ids)
     PkgList ret;
 
     pk_backend_set_status (m_backend, PK_STATUS_ENUM_QUERY);
+
+    // Don't fail if package list is empty
+    if (package_ids == NULL)
+	    return ret;
+
     for (uint i = 0; i < g_strv_length(package_ids); i++) {
         if (_cancel) {
             break;
@@ -1774,15 +1779,18 @@ bool aptcc::markDebFileForInstall(const gchar *file, PkgList &install, PkgList &
 
         // The second line contains the packages to remove with '-' appended to
         // the end of the package name
-        gchar *removeStr = g_strndup(lines[1], strlen(lines[1]) - 1);
-        gchar **removePkgs = g_strsplit(removeStr, "- ", 0);
+	gchar **removePkgs = NULL;
+	if (strlen(lines[1]) > 0) {
+		gchar *removeStr = g_strndup(lines[1], strlen(lines[1]) - 1);
+		removePkgs = g_strsplit(removeStr, "- ", 0);
+		g_free(removeStr);
+	}
 
         // Store the changes
         install = resolvePI(installPkgs);
         remove = resolvePI(removePkgs);
         m_localDebFile = file;
-        
-        g_free(removeStr);
+
         g_strfreev(lines);
         g_strfreev(installPkgs);
         g_strfreev(removePkgs);
@@ -1843,7 +1851,7 @@ bool aptcc::runTransaction(PkgList &install, PkgList &remove, bool simulate)
                 return false;
             }
         }
-        
+
         for(PkgList::iterator i = remove.begin(); i != remove.end(); ++i) {
             pkgCache::PkgIterator Pkg = i->first;
             if (_cancel) {
commit eda4310bfe0d896963dea8fe10dab0701e38dcca
Author: Richard Hughes <richard at hughsie.com>
Date:   Tue Jan 17 17:45:01 2012 +0000

    trivial: post release version bump

diff --git a/RELEASE b/RELEASE
index adcba7e..26e302c 100644
--- a/RELEASE
+++ b/RELEASE
@@ -2,10 +2,10 @@ PackageKit Release Notes
 
 1. Write NEWS entries for PackageKit in the same format as usual.
 
-git shortlog PACKAGEKIT_0_7_1.. | grep -i -v trivial | grep -v Merge > NEWS.new
+git shortlog PACKAGEKIT_0_7_2.. | grep -i -v trivial | grep -v Merge > NEWS.new
 
 --------------------------------------------------------------------------------
-Version 0.7.2
+Version 0.7.3
 ~~~~~~~~~~~~~
 Released: 2011-xx-xx
 
@@ -31,8 +31,8 @@ git add po/*.po
 
 4. Commit changes in PackageKit git:
 
-git commit -a -m "Release version 0.7.2"
-git tag -s -f -m "Release 0.7.2" PACKAGEKIT_0_7_2
+git commit -a -m "Release version 0.7.3"
+git tag -s -f -m "Release 0.7.3" PACKAGEKIT_0_7_3
 <gpg password>
 git push --tags
 git push
@@ -58,7 +58,7 @@ tx push --source
 10. Send an email to packagekit at lists.freedesktop.org
 
 =================================================
-PackageKit 0.7.2 released!
+PackageKit 0.7.3 released!
 
 Tarballs available here: http://www.packagekit.org/releases/
 
diff --git a/configure.ac b/configure.ac
index ad2b2d0..e373196 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2,7 +2,7 @@
 
 m4_define([pk_major_version], [0])
 m4_define([pk_minor_version], [7])
-m4_define([pk_micro_version], [2])
+m4_define([pk_micro_version], [3])
 m4_define([pk_version],
           [pk_major_version.pk_minor_version.pk_micro_version])
 


More information about the PackageKit-commit mailing list