[PackageKit-commit] packagekit: Branch 'master' - 97 commits
Richard Hughes
hughsient at kemper.freedesktop.org
Mon Dec 13 02:22:28 PST 2010
.gitignore | 6
NEWS | 84
README.transifex | 11
RELEASE | 10
backends/.gitignore | 1
backends/Makefile.am | 4
backends/alpm/Makefile.am | 3
backends/alpm/pk-backend-alpm.c | 2
backends/apt/Makefile.am | 3
backends/apt/pk-backend-apt.c | 3
backends/aptcc/Makefile.am | 10
backends/aptcc/apt.cpp | 262 -
backends/aptcc/gstMatcher.cpp | 154
backends/aptcc/gstMatcher.h | 51
backends/aptcc/pk-backend-aptcc.cpp | 310 -
backends/box/Makefile.am | 3
backends/box/pk-backend-box.c | 2
backends/conary/Makefile.am | 3
backends/conary/pk-backend-conary.c | 2
backends/dummy/pk-backend-dummy.c | 62
backends/entropy/Makefile.am | 3
backends/entropy/pk-backend-entropy.c | 2
backends/opkg/Makefile.am | 3
backends/opkg/pk-backend-opkg.c | 2
backends/pacman/Makefile.am | 3
backends/pacman/backend-pacman.c | 3
backends/pisi/Makefile.am | 3
backends/pisi/pk-backend-pisi.c | 2
backends/poldek/Makefile.am | 3
backends/poldek/pk-backend-poldek.c | 2
backends/portage/Makefile.am | 3
backends/portage/pk-backend-portage.c | 2
backends/ports/Makefile.am | 3
backends/ports/pk-backend-ports.c | 2
backends/razor/Makefile.am | 3
backends/razor/pk-backend-razor.c | 2
backends/slapt/Makefile.am | 3
backends/slapt/pk-backend-slapt.c | 2
backends/smart/Makefile.am | 3
backends/smart/pk-backend-smart.c | 2
backends/smart/smartBackend.py | 6
backends/test/Makefile.am | 3
backends/test/pk-backend-test-fail.c | 11
backends/test/pk-backend-test-succeed.c | 9
backends/urpmi/Makefile.am | 3
backends/urpmi/pk-backend-urpmi.c | 3
backends/yum/Makefile.am | 5
backends/yum/Yum.conf | 17
backends/yum/pk-backend-yum.c | 2741 -------------
backends/yum/yumBackend.py | 140
backends/zif/.gitignore | 1
backends/zif/Makefile.am | 27
backends/zif/licenses.txt | 1
backends/zif/pk-backend-zif.c | 5102 +++++++++++++++++++++++++
backends/zif/zif-comps-groups.conf | 1
backends/zypp/Makefile.am | 3
backends/zypp/pk-backend-zypp.cpp | 459 +-
backends/zypp/zypp-utils.cpp | 54
backends/zypp/zypp-utils.h | 2
client/pk-console.c | 21
configure.ac | 20
contrib/PackageKit.spec.in | 17
contrib/pk-completion.bash | 7
docs/api/spec/pk-concepts.xml | 3
docs/html/pk-download.html | 11
lib/packagekit-glib2/pk-bitfield.c | 23
lib/packagekit-glib2/pk-client-helper.c | 66
lib/packagekit-glib2/pk-client-sync.c | 57
lib/packagekit-glib2/pk-client-sync.h | 8
lib/packagekit-glib2/pk-client.c | 83
lib/packagekit-glib2/pk-client.h | 11
lib/packagekit-glib2/pk-distro-upgrade.c | 57
lib/packagekit-glib2/pk-distro-upgrade.h | 7
lib/packagekit-glib2/pk-enum.c | 44
lib/packagekit-glib2/pk-enum.h | 20
lib/packagekit-glib2/pk-self-test.c | 4
lib/packagekit-qt/src/client.cpp | 3
lib/packagekit-qt/src/clientprivate.cpp | 26
lib/packagekit-qt/src/clientprivate.h | 27
lib/packagekit-qt/src/enum.h | 1123 ++---
lib/packagekit-qt/src/transaction.cpp | 17
lib/packagekit-qt/src/transaction.h | 12
lib/packagekit-qt/src/transactionprivate.cpp | 2
lib/python/packagekit/backend.py | 10
lib/python/packagekit/client.py | 2
po/cs.po | 2490 +++++++-----
po/es.po | 911 ++--
po/eu.po | 2075 ++++++++++
po/pl.po | 775 +--
po/uk.po | 964 ++--
po/zh_TW.po | 873 ++--
policy/org.freedesktop.packagekit.policy.in | 16
src/egg-string.c | 2
src/org.freedesktop.PackageKit.Transaction.xml | 102
src/pk-backend.c | 86
src/pk-backend.h | 11
src/pk-transaction-list.c | 3
src/pk-transaction.c | 122
src/pk-transaction.h | 7
99 files changed, 12990 insertions(+), 6753 deletions(-)
New commits:
commit 6e4b7e6de79891cdba9d10eed4ec7b326ebcb856
Author: Richard Hughes <richard at hughsie.com>
Date: Mon Dec 13 10:22:11 2010 +0000
Release version 0.6.11
diff --git a/NEWS b/NEWS
index 38064b0..ceb86bf 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,87 @@
+Version 0.6.11
+~~~~~~~~~~~~~~
+Released: 2010-12-13
+
+Notes:
+ - Additonal notes have been added to the DBus specification that allow
+ backends to send the origin of a installed package. This is optional.
+ - Additionally, more reccomendations have been made to allow searching
+ by repository. See the DBus specification for more details.
+ - An experimental Zif backend has been added. This should not be used
+ on production machines as it may crash and cause filesystem corruption.
+
+Translations:
+ - Added Basque translation (assar)
+ - Updated Chinese (Taiwan) (zh_TW) translation (Cheng-Chia Tseng)
+ - Updated Czech (cs) translation (fri)
+ - Updated Polish (pl) translation (Piotr DrÄ
g)
+ - Updated Spanish (Castilian) (es) translation (Jorge González)
+ - Updated Ukrainian (uk) translation (Yuri Chornoivan)
+
+Libraries:
+ - glib: Add some C getters to PkDistroUpgrade (Richard Hughes)
+ - packagekit-qt: Add searchGroups methods that can take a string so we can search on categories (Daniel Nicoletti)
+ - packagekit-qt: Emit transactionListChanged(empty) when daemon crashes (Daniel Nicoletti)
+ - packagekit-qt: Fix order of initialization (Daniel Nicoletti)
+ - packagekit-qt: Updated enums and converted tabs to spaces (Daniel Nicoletti)
+ - packagekit-qt: Use QDBusServiceWatcher instead of watching for serviceOwnerChanged() (Daniel Nicoletti)
+ - packagekit-qt: Write the getCategories() code so we can use it (Daniel Nicoletti)
+ - python: use SetHints now instead of SetLocale (Tim Waugh)
+
+Backends:
+ - aptcc: Added GStreamer search (Daniel Nicoletti)
+ - aptcc: Fix crash due to NULL strings
+ - aptcc: Fix regex not to match "()(64bit)" as we don't support multiarch anyway (Daniel Nicoletti)
+ - aptcc: Make sure the package is valid before some operations (Daniel Nicoletti)
+ - aptcc: Port away from PK_BACKEND_OPTIONS (Daniel Nicoletti)
+ - aptcc: Set the env proxy vars so that Apt::Acquire is not overwritten, fixes LP: #633008 (Daniel Nicoletti)
+ - aptcc: Use the new PK_ERROR_ENUM_CANNOT_GET_LOCK (Daniel Nicoletti)
+ - dummy: Add a more realistic UpgradeSystem (Richard Hughes)
+ - dummy: Fix a potential NULL dereference spotted by clang (Richard Hughes)
+ - pacman: Prevent recursive logging (Jonathan Conder)
+ - smart: Add origin to installed, if available (Anders F Bjorklund)
+ - yum: Allow a cache refresh when offline to deal with networkless setups (Richard Hughes)
+ - yum: Do not claim to implement the RepoSetData method (Richard Hughes)
+ - yum: Fix compiling when not using Zif (Richard Hughes)
+ - yum: Set the repository directory when doing a complete upgrade (Richard Hughes)
+ - yum: Support repo:foo virtual categories and searching using SearchGroup (Richard Hughes)
+ - yum: Support the optional origin extension for installed packages by using the yumdb information (Richard Hughes)
+ - zif: Add a new backend, which uses Zif to interface with the rpmdb and the Fedora metadata (Richard Hughes)
+ - zif: Add support for SearchGroup('repo:foo') (Richard Hughes)
+ - zif: Don't emit a ZifState warning if an update does not have update details (Richard Hughes)
+ - zif: Fix changelog generation when there is no changeset version available (Richard Hughes)
+ - zif: For updates without updateinfo, do not put '<none>' in the translated display (Richard Hughes)
+ - zif: Get the update vendor string and send to the daemon (Richard Hughes)
+ - zif: If we are running in background mode, depsolve the update lists (Richard Hughes)
+ - zif: Try to use PK_ERROR_ENUM_INTERNAL_ERROR less by using the correct PackageKit error code (Richard Hughes)
+ - zif: Use zif_package_get_printable() to get easier to understand error messages (Richard Hughes)
+ - zypp: Catch ZYppFactoryException in get_zypp (Zhang Qiang)
+ - zypp: Filter installed packages to update (Zhang Qiang)
+ - zypp: Fix a logic error in refresh cache (Zhang Qiang)
+ - zypp: Fix a typo in get_zypp (Zhang Qiang)
+ - zypp: Port from PK_BACKEND_OPTIONS function table (Duncan Mac-Vicar P)
+ - zypp: Support repo filter in geting repo list (Zhang Qiang)
+ - zypp: Transfer correct restart info while updating packages (Zhang Qiang)
+ - zypp: Use zypp::sat::SolvAttr::filelist in search file (Zhang Qiang)
+
+New Features:
+ - Add a new backend role for updating the whole distro: UpgradeSystem (Richard Hughes)
+ - Allow backend to encode the package origin in the package-id (Richard Hughes)
+ - Added PK_ERROR_ENUM_CANNOT_FETCH_SOURCES when refreshing cache fails (Daniel Nicoletti)
+ - Add recommendation repo:foo' to be able to return all packages in a certain repository (Richard Hughes)
+ - Change the spec to recommend 'category:web-development' rather than '@web-development' (Richard Hughes)
+ - Spawn KDE Debconf frontend if KDE is running (Matthias Klumpp)
+
+Bugfixes:
+ - Allow cancelling a transaction if it is not cancellable (Richard Hughes)
+ - Always show update a package even if already update (Zhang Qiang)
+ - Correct the description of org.freedesktop.packagekit.upgrade-system (Sveinung Kvilhaugsvik)
+ - Do not disable background mode if we are marked as interactive, as the two are orthognal (Richard Hughes)
+ - Ensure we can send a cache-age of maxuint to fix command-not-found (Richard Hughes)
+ - Ensure we emit PK_STATUS_ENUM_WAIT when a transaction is in the 'ready' state (Richard Hughes)
+ - Ignore unknown entries in the pk_x_bitfield_from_string() to ensure forwards compatibility (Richard Hughes)
+ - Use G_LOG_DOMAIN in all the backends (Richard Hughes)
+
Version 0.6.10
~~~~~~~~~~~~~~
Released: 2010-11-01
diff --git a/docs/html/pk-download.html b/docs/html/pk-download.html
index e6547f4..5410b6b 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> </td><td><b>Date</b></td></tr>
+<tr><td>0.6.11</td><td></td><td>2010-12-13</td></tr>
<tr><td>0.6.10</td><td></td><td>2010-11-01</td></tr>
<tr><td>0.6.9</td><td></td><td>2010-10-04</td></tr>
<tr><td>0.6.8</td><td></td><td>2010-09-06</td></tr>
commit 8be3967a18eda8928326a0e064674ddedfcc3290
Merge: 02721af... a0d3395...
Author: Matthias Klumpp <matthias at nlinux.org>
Date: Sun Dec 12 18:31:26 2010 +0100
Merge branch 'master' of gitorious.org:packagekit/packagekit
commit 02721af4f8302914227c18d0b3834191add6dabb
Author: Matthias Klumpp <matthias at nlinux.org>
Date: Sun Dec 12 18:30:45 2010 +0100
trivial: Fix compilation issue with GCC 4.5
For some reason, GCC throws an error cause the
"command" var might be not initialized.
So we initialize it now.
diff --git a/src/pk-transaction.c b/src/pk-transaction.c
index 2d7c8cd..a77df9a 100644
--- a/src/pk-transaction.c
+++ b/src/pk-transaction.c
@@ -687,7 +687,7 @@ pk_transaction_process_script (PkTransaction *transaction, const gchar *filename
GFile *file = NULL;
GFileInfo *info = NULL;
guint file_uid;
- gchar *command;
+ gchar *command = NULL;
gint exit_status = 0;
gboolean ret;
GError *error = NULL;
commit a0d3395f6b3372dab3e516921dcdcec746ab8653
Author: Anders F Bjorklund <afb at users.sourceforge.net>
Date: Fri Dec 10 12:23:05 2010 +0100
smart: add origin to installed, if available
diff --git a/backends/smart/smartBackend.py b/backends/smart/smartBackend.py
index d7eeeab..5121efe 100755
--- a/backends/smart/smartBackend.py
+++ b/backends/smart/smartBackend.py
@@ -1029,7 +1029,7 @@ class PackageKitSmartBackend(PackageKitBaseBackend):
if repoid == 'local':
channels = self.ctrl.getFileChannels()
elif repoid:
- if repoid == 'installed':
+ if repoid.startswith('installed'):
repoid = self.systemchannel
channels = self.ctrl.getChannels()
channels = [x for x in channels if x.getAlias() == repoid]
@@ -1073,6 +1073,10 @@ class PackageKitSmartBackend(PackageKitBaseBackend):
channel = loader.getChannel()
if package.installed:
data = 'installed'
+ if hasattr(smart.pkgconf, 'getOrigin'):
+ origin = smart.pkgconf.getOrigin(package)
+ if origin:
+ data += ':' + origin
elif self._channel_is_local(channel):
data = 'local'
else:
commit 34a11a9123d14155097c1f7f81b1f45f54da0bf4
Author: Tim Waugh <twaugh at redhat.com>
Date: Fri Dec 10 11:05:41 2010 +0000
python: use SetHints now instead of SetLocale.
diff --git a/lib/python/packagekit/client.py b/lib/python/packagekit/client.py
index 5273a7e..b051fd3 100644
--- a/lib/python/packagekit/client.py
+++ b/lib/python/packagekit/client.py
@@ -168,7 +168,7 @@ class PackageKitTransaction:
def set_locale(self, code):
'''Set the language to the given locale code'''
- return self._iface.SetLocale(code)
+ return self._iface.SetHints(['locale=%s' % code])
def cancel(self):
'''Cancel the transaction'''
commit 2ecb5fde0b9e14dcf897362f4e136b2f53331b6f
Author: Zhang Qiang <qiang.z.zhang at intel.com>
Date: Fri Dec 10 14:05:58 2010 +0800
zypp:use zypp::sat::SolvAttr::filelist in search file
Use zypp::sat::SolvAttr::filelist to instead of calling
zypp_get_packages_by_file to search file with full path.
Without this patch, 'pkcon search file' can only search files that has
already been installed.
diff --git a/backends/zypp/pk-backend-zypp.cpp b/backends/zypp/pk-backend-zypp.cpp
index 29b171a..f3af16f 100644
--- a/backends/zypp/pk-backend-zypp.cpp
+++ b/backends/zypp/pk-backend-zypp.cpp
@@ -1433,14 +1433,13 @@ backend_find_packages_thread (PkBackend *backend)
// did not search in srcpackages.
break;
case SEARCH_TYPE_FILE: {
- // zypp_build_pool (TRUE); called by zypp_get_packages_by_file
- std::vector<zypp::sat::Solvable> *r;
- r = zypp_get_packages_by_file (backend, search);
- v.swap( *r );
- delete r;
- // zypp_get_packages_by_file does strange things :)
- // Maybe it would be sufficient to simply query
- // zypp::sat::SolvAttr::filelist instead?
+ zypp_build_pool (backend, TRUE);
+ q.addKind( zypp::ResKind::package );
+ q.addAttribute( zypp::sat::SolvAttr::name );
+ q.addAttribute( zypp::sat::SolvAttr::description );
+ q.addAttribute( zypp::sat::SolvAttr::filelist );
+ q.setFilesMatchFullPath(true);
+ q.setMatchExact();
break;
}
};
commit d10753a01553899e8e4f7659b6e6a4745d9a0275
Author: Richard Hughes <richard at hughsie.com>
Date: Thu Dec 9 18:29:56 2010 +0000
zif: add support for SearchGroup('repo:foo')
diff --git a/backends/zif/pk-backend-zif.c b/backends/zif/pk-backend-zif.c
index 0efdfba..2cc0695 100644
--- a/backends/zif/pk-backend-zif.c
+++ b/backends/zif/pk-backend-zif.c
@@ -776,6 +776,96 @@ out:
}
/**
+ * pk_backend_search_repos:
+ */
+static GPtrArray *
+pk_backend_search_repos (gchar **repos,
+ ZifState *state,
+ GError **error)
+{
+ gboolean ret;
+ gchar *installed_repo_id = NULL;
+ GPtrArray *array_local = NULL;
+ GPtrArray *array = NULL;
+ GPtrArray *array_remote = NULL;
+ GPtrArray *array_tmp = NULL;
+ guint i;
+ ZifPackage *package;
+ ZifState *state_local;
+ ZifStoreRemote *store;
+
+ /* set steps */
+ ret = zif_state_set_steps (state,
+ NULL,
+ 90, /* search installed */
+ 5, /* get remote store */
+ 5, /* get store */
+ -1);
+ g_assert (ret);
+
+ /* results array */
+ array_tmp = zif_object_array_new ();
+
+ /* blank */
+ if (g_strcmp0 (repos[0], "repo:") == 0)
+ goto skip;
+
+ /* get all installed packages that were installed from this repo */
+ installed_repo_id = g_strdup_printf ("installed:%s", repos[0]);
+ state_local = zif_state_get_child (state);
+ array_local = zif_store_get_packages (priv->store_local, state_local, error);
+ if (array_local == NULL)
+ goto out;
+ for (i=0; i<array_local->len; i++) {
+ package = g_ptr_array_index (array_local, i);
+ if (g_strcmp0 (zif_package_get_data (package),
+ installed_repo_id) == 0)
+ zif_object_array_add (array_tmp, package);
+ }
+
+ /* this section done */
+ ret = zif_state_done (state, error);
+ if (!ret)
+ goto out;
+
+ /* get all the available packages from this repo */
+ state_local = zif_state_get_child (state);
+ store = zif_repos_get_store (priv->repos, repos[0], state_local, error);
+ if (store == NULL)
+ goto out;
+
+ /* this section done */
+ ret = zif_state_done (state, error);
+ if (!ret)
+ goto out;
+
+ state_local = zif_state_get_child (state);
+ array_remote = zif_store_get_packages (ZIF_STORE (store), state_local, error);
+ if (array_remote == NULL)
+ goto out;
+ zif_object_array_add_array (array_tmp, array_remote);
+
+ /* this section done */
+ ret = zif_state_done (state, error);
+ if (!ret)
+ goto out;
+skip:
+ /* success */
+ array = g_ptr_array_ref (array_tmp);
+out:
+ g_free (installed_repo_id);
+ if (store != NULL)
+ g_object_unref (store);
+ if (array_tmp != NULL)
+ g_ptr_array_unref (array_tmp);
+ if (array_local != NULL)
+ g_ptr_array_unref (array_local);
+ if (array_remote != NULL)
+ g_ptr_array_unref (array_remote);
+ return array;
+}
+
+/**
* pk_backend_search_collections:
*/
static GPtrArray *
@@ -1172,6 +1262,20 @@ pk_backend_search_thread (PkBackend *backend)
search_stripped[i] = g_strdup (&search[i][1]);
array = zif_store_array_search_category (store_array, search_stripped, state_local, &error);
g_strfreev (search_stripped);
+ } else if (g_str_has_prefix (search[0], "category:")) {
+ search_entries = g_strv_length (search);
+ search_stripped = g_new0 (gchar *, search_entries + 1);
+ for (i=0; i < search_entries; i++)
+ search_stripped[i] = g_strdup (&search[i][9]);
+ array = zif_store_array_search_category (store_array, search_stripped, state_local, &error);
+ g_strfreev (search_stripped);
+ } else if (g_str_has_prefix (search[0], "repo:")) {
+ search_entries = g_strv_length (search);
+ search_stripped = g_new0 (gchar *, search_entries + 1);
+ for (i=0; i < search_entries; i++)
+ search_stripped[i] = g_strdup (&search[i][5]);
+ array = pk_backend_search_repos (search_stripped, state_local, &error);
+ g_strfreev (search_stripped);
} else if (g_strcmp0 (search[0], "newest") == 0) {
recent = zif_config_get_uint (priv->config, "recent", &error);
array = pk_backend_search_newest (store_array, state_local, recent, &error);
@@ -4389,21 +4493,29 @@ out:
static gboolean
pk_backend_get_categories_thread (PkBackend *backend)
{
+ const gchar *name;
+ const gchar *repo_id;
+ gboolean enabled;
gboolean ret;
gchar *cat_id;
+ GError *error = NULL;
GPtrArray *array = NULL;
+ GPtrArray *repos = NULL;
GPtrArray *stores = NULL;
guint i;
ZifCategory *cat;
-
ZifState *state_local;
- GError *error = NULL;
+ ZifState *state_loop;
+ ZifState *state_tmp;
+ ZifStoreRemote *store;
/* set steps */
ret = zif_state_set_steps (priv->state,
NULL,
25, /* get stores */
- 60, /* get cats */
+ 50, /* get cats */
+ 5, /* get repos */
+ 5, /* emit repos */
15, /* emit */
-1);
g_assert (ret);
@@ -4489,8 +4601,131 @@ pk_backend_get_categories_thread (PkBackend *backend)
g_error_free (error);
goto out;
}
+
+ /* add the repo category objects */
+ pk_backend_category (backend,
+ NULL,
+ "repo:",
+ "Software Sources",
+ "Packages from specific software sources",
+ "base-system");
+ state_local = zif_state_get_child (priv->state);
+ repos = zif_repos_get_stores (priv->repos, state_local, &error);
+ if (repos == NULL) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_REPO_NOT_FOUND,
+ "failed to find repos: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* this section done */
+ ret = zif_state_done (priv->state, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* looks at each store */
+ state_local = zif_state_get_child (priv->state);
+ zif_state_set_number_steps (state_local, repos->len);
+ for (i=0; i<repos->len; i++) {
+ store = g_ptr_array_index (repos, i);
+
+ /* allow filtering on devel */
+ state_loop = zif_state_get_child (state_local);
+
+ /* devel, name, enabled */
+ ret = zif_state_set_steps (state_loop,
+ NULL,
+ 50, /* get enabled */
+ 50, /* get name */
+ -1);
+ g_assert (ret);
+
+ state_tmp = zif_state_get_child (state_loop);
+ enabled = zif_store_remote_get_enabled (store, state_tmp, NULL);
+ if (!enabled) {
+ ret = zif_state_finished (state_loop, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+ goto skip;
+ }
+
+ /* this section done */
+ ret = zif_state_done (state_loop, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* get name */
+ state_tmp = zif_state_get_child (state_loop);
+ name = zif_store_remote_get_name (store, state_tmp, NULL);
+
+ /* this section done */
+ ret = zif_state_done (state_loop, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* emit */
+ repo_id = zif_store_get_id (ZIF_STORE (store));
+ cat_id = g_strdup_printf ("repo:%s", repo_id);
+ pk_backend_category (backend,
+ "repo:",
+ cat_id,
+ name,
+ name,
+ "base-system");
+ g_free (cat_id);
+skip:
+ /* this section done */
+ ret = zif_state_done (state_local, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+ }
+
+ /* this section done */
+ ret = zif_state_done (priv->state, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
out:
pk_backend_finished (backend);
+ if (repos != NULL)
+ g_ptr_array_unref (repos);
if (array != NULL)
g_ptr_array_unref (array);
if (stores != NULL)
commit 520752778559a4b2a6f14340febe7b82d89f1005
Author: Matthias Klumpp <matthias at nlinux.org>
Date: Thu Dec 9 18:46:30 2010 +0100
Spawn KDE Debconf frontend if KDE is running
Make pk-glib2 run a KDE frontend if it is installed
and KDE is running.
This will make it possible for KDE users to have nice
KDE dialogs displayed when using pkcon.
diff --git a/lib/packagekit-glib2/pk-client-helper.c b/lib/packagekit-glib2/pk-client-helper.c
index fd440ac..4781a90 100644
--- a/lib/packagekit-glib2/pk-client-helper.c
+++ b/lib/packagekit-glib2/pk-client-helper.c
@@ -110,19 +110,21 @@ pk_client_helper_stop (PkClientHelper *client_helper, GError **error)
g_return_val_if_fail (priv->socket_file != NULL, FALSE);
/* close the socket */
- ret = g_socket_close (priv->socket, error);
- if (!ret)
- goto out;
+ if (priv->socket != NULL) {
+ ret = g_socket_close (priv->socket, error);
+ if (!ret)
+ goto out;
- /* stop watching for events */
- if (priv->io_channel_socket_listen_id > 0)
- g_source_remove (priv->io_channel_socket_listen_id);
- if (priv->io_channel_child_stdout_listen_id > 0)
- g_source_remove (priv->io_channel_child_stdout_listen_id);
- if (priv->io_channel_child_stderr_listen_id > 0)
- g_source_remove (priv->io_channel_child_stderr_listen_id);
- if (priv->io_channel_child_stdin_listen_id > 0)
- g_source_remove (priv->io_channel_child_stdin_listen_id);
+ /* stop watching for events */
+ if (priv->io_channel_socket_listen_id > 0)
+ g_source_remove (priv->io_channel_socket_listen_id);
+ if (priv->io_channel_child_stdout_listen_id > 0)
+ g_source_remove (priv->io_channel_child_stdout_listen_id);
+ if (priv->io_channel_child_stderr_listen_id > 0)
+ g_source_remove (priv->io_channel_child_stderr_listen_id);
+ if (priv->io_channel_child_stdin_listen_id > 0)
+ g_source_remove (priv->io_channel_child_stdin_listen_id);
+ }
/* kill process */
if (priv->child_pid > 0) {
@@ -138,10 +140,15 @@ pk_client_helper_stop (PkClientHelper *client_helper, GError **error)
}
}
+ /* when we're here, everything worked fine */
+ ret = TRUE;
+
/* remove any socket file */
- ret = g_file_delete (priv->socket_file, NULL, error);
- if (!ret)
- goto out;
+ if (g_file_query_exists (priv->socket_file, NULL)) {
+ ret = g_file_delete (priv->socket_file, NULL, error);
+ if (!ret)
+ goto out;
+ }
out:
return ret;
}
@@ -437,7 +444,10 @@ pk_client_helper_start (PkClientHelper *client_helper,
gchar **argv, gchar **envp,
GError **error)
{
+ guint i;
gboolean ret = FALSE;
+ gboolean use_kde_helper = FALSE;
+ GError *error_local = NULL;
gint fd;
GSocketAddress *address = NULL;
PkClientHelperPrivate *priv = client_helper->priv;
@@ -459,13 +469,20 @@ pk_client_helper_start (PkClientHelper *client_helper,
}
g_debug ("using socket in %s", socket_filename);
+ priv->socket_file = g_file_new_for_path (socket_filename);
+
+ /* preconfigure KDE frontend, if requested */
+ for (i=0; envp[i] != NULL; i++) {
+ if (g_strcmp0 (envp[i], "DEBIAN_FRONTEND=kde") == 0)
+ if (g_file_test ("/usr/bin/debconf-kde-helper", G_FILE_TEST_EXISTS))
+ use_kde_helper = TRUE;
+ }
/* cache for actual start */
priv->argv = g_strdupv (argv);
priv->envp = g_strdupv (envp);
/* create socket */
- priv->socket_file = g_file_new_for_path (socket_filename);
priv->socket = g_socket_new (G_SOCKET_FAMILY_UNIX, G_SOCKET_TYPE_STREAM, G_SOCKET_PROTOCOL_DEFAULT, error);
if (priv->socket == NULL)
goto out;
@@ -476,6 +493,23 @@ pk_client_helper_start (PkClientHelper *client_helper,
if (!ret)
goto out;
+ /* spawn KDE debconf communicator */
+ if (use_kde_helper) {
+ priv->argv = g_new0 (gchar *, 2);
+ priv->argv[0] = g_strdup ("/usr/bin/debconf-kde-helper");
+ priv->argv[1] = g_strconcat ("--socket-path", "=", socket_filename, NULL);
+
+ ret = g_spawn_async (NULL, priv->argv, NULL, G_SPAWN_STDOUT_TO_DEV_NULL,
+ NULL, NULL, &priv->child_pid, &error_local);
+ if (!ret) {
+ g_warning ("failed to spawn: %s", error_local->message);
+ g_error_free (error_local);
+ goto out;
+ }
+ g_debug ("started process %s with pid %i", priv->argv[0], priv->child_pid);
+ goto out;
+ }
+
/* listen to the socket */
ret = g_socket_listen (priv->socket, error);
if (!ret)
commit a53380b0846cfcf5cc263b2c1ee26220d9eec728
Author: Richard Hughes <richard at hughsie.com>
Date: Thu Dec 9 16:29:38 2010 +0000
yum: Support repo:foo virtual categories and searching using SearchGroup
diff --git a/backends/yum/yumBackend.py b/backends/yum/yumBackend.py
index 0d10c49..0edce6d 100755
--- a/backends/yum/yumBackend.py
+++ b/backends/yum/yumBackend.py
@@ -520,6 +520,113 @@ class PackageKitYumBackend(PackageKitBaseBackend, PackagekitPackage):
raise PkError(ERROR_INTERNAL_ERROR, _format_str(traceback.format_exc()))
return pkgs
+ def _handle_repo_group_search_using_yumdb(self, repo_id, filters):
+ """
+ Handle the special repo groups
+ """
+ self.percentage(None)
+ pkgfilter = YumFilter(filters)
+ available = []
+ installed = []
+
+ pkgs = []
+ # get installed packages that came from this repo
+ try:
+ pkgs = self.yumbase.rpmdb
+ except exceptions.IOError, e:
+ self.error(ERROR_NO_SPACE_ON_DEVICE, "Disk error: %s" % _to_unicode(e))
+ except Exception, e:
+ self.error(ERROR_INTERNAL_ERROR, _format_str(traceback.format_exc()))
+ for pkg in pkgs:
+ if pkg.yumdb_info.get('from_repo') == repo_id:
+ pkgfilter.add_installed([pkg])
+
+ # find the correct repo
+ try:
+ repos = self.yumbase.repos.findRepos(repo_id)
+ except exceptions.IOError, e:
+ raise PkError(ERROR_NO_SPACE_ON_DEVICE, "Disk error: %s" % _to_unicode(e))
+ except Exception, e:
+ raise PkError(ERROR_INTERNAL_ERROR, _format_str(traceback.format_exc()))
+ if len(repos) == 0:
+ raise PkError(ERROR_REPO_NOT_FOUND, "cannot find repo %s" % repo)
+
+ # the repo might have been disabled if it is no longer contactable
+ if not repos[0].isEnabled():
+ raise PkError(ERROR_PACKAGE_NOT_FOUND, '%s cannot be found as %s is disabled' % (_format_package_id(package_id), repos[0].id))
+
+ # populate the sack with data
+ try:
+ self.yumbase.repos.populateSack(repo_id)
+ except exceptions.IOError, e:
+ raise PkError(ERROR_NO_SPACE_ON_DEVICE, "Disk error: %s" % _to_unicode(e))
+ except Exception, e:
+ raise PkError(ERROR_INTERNAL_ERROR, _format_str(traceback.format_exc()))
+ for pkg in repos[0].sack:
+ available.append(pkg)
+
+ # add list to filter
+ pkgfilter.add_installed(installed)
+ pkgfilter.add_available(available)
+ package_list = pkgfilter.post_process()
+ self._show_package_list(package_list)
+ self.percentage(100)
+
+ def _handle_repo_group_search(self, repo_id, filters):
+ """
+ Handle the special repo groups
+ This is much slower than using _handle_repo_group_search_using_yumdb()
+ as we have to resolve each package in the repo to see if it's
+ installed.
+ Of course, on RHEL5, there is no yumdb.
+ """
+ self.percentage(None)
+ pkgfilter = YumFilter(filters)
+ available = []
+ installed = []
+
+ # find the correct repo
+ try:
+ repos = self.yumbase.repos.findRepos(repo_id)
+ except exceptions.IOError, e:
+ raise PkError(ERROR_NO_SPACE_ON_DEVICE, "Disk error: %s" % _to_unicode(e))
+ except Exception, e:
+ raise PkError(ERROR_INTERNAL_ERROR, _format_str(traceback.format_exc()))
+ if len(repos) == 0:
+ raise PkError(ERROR_REPO_NOT_FOUND, "cannot find repo %s" % repo)
+ print "found repos"
+
+ # the repo might have been disabled if it is no longer contactable
+ if not repos[0].isEnabled():
+ raise PkError(ERROR_PACKAGE_NOT_FOUND, '%s cannot be found as %s is disabled' % (_format_package_id(package_id), repos[0].id))
+
+ # populate the sack with data
+ try:
+ self.yumbase.repos.populateSack(repo_id)
+ except exceptions.IOError, e:
+ raise PkError(ERROR_NO_SPACE_ON_DEVICE, "Disk error: %s" % _to_unicode(e))
+ except Exception, e:
+ raise PkError(ERROR_INTERNAL_ERROR, _format_str(traceback.format_exc()))
+
+ for pkg in repos[0].sack:
+ try:
+ instpo = self.yumbase.rpmdb.searchNevra(name=pkg.name, epoch=pkg.epoch, ver=pkg.ver, rel=pkg.rel, arch=pkg.arch)
+ except exceptions.IOError, e:
+ raise PkError(ERROR_NO_SPACE_ON_DEVICE, "Disk error: %s" % _to_unicode(e))
+ except Exception, e:
+ raise PkError(ERROR_INTERNAL_ERROR, _format_str(traceback.format_exc()))
+ if self._is_inst(pkg):
+ installed.append(instpo[0])
+ else:
+ available.append(pkg)
+
+ # add list to filter
+ pkgfilter.add_installed(installed)
+ pkgfilter.add_available(available)
+ package_list = pkgfilter.post_process()
+ self._show_package_list(package_list)
+ self.percentage(100)
+
def _handle_newest(self, filters):
"""
Handle the special newest group
@@ -640,6 +747,14 @@ class PackageKitYumBackend(PackageKitBaseBackend, PackagekitPackage):
self.error(e.code, e.details, exit=False)
return
+ # handle repo groups
+ if 'repo:' in values[0]:
+ try:
+ self._handle_repo_group_search_using_yumdb(values[0].replace('repo:',''), filters)
+ except PkError, e:
+ self.error(e.code, e.details, exit=False)
+ return
+
# for each search term
for value in values:
# handle dynamic groups (yum comps group)
@@ -894,6 +1009,20 @@ class PackageKitYumBackend(PackageKitBaseBackend, PackagekitPackage):
self.category("", cat_id, name, summary, icon)
self._get_groups(cat_id)
+ # also add the repo category objects
+ self.category("", 'repo:', 'Software Sources', 'Packages from specific software sources', 'base-system')
+ try:
+ repos = self.yumbase.repos.repos.values()
+ except exceptions.IOError, e:
+ self.error(ERROR_NO_SPACE_ON_DEVICE, "Disk error: %s" % _to_unicode(e))
+ return
+ except Exception, e:
+ self.error(ERROR_INTERNAL_ERROR, _format_str(traceback.format_exc()))
+ return
+ for repo in repos:
+ if repo.isEnabled():
+ self.category("repo:", "repo:" + repo.id, repo.name, 'Packages from ' + repo.name, 'base-system')
+
def _get_groups(self, cat_id):
'''
Implement the get-collections functionality
commit c1ddea497f0634acc393f15f554553403fbc5943
Author: Richard Hughes <richard at hughsie.com>
Date: Thu Dec 9 16:21:10 2010 +0000
Add 'repo:foo' to the specification to be able to return all packages in a certain repository and to list them as categories
diff --git a/src/org.freedesktop.PackageKit.Transaction.xml b/src/org.freedesktop.PackageKit.Transaction.xml
index b879efa..da08713 100644
--- a/src/org.freedesktop.PackageKit.Transaction.xml
+++ b/src/org.freedesktop.PackageKit.Transaction.xml
@@ -283,6 +283,13 @@
This method typically emits
<doc:tt>Categories</doc:tt> and <doc:tt>Error</doc:tt>.
</doc:para>
+ <doc:para>
+ Note: Categories can be returned that represent groups of
+ packages in a specific repository.
+ These will have a category prefix of <doc:tt>repo:</doc:tt>
+ which should be understood by <doc:tt>SearchGroups</doc:tt>
+ if this feature is used.
+ </doc:para>
</doc:doc>
</method>
@@ -1205,6 +1212,14 @@
This is still supported, and backends should continue to support
category searches like <doc:tt>@web-development</doc:tt>.
</doc:para>
+ <doc:para>
+ If the values strings are prefixed with <doc:tt>repo:</doc:tt> then
+ the request is treated as a 'repository search', for example:
+ <doc:tt>repo:fedora-debuginfo</doc:tt>.
+ In this instance all packages that were either installed
+ from, or can be installed from the <doc:tt>fedora-debuginfo</doc:tt>
+ source would be returned.
+ </doc:para>
</doc:summary>
</doc:doc>
</arg>
commit 2272147a6d0aa846da8aa3e41c099f4082ee43e3
Author: Richard Hughes <richard at hughsie.com>
Date: Thu Dec 9 16:19:27 2010 +0000
Change the spec to recommend 'category:web-development' rather than '@web-development' as it's less magic
diff --git a/src/org.freedesktop.PackageKit.Transaction.xml b/src/org.freedesktop.PackageKit.Transaction.xml
index 2855550..b879efa 100644
--- a/src/org.freedesktop.PackageKit.Transaction.xml
+++ b/src/org.freedesktop.PackageKit.Transaction.xml
@@ -1194,11 +1194,16 @@
<doc:para>
An enumerated group type, or <doc:tt>unknown</doc:tt>. The search
cannot contain spaces.
+ The following recommendations are made below:
</doc:para>
<doc:para>
- If the values strings are prefixed with <doc:tt>@</doc:tt> then
- this is treated as a category, for example:
- <doc:tt>@web-development</doc:tt>.
+ If the values strings are prefixed with <doc:tt>category:</doc:tt> then
+ the request is treated as a 'category search', for example:
+ <doc:tt>category:web-development</doc:tt>.
+ Note: the old nomenclature for a 'category search' suggested
+ using a <doc:tt>@</doc:tt> prefix for the values options.
+ This is still supported, and backends should continue to support
+ category searches like <doc:tt>@web-development</doc:tt>.
</doc:para>
</doc:summary>
</doc:doc>
commit ef0f3ede40592650248db5673ede85ab66b5d841
Author: Richard Hughes <richard at hughsie.com>
Date: Thu Dec 9 12:14:45 2010 +0000
yum: support the optional origin extension for installed packages by using the yumdb information
diff --git a/backends/yum/yumBackend.py b/backends/yum/yumBackend.py
index f956d3e..0d10c49 100755
--- a/backends/yum/yumBackend.py
+++ b/backends/yum/yumBackend.py
@@ -421,7 +421,7 @@ class PackageKitYumBackend(PackageKitBaseBackend, PackagekitPackage):
try:
res = self.yumbase.searchGenerator(searchlist, values)
for (pkg, inst) in res:
- if pkg.repo.id == 'installed':
+ if pkg.repo.id.startswith('installed'):
installed.append(pkg)
else:
available.append(pkg)
@@ -1056,7 +1056,7 @@ class PackageKitYumBackend(PackageKitBaseBackend, PackagekitPackage):
# get e, v, r from package id version
e, v, r = _getEVR(idver)
- if repo == 'installed':
+ if repo.startswith('installed'):
# search the rpmdb for the nevra
try:
pkgs = self.yumbase.rpmdb.searchNevra(name=n, epoch=e, ver=v, rel=r, arch=a)
@@ -2478,7 +2478,7 @@ class PackageKitYumBackend(PackageKitBaseBackend, PackagekitPackage):
# if we are remote and in the cache, our size is zero
size = pkg.size
- if pkg.repo.id != 'installed' and pkg.verifyLocalPkg():
+ if not pkg.repo.id.startswith('installed') and pkg.verifyLocalPkg():
size = 0
group = self.comps.get_group(pkg.name)
@@ -2514,6 +2514,11 @@ class PackageKitYumBackend(PackageKitBaseBackend, PackagekitPackage):
repo = str(pkg.repo)
if repo.startswith('/'):
repo = "local"
+ # can we add data from the yumdb
+ if repo == 'installed':
+ repo_tmp = pkg.yumdb_info.get('from_repo')
+ if repo_tmp:
+ repo = 'installed:' + repo_tmp
package_id = self.get_package_id(pkg.name, pkgver, pkg.arch, repo)
return package_id
commit 07e6cd5ba15bd8c3f4553c5bdf748a7c7636c4fa
Author: Richard Hughes <richard at hughsie.com>
Date: Thu Dec 9 11:16:35 2010 +0000
Add an optional spec enhancement to allow backend to encode the package origin in the package-id
This allow local package-id in the format 'hal;0.1;i386;installed:fedora'
diff --git a/docs/api/spec/pk-concepts.xml b/docs/api/spec/pk-concepts.xml
index aaf82b2..b74b532 100644
--- a/docs/api/spec/pk-concepts.xml
+++ b/docs/api/spec/pk-concepts.xml
@@ -22,8 +22,7 @@
be present.
For instance, <literal>gnome-keyring-manager;2.18.0;;</literal> is
valid but <literal>gnome-keyring-manager;2.18.0</literal> is not.
- The data field can be used for the repository name or any other purpose.
- It is designed to make the life of a backend writer a little bit easier.
+ The data field is used for the repository name.
</para>
<para>
The data field for an installed package must be
diff --git a/src/org.freedesktop.PackageKit.Transaction.xml b/src/org.freedesktop.PackageKit.Transaction.xml
index 17b3ab9..2855550 100644
--- a/src/org.freedesktop.PackageKit.Transaction.xml
+++ b/src/org.freedesktop.PackageKit.Transaction.xml
@@ -1063,7 +1063,8 @@
<doc:para>
<doc:tt>Package</doc:tt> enumerated types should be
<doc:tt>available</doc:tt> or <doc:tt>installed</doc:tt>.
- </doc:para> </doc:description>
+ </doc:para>
+ </doc:description>
</doc:doc>
<arg type="s" name="filter" direction="in">
<doc:doc>
@@ -1115,7 +1116,8 @@
<doc:para>
<doc:tt>Package</doc:tt> enumerated types should be
<doc:tt>available</doc:tt> or <doc:tt>installed</doc:tt>.
- </doc:para> </doc:description>
+ </doc:para>
+ </doc:description>
</doc:doc>
<arg type="s" name="filter" direction="in">
<doc:doc>
@@ -1870,7 +1872,32 @@
<doc:doc>
<doc:summary>
<doc:para>
- A valid package ID string with as much data as known
+ This identifier is of the form <doc:tt>name;version;arch;data</doc:tt>
+ in a single string and is meant to represent a single package
+ unique across all local and remote data stores.
+ </doc:para>
+ <doc:para>
+ For a remote, not-installed package the data field should
+ be set as the repository identifier or repository name.
+ </doc:para>
+ <doc:para>
+ The data field for an installed package must be prefixed
+ with <doc:tt>installed</doc:tt> as this is used to identify
+ which packages are installable or installed in the client
+ tools.
+ </doc:para>
+ <doc:para>
+ As a special extension, if the package manager is able to
+ track which repository a package was originally installed
+ from, then the data field can be set to
+ <doc:tt>installed:REPO-NAME</doc:tt> which allows the
+ frontend client to advise the user of the package origin.
+ </doc:para>
+ <doc:para>
+ The data field for a non-installed local package must be
+ <doc:tt>local</doc:tt> as this signifies a repository name is
+ not available and that package resides locally on the
+ client system rather than in any specific repository.
</doc:para>
</doc:summary>
</doc:doc>
commit adbf3a705ff16d0b9d561aea210c8a7c5b9920e7
Author: Richard Hughes <richard at hughsie.com>
Date: Tue Dec 7 16:00:45 2010 +0000
trivial: remove some flags that are no longer needed now the transaction has it's own state
diff --git a/src/pk-transaction.c b/src/pk-transaction.c
index 77bc85b..2d7c8cd 100644
--- a/src/pk-transaction.c
+++ b/src/pk-transaction.c
@@ -91,8 +91,6 @@ struct PkTransactionPrivate
guint remaining_time;
guint speed;
gboolean finished;
- gboolean running;
- gboolean has_been_run;
gboolean allow_cancel;
gboolean waiting_for_auth;
gboolean emit_eula_required;
@@ -1051,9 +1049,6 @@ pk_transaction_finished_cb (PkBackend *backend, PkExitEnum exit_enum, PkTransact
/* we should get no more from the backend with this tid */
transaction->priv->finished = TRUE;
- /* mark not running */
- transaction->priv->running = FALSE;
-
/* if we did ::repo-signature-required or ::eula-required, change the error code */
if (transaction->priv->emit_signature_required)
exit_enum = PK_EXIT_ENUM_KEY_REQUIRED;
@@ -1945,8 +1940,6 @@ pk_transaction_set_running (PkTransaction *transaction)
G_CALLBACK (pk_transaction_speed_cb), transaction);
/* mark running */
- priv->running = TRUE;
- priv->has_been_run = TRUE;
priv->allow_cancel = FALSE;
/* reset after the pre-transaction checks */
@@ -2826,7 +2819,7 @@ pk_transaction_cancel (PkTransaction *transaction, DBusGMethodInvocation *contex
skip_uid:
/* if it's never been run, just remove this transaction from the list */
- if (!transaction->priv->has_been_run) {
+ if (transaction->priv->state <= PK_TRANSACTION_STATE_READY) {
pk_transaction_progress_changed_emit (transaction, 100, 100, 0, 0);
pk_transaction_allow_cancel_emit (transaction, FALSE);
pk_transaction_status_changed_emit (transaction, PK_STATUS_ENUM_FINISHED);
@@ -5766,8 +5759,6 @@ pk_transaction_init (PkTransaction *transaction)
#endif
transaction->priv = PK_TRANSACTION_GET_PRIVATE (transaction);
transaction->priv->finished = FALSE;
- transaction->priv->running = FALSE;
- transaction->priv->has_been_run = FALSE;
transaction->priv->waiting_for_auth = FALSE;
transaction->priv->allow_cancel = TRUE;
transaction->priv->emit_eula_required = FALSE;
commit bdc9c0edf89817ef75f086c961a2f6164db33769
Author: Richard Hughes <richard at hughsie.com>
Date: Tue Dec 7 15:58:41 2010 +0000
Allow cancelling a transaction if it is not cancellable
Also, don't set an auto-cancel timeout as it's really not a safe thing
to do. Let the backend handle this always.
diff --git a/src/pk-backend.c b/src/pk-backend.c
index 151689d..48723db 100644
--- a/src/pk-backend.c
+++ b/src/pk-backend.c
@@ -114,7 +114,6 @@ struct PkBackendPrivate
guint signal_error_timeout;
guint signal_finished;
guint speed;
- guint cancel_id;
GHashTable *eulas;
GModule *handle;
GThread *thread;
@@ -2253,12 +2252,6 @@ pk_backend_finished (PkBackend *backend)
/* safe to check now */
g_return_val_if_fail (backend->priv->locked != FALSE, FALSE);
- /* no longer need to cancel */
- if (backend->priv->cancel_id != 0) {
- g_source_remove (backend->priv->cancel_id);
- backend->priv->cancel_id = 0;
- }
-
/* find out what we just did */
role_text = pk_role_enum_to_string (backend->priv->role);
g_debug ("finished role %s", role_text);
@@ -2740,9 +2733,6 @@ pk_backend_finalize (GObject *object)
g_object_unref (backend->priv->conf);
g_hash_table_destroy (backend->priv->eulas);
- if (backend->priv->cancel_id > 0)
- g_source_remove (backend->priv->cancel_id);
-
if (backend->priv->handle != NULL)
g_module_close (backend->priv->handle);
g_debug ("parent_class->finalize");
@@ -2965,22 +2955,6 @@ pk_backend_reset (PkBackend *backend)
}
/**
- * pk_backend_cancel_cb:
- */
-static gboolean
-pk_backend_cancel_cb (PkBackend *backend)
-{
- /* set an error if the backend didn't do it for us */
- if (!backend->priv->set_error) {
- g_warning ("backend failed to exit in %ims, cancelling ourselves", PK_BACKEND_CANCEL_ACTION_TIMEOUT);
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_CANCELLED, "transaction was cancelled");
- pk_backend_finished (backend);
- }
- backend->priv->cancel_id = 0;
- return FALSE;
-}
-
-/**
* pk_backend_cancel:
*/
void
@@ -2990,13 +2964,6 @@ pk_backend_cancel (PkBackend *backend)
/* call into the backend */
backend->priv->desc->cancel (backend);
-
- /* set an error if the backend didn't do it for us */
- backend->priv->cancel_id = g_timeout_add (PK_BACKEND_CANCEL_ACTION_TIMEOUT,
- (GSourceFunc) pk_backend_cancel_cb, backend);
-#if GLIB_CHECK_VERSION(2,25,8)
- g_source_set_name_by_id (backend->priv->cancel_id, "[PkBackend] cancel");
-#endif
}
/**
@@ -3469,7 +3436,6 @@ pk_backend_init (PkBackend *backend)
backend->priv->locked = FALSE;
backend->priv->use_threads = FALSE;
backend->priv->signal_finished = 0;
- backend->priv->cancel_id = 0;
backend->priv->speed = 0;
backend->priv->signal_error_timeout = 0;
backend->priv->during_initialize = FALSE;
diff --git a/src/pk-transaction.c b/src/pk-transaction.c
index ac77e84..77bc85b 100644
--- a/src/pk-transaction.c
+++ b/src/pk-transaction.c
@@ -2790,16 +2790,6 @@ pk_transaction_cancel (PkTransaction *transaction, DBusGMethodInvocation *contex
goto out;
}
- /* check if it's safe to kill */
- if (!transaction->priv->allow_cancel) {
- error = g_error_new (PK_TRANSACTION_ERROR, PK_TRANSACTION_ERROR_CANNOT_CANCEL,
- "Tried to cancel %s (%s) that is not safe to kill",
- transaction->priv->tid,
- pk_role_enum_to_string (transaction->priv->role));
- pk_transaction_dbus_return_error (context, error);
- goto out;
- }
-
/* first, check the sender -- if it's the same we don't need to check the uid */
sender = dbus_g_method_get_sender (context);
ret = (g_strcmp0 (transaction->priv->sender, sender) == 0);
commit 512fb25514fa6926b46bb5734f3b55a533c1723d
Author: Richard Hughes <richard at hughsie.com>
Date: Tue Dec 7 15:52:09 2010 +0000
zif: try to use PK_ERROR_ENUM_INTERNAL_ERROR less by using the correct PackageKit error code
diff --git a/backends/zif/pk-backend-zif.c b/backends/zif/pk-backend-zif.c
index d7c718d..0efdfba 100644
--- a/backends/zif/pk-backend-zif.c
+++ b/backends/zif/pk-backend-zif.c
@@ -128,6 +128,150 @@ pk_backend_is_all_installed (gchar **package_ids)
}
/**
+ * pk_backend_convert_error:
+ */
+static PkErrorEnum
+pk_backend_convert_error (const GError *error)
+{
+ PkErrorEnum error_code = PK_ERROR_ENUM_INTERNAL_ERROR;
+ if (error->domain == ZIF_STATE_ERROR) {
+ switch (error->code) {
+ case ZIF_STATE_ERROR_CANCELLED:
+ error_code = PK_ERROR_ENUM_TRANSACTION_CANCELLED;
+ break;
+ case ZIF_STATE_ERROR_INVALID:
+ error_code = PK_ERROR_ENUM_INTERNAL_ERROR;
+ break;
+ default:
+ error_code = PK_ERROR_ENUM_INTERNAL_ERROR;
+ }
+ } else if (error->domain == ZIF_TRANSACTION_ERROR) {
+ switch (error->code) {
+ case ZIF_TRANSACTION_ERROR_FAILED:
+ error_code = PK_ERROR_ENUM_TRANSACTION_ERROR;
+ break;
+ case ZIF_TRANSACTION_ERROR_NOTHING_TO_DO:
+ error_code = PK_ERROR_ENUM_NO_PACKAGES_TO_UPDATE;
+ break;
+ case ZIF_TRANSACTION_ERROR_NOT_SUPPORTED:
+ error_code = PK_ERROR_ENUM_NOT_SUPPORTED;
+ break;
+ case ZIF_TRANSACTION_ERROR_CONFLICTING:
+ error_code = PK_ERROR_ENUM_FILE_CONFLICTS;
+ break;
+ default:
+ error_code = PK_ERROR_ENUM_INTERNAL_ERROR;
+ }
+ } else if (error->domain == ZIF_STORE_ERROR) {
+ switch (error->code) {
+ case ZIF_STORE_ERROR_FAILED_AS_OFFLINE:
+ error_code = PK_ERROR_ENUM_NO_NETWORK;
+ break;
+ case ZIF_STORE_ERROR_FAILED_TO_FIND:
+ error_code = PK_ERROR_ENUM_PACKAGE_NOT_FOUND;
+ break;
+ case ZIF_STORE_ERROR_FAILED_TO_DOWNLOAD:
+ error_code = PK_ERROR_ENUM_PACKAGE_DOWNLOAD_FAILED;
+ break;
+ case ZIF_STORE_ERROR_ARRAY_IS_EMPTY:
+ error_code = PK_ERROR_ENUM_NO_PACKAGES_TO_UPDATE;
+ break;
+ case ZIF_STORE_ERROR_NO_SUPPORT:
+ error_code = PK_ERROR_ENUM_NOT_SUPPORTED;
+ break;
+ case ZIF_STORE_ERROR_NOT_LOCKED:
+ error_code = PK_ERROR_ENUM_NOT_SUPPORTED;
+ break;
+ case ZIF_STORE_ERROR_FAILED:
+ case ZIF_STORE_ERROR_MULTIPLE_MATCHES:
+ error_code = PK_ERROR_ENUM_INTERNAL_ERROR;
+ break;
+ default:
+ error_code = PK_ERROR_ENUM_INTERNAL_ERROR;
+ }
+ } else if (error->domain == ZIF_PACKAGE_ERROR) {
+ switch (error->code) {
+ case ZIF_PACKAGE_ERROR_FAILED:
+ error_code = PK_ERROR_ENUM_INTERNAL_ERROR;
+ break;
+ default:
+ error_code = PK_ERROR_ENUM_INTERNAL_ERROR;
+ }
+ } else if (error->domain == ZIF_CONFIG_ERROR) {
+ switch (error->code) {
+ case ZIF_CONFIG_ERROR_FAILED:
+ error_code = PK_ERROR_ENUM_INTERNAL_ERROR;
+ break;
+ default:
+ error_code = PK_ERROR_ENUM_INTERNAL_ERROR;
+ }
+ } else if (error->domain == ZIF_DOWNLOAD_ERROR) {
+ switch (error->code) {
+ case ZIF_DOWNLOAD_ERROR_FAILED:
+ case ZIF_DOWNLOAD_ERROR_PERMISSION_DENIED:
+ error_code = PK_ERROR_ENUM_INTERNAL_ERROR;
+ break;
+ default:
+ error_code = PK_ERROR_ENUM_INTERNAL_ERROR;
+ }
+ } else if (error->domain == ZIF_MD_ERROR) {
+ switch (error->code) {
+ case ZIF_MD_ERROR_NO_SUPPORT:
+ error_code = PK_ERROR_ENUM_NOT_SUPPORTED;
+ break;
+ case ZIF_MD_ERROR_FAILED_AS_OFFLINE:
+ error_code = PK_ERROR_ENUM_NO_NETWORK;
+ break;
+ case ZIF_MD_ERROR_FAILED_DOWNLOAD:
+ error_code = PK_ERROR_ENUM_PACKAGE_DOWNLOAD_FAILED;
+ break;
+ case ZIF_MD_ERROR_BAD_SQL:
+ case ZIF_MD_ERROR_FAILED_TO_LOAD:
+ case ZIF_MD_ERROR_FILE_TOO_OLD:
+ case ZIF_MD_ERROR_FAILED:
+ case ZIF_MD_ERROR_NO_FILENAME:
+ error_code = PK_ERROR_ENUM_INTERNAL_ERROR;
+ break;
+ default:
+ error_code = PK_ERROR_ENUM_INTERNAL_ERROR;
+ }
+ } else if (error->domain == ZIF_RELEASE_ERROR) {
+ switch (error->code) {
+ case ZIF_RELEASE_ERROR_DOWNLOAD_FAILED:
+ error_code = PK_ERROR_ENUM_PACKAGE_DOWNLOAD_FAILED;
+ break;
+ case ZIF_RELEASE_ERROR_FILE_INVALID:
+ error_code = PK_ERROR_ENUM_FAILED_CONFIG_PARSING;
+ break;
+ case ZIF_RELEASE_ERROR_LOW_DISKSPACE:
+ error_code = PK_ERROR_ENUM_NO_SPACE_ON_DEVICE;
+ break;
+ case ZIF_RELEASE_ERROR_NOT_FOUND:
+ error_code = PK_ERROR_ENUM_PACKAGE_NOT_FOUND;
+ break;
+ case ZIF_RELEASE_ERROR_NOT_SUPPORTED:
+ error_code = PK_ERROR_ENUM_NOT_SUPPORTED;
+ break;
+ case ZIF_RELEASE_ERROR_NO_UUID_FOR_ROOT:
+ case ZIF_RELEASE_ERROR_SETUP_INVALID:
+ case ZIF_RELEASE_ERROR_SPAWN_FAILED:
+ case ZIF_RELEASE_ERROR_WRITE_FAILED:
+ error_code = PK_ERROR_ENUM_INTERNAL_ERROR;
+ break;
+ default:
+ error_code = PK_ERROR_ENUM_INTERNAL_ERROR;
+ }
+ }
+ if (error_code == PK_ERROR_ENUM_INTERNAL_ERROR) {
+ g_warning ("failed to match error: %s:%i: %s",
+ g_quark_to_string (error->domain),
+ error->code,
+ error->message);
+ }
+ return error_code;
+}
+
+/**
* pk_backend_transaction_start:
*/
void
@@ -192,7 +336,7 @@ pk_backend_transaction_start (PkBackend *backend)
&error);
if (!ret) {
pk_backend_error_code (backend,
- PK_ERROR_ENUM_INTERNAL_ERROR,
+ pk_backend_convert_error (error),
"failed to set prefix: %s",
error->message);
g_error_free (error);
@@ -237,6 +381,9 @@ pk_backend_transaction_start (PkBackend *backend)
/* setup state */
zif_state_reset (priv->state);
+ /* allow cancelling again */
+ g_cancellable_reset (priv->cancellable);
+
/* start with a new transaction */
zif_transaction_reset (priv->transaction);
out:
@@ -965,7 +1112,7 @@ pk_backend_search_thread (PkBackend *backend)
&error);
if (store_array == NULL) {
pk_backend_error_code (backend,
- PK_ERROR_ENUM_INTERNAL_ERROR,
+ pk_backend_convert_error (error),
"failed to get stores: %s",
error->message);
g_error_free (error);
@@ -990,7 +1137,7 @@ pk_backend_search_thread (PkBackend *backend)
array = zif_store_array_get_packages (store_array, state_local, &error);
if (array == NULL) {
pk_backend_error_code (backend,
- PK_ERROR_ENUM_INTERNAL_ERROR,
+ pk_backend_convert_error (error),
"failed to get packages: %s", error->message);
g_error_free (error);
goto out;
@@ -1030,7 +1177,7 @@ pk_backend_search_thread (PkBackend *backend)
array = pk_backend_search_newest (store_array, state_local, recent, &error);
if (array == NULL) {
pk_backend_error_code (backend,
- PK_ERROR_ENUM_INTERNAL_ERROR,
+ pk_backend_convert_error (error),
"failed to get packages: %s", error->message);
g_error_free (error);
goto out;
@@ -1039,7 +1186,7 @@ pk_backend_search_thread (PkBackend *backend)
array = pk_backend_search_collections (store_array, state_local, &error);
if (array == NULL) {
pk_backend_error_code (backend,
- PK_ERROR_ENUM_INTERNAL_ERROR,
+ pk_backend_convert_error (error),
"failed to get packages: %s", error->message);
g_error_free (error);
goto out;
@@ -1061,7 +1208,7 @@ pk_backend_search_thread (PkBackend *backend)
}
if (array == NULL) {
pk_backend_error_code (backend,
- PK_ERROR_ENUM_INTERNAL_ERROR,
+ pk_backend_convert_error (error),
"failed to search: %s", error->message);
g_error_free (error);
goto out;
@@ -1370,6 +1517,7 @@ pk_backend_initialize (PkBackend *backend)
/* ZifState */
priv->state = zif_state_new ();
+ zif_state_set_cancellable (priv->state, priv->cancellable);
g_signal_connect (priv->state, "percentage-changed",
G_CALLBACK (pk_backend_state_percentage_changed_cb),
backend);
@@ -1558,6 +1706,7 @@ void
pk_backend_cancel (PkBackend *backend)
{
/* try to cancel the thread */
+ g_debug ("cancelling transaction");
g_cancellable_cancel (priv->cancellable);
}
@@ -1599,7 +1748,7 @@ pk_backend_download_packages_thread (PkBackend *backend)
&error);
if (!ret) {
pk_backend_error_code (backend,
- PK_ERROR_ENUM_INTERNAL_ERROR,
+ pk_backend_convert_error (error),
"failed to add enabled stores: %s",
error->message);
g_error_free (error);
@@ -1822,7 +1971,7 @@ pk_backend_get_depends_thread (PkBackend *backend)
&error);
if (store_array == NULL) {
pk_backend_error_code (backend,
- PK_ERROR_ENUM_INTERNAL_ERROR,
+ pk_backend_convert_error (error),
"failed to get stores: %s", error->message);
g_error_free (error);
goto out;
@@ -2032,7 +2181,7 @@ pk_backend_get_requires_thread (PkBackend *backend)
&error);
if (store_array == NULL) {
pk_backend_error_code (backend,
- PK_ERROR_ENUM_INTERNAL_ERROR,
+ pk_backend_convert_error (error),
"failed to get stores: %s", error->message);
g_error_free (error);
goto out;
@@ -2247,7 +2396,7 @@ pk_backend_get_details_thread (PkBackend *backend)
&error);
if (store_array == NULL) {
pk_backend_error_code (backend,
- PK_ERROR_ENUM_INTERNAL_ERROR,
+ pk_backend_convert_error (error),
"failed to get stores: %s",
error->message);
g_error_free (error);
@@ -2536,7 +2685,7 @@ pk_backend_get_files_thread (PkBackend *backend)
&error);
if (store_array == NULL) {
pk_backend_error_code (backend,
- PK_ERROR_ENUM_INTERNAL_ERROR,
+ pk_backend_convert_error (error),
"failed to get stores: %s", error->message);
g_error_free (error);
goto out;
@@ -2599,7 +2748,7 @@ pk_backend_get_files_thread (PkBackend *backend)
files = zif_package_get_files (package, state_tmp, &error);
if (files == NULL) {
pk_backend_error_code (backend,
- PK_ERROR_ENUM_INTERNAL_ERROR,
+ pk_backend_convert_error (error),
"no files for %s: %s",
package_ids[i],
error->message);
@@ -2695,7 +2844,7 @@ pk_backend_get_updates_thread (PkBackend *backend)
&error);
if (!ret) {
pk_backend_error_code (backend,
- PK_ERROR_ENUM_INTERNAL_ERROR,
+ pk_backend_convert_error (error),
"failed to add enabled stores: %s",
error->message);
g_error_free (error);
@@ -2762,7 +2911,7 @@ pk_backend_get_updates_thread (PkBackend *backend)
updates = zif_store_array_resolve (store_array, search, state_local, &error);
if (updates == NULL) {
pk_backend_error_code (backend,
- PK_ERROR_ENUM_INTERNAL_ERROR,
+ pk_backend_convert_error (error),
"failed to get updates: %s", error->message);
g_error_free (error);
goto out;
@@ -3018,7 +3167,7 @@ pk_backend_get_update_detail_thread (PkBackend *backend)
&error);
if (!ret) {
pk_backend_error_code (backend,
- PK_ERROR_ENUM_INTERNAL_ERROR,
+ pk_backend_convert_error (error),
"failed to add enabled stores: %s",
error->message);
g_error_free (error);
@@ -3390,7 +3539,7 @@ pk_backend_run_transaction (PkBackend *backend, ZifState *state)
&error);
if (!ret) {
pk_backend_error_code (backend,
- PK_ERROR_ENUM_INTERNAL_ERROR,
+ pk_backend_convert_error (error),
"failed to commit transaction: %s",
error->message);
g_error_free (error);
@@ -3557,7 +3706,7 @@ pk_backend_update_packages_thread (PkBackend *backend)
&error);
if (!ret) {
pk_backend_error_code (backend,
- PK_ERROR_ENUM_INTERNAL_ERROR,
+ pk_backend_convert_error (error),
"failed to add enabled stores: %s",
error->message);
g_error_free (error);
@@ -3694,7 +3843,7 @@ pk_backend_install_packages_thread (PkBackend *backend)
&error);
if (!ret) {
pk_backend_error_code (backend,
- PK_ERROR_ENUM_INTERNAL_ERROR,
+ pk_backend_convert_error (error),
"failed to add enabled stores: %s",
error->message);
g_error_free (error);
@@ -3830,7 +3979,7 @@ pk_backend_install_files_thread (PkBackend *backend)
&error);
if (!ret) {
pk_backend_error_code (backend,
- PK_ERROR_ENUM_INTERNAL_ERROR,
+ pk_backend_convert_error (error),
"failed to add enabled stores: %s",
error->message);
g_error_free (error);
@@ -3968,7 +4117,7 @@ pk_backend_refresh_cache_thread (PkBackend *backend)
&error);
if (!ret) {
pk_backend_error_code (backend,
- PK_ERROR_ENUM_INTERNAL_ERROR,
+ pk_backend_convert_error (error),
"failed to add enabled stores: %s",
error->message);
g_error_free (error);
@@ -3992,7 +4141,7 @@ pk_backend_refresh_cache_thread (PkBackend *backend)
ret = zif_store_array_clean (store_array, state_local, &error);
if (!ret) {
pk_backend_error_code (backend,
- PK_ERROR_ENUM_INTERNAL_ERROR,
+ pk_backend_convert_error (error),
"failed to clean: %s", error->message);
g_error_free (error);
goto out;
@@ -4358,7 +4507,6 @@ pk_backend_upgrade_system_thread (PkBackend *backend)
gchar **distro_id_split = NULL;
guint version;
gboolean ret;
- PkErrorEnum error_code;
GError *error = NULL;
ZifReleaseUpgradeKind upgrade_kind_zif = ZIF_RELEASE_UPGRADE_KIND_DEFAULT;
PkUpgradeKindEnum upgrade_kind = pk_backend_get_uint (backend, "upgrade_kind");
@@ -4397,33 +4545,8 @@ pk_backend_upgrade_system_thread (PkBackend *backend)
&error);
if (!ret) {
/* convert the ZifRelease error code into a PK error enum */
- switch (error->code) {
- case ZIF_RELEASE_ERROR_DOWNLOAD_FAILED:
- error_code = PK_ERROR_ENUM_PACKAGE_DOWNLOAD_FAILED;
- break;
- case ZIF_RELEASE_ERROR_FILE_INVALID:
- error_code = PK_ERROR_ENUM_FAILED_CONFIG_PARSING;
- break;
- case ZIF_RELEASE_ERROR_LOW_DISKSPACE:
- error_code = PK_ERROR_ENUM_NO_SPACE_ON_DEVICE;
- break;
- case ZIF_RELEASE_ERROR_NOT_FOUND:
- error_code = PK_ERROR_ENUM_PACKAGE_NOT_FOUND;
- break;
- case ZIF_RELEASE_ERROR_NOT_SUPPORTED:
- error_code = PK_ERROR_ENUM_NOT_SUPPORTED;
- break;
- case ZIF_RELEASE_ERROR_NO_UUID_FOR_ROOT:
- case ZIF_RELEASE_ERROR_SETUP_INVALID:
- case ZIF_RELEASE_ERROR_SPAWN_FAILED:
- case ZIF_RELEASE_ERROR_WRITE_FAILED:
- error_code = PK_ERROR_ENUM_INTERNAL_ERROR;
- break;
- default:
- error_code = PK_ERROR_ENUM_INTERNAL_ERROR;
- }
pk_backend_error_code (backend,
- error_code,
+ pk_backend_convert_error (error),
"failed to upgrade: %s",
error->message);
g_error_free (error);
commit a7c7729279dd86c68784e08aaf98d23a5c3e9340
Author: Daniel Nicoletti <dantti85-pk at yahoo.com.br>
Date: Thu Dec 2 16:50:55 2010 -0200
aptcc: Use the new PK_ERROR_ENUM_CANNOT_GET_LOCK
diff --git a/backends/aptcc/pk-backend-aptcc.cpp b/backends/aptcc/pk-backend-aptcc.cpp
index a7e5d6d..ae17807 100644
--- a/backends/aptcc/pk-backend-aptcc.cpp
+++ b/backends/aptcc/pk-backend-aptcc.cpp
@@ -774,7 +774,7 @@ pk_backend_refresh_cache_thread (PkBackend *backend)
OpTextProgress Prog(*_config);
if (Cache.BuildCaches(&Prog, true) == false) {
if (_error->PendingError() == true) {
- show_errors(backend, PK_ERROR_ENUM_CANNOT_GET_LOCK);
+ show_errors(backend, PK_ERROR_ENUM_CANNOT_FETCH_SOURCES);
}
delete m_apt;
pk_backend_finished (backend);
commit 47834d1be5a940ffa7aac1cdf0c0cbeca0e1536b
Author: Daniel Nicoletti <dantti85-pk at yahoo.com.br>
Date: Thu Dec 2 16:48:48 2010 -0200
Added PK_ERROR_ENUM_CANNOT_FETCH_SOURCES so when refreshing cache fails to reach some source we have a proper message
diff --git a/lib/packagekit-glib2/pk-enum.c b/lib/packagekit-glib2/pk-enum.c
index 7369372..29f1e1f 100644
--- a/lib/packagekit-glib2/pk-enum.c
+++ b/lib/packagekit-glib2/pk-enum.c
@@ -193,6 +193,7 @@ static const PkEnumMatch enum_error[] = {
{PK_ERROR_ENUM_PACKAGE_DATABASE_CHANGED, "package-database-changed"},
{PK_ERROR_ENUM_PROVIDE_TYPE_NOT_SUPPORTED, "provide-type-not-supported"},
{PK_ERROR_ENUM_INSTALL_ROOT_INVALID, "install-root-invalid"},
+ {PK_ERROR_ENUM_CANNOT_FETCH_SOURCES, "cannot-fetch-sources"},
{0, NULL}
};
diff --git a/lib/packagekit-glib2/pk-enum.h b/lib/packagekit-glib2/pk-enum.h
index 6181635..1902757 100644
--- a/lib/packagekit-glib2/pk-enum.h
+++ b/lib/packagekit-glib2/pk-enum.h
@@ -363,6 +363,7 @@ typedef enum {
PK_ERROR_ENUM_PACKAGE_DATABASE_CHANGED,
PK_ERROR_ENUM_PROVIDE_TYPE_NOT_SUPPORTED,
PK_ERROR_ENUM_INSTALL_ROOT_INVALID,
+ PK_ERROR_ENUM_CANNOT_FETCH_SOURCES,
PK_ERROR_ENUM_LAST
} PkErrorEnum;
diff --git a/lib/packagekit-qt/src/enum.h b/lib/packagekit-qt/src/enum.h
index b2d6fb5..4a54bf4 100644
--- a/lib/packagekit-qt/src/enum.h
+++ b/lib/packagekit-qt/src/enum.h
@@ -323,6 +323,7 @@ public:
ErrorPackageDatabaseChanged,
ErrorProvideTypeNotSupported,
ErrorInstallRootInvalid,
+ ErrorCannotFetchSources,
/* this always has to be at the end of the list */
LastError
} Error;
commit e20ace7007b51c9f5f7a63d47e83ba9daf46ba73
Author: Daniel Nicoletti <dantti85-pk at yahoo.com.br>
Date: Thu Dec 2 16:39:57 2010 -0200
packagekit-qt: Updated enums and converted tabs to spaces
diff --git a/lib/packagekit-qt/src/enum.h b/lib/packagekit-qt/src/enum.h
index 095e744..b2d6fb5 100644
--- a/lib/packagekit-qt/src/enum.h
+++ b/lib/packagekit-qt/src/enum.h
@@ -1,7 +1,7 @@
/*
* This file is part of the QPackageKit project
* Copyright (C) 2008 Adrien Bustany <madcat at mymadcat.com>
- * Copyright (C) 2009 Daniel Nicoletti <dantti85-pk at yahoo.com.br>
+ * Copyright (C) 2009-2010 Daniel Nicoletti <dantti85-pk at yahoo.com.br>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -28,584 +28,588 @@
namespace PackageKit {
/**
- * \class Enum enum.h Enum
- * \author Adrien Bustany <madcat at mymadcat.com>
- *
- * \brief Represents a PackageKit's enums
- *
- * This class represents a PackageKit enums.
- *
- */
+* \class Enum enum.h Enum
+* \author Adrien Bustany <madcat at mymadcat.com>
+*
+* \brief Represents a PackageKit's enums
+*
+* This class represents a PackageKit enums.
+*
+*/
class Enum : public QObject
{
- Q_OBJECT
- Q_ENUMS(Role)
- Q_ENUMS(Status)
- Q_ENUMS(Exit)
- Q_ENUMS(Network)
- Q_ENUMS(Filter)
- Q_ENUMS(Restart)
- Q_ENUMS(Message)
- Q_ENUMS(Error)
- Q_ENUMS(Group)
- Q_ENUMS(UpdateState)
- Q_ENUMS(Info)
- Q_ENUMS(DistroUpgrade)
- Q_ENUMS(SigType)
- Q_ENUMS(Provides)
- Q_ENUMS(License)
- Q_ENUMS(MediaType)
- Q_ENUMS(Authorize)
+ Q_OBJECT
+ Q_ENUMS(Role)
+ Q_ENUMS(Status)
+ Q_ENUMS(Exit)
+ Q_ENUMS(Network)
+ Q_ENUMS(Filter)
+ Q_ENUMS(Restart)
+ Q_ENUMS(Message)
+ Q_ENUMS(Error)
+ Q_ENUMS(Group)
+ Q_ENUMS(UpdateState)
+ Q_ENUMS(Info)
+ Q_ENUMS(DistroUpgrade)
+ Q_ENUMS(SigType)
+ Q_ENUMS(Provides)
+ Q_ENUMS(License)
+ Q_ENUMS(MediaType)
+ Q_ENUMS(Authorize)
public:
- /**
- * Lists all the available actions
- * \sa getActions
- */
- typedef enum {
- UnknownRole,
- RoleCancel,
- RoleGetDepends,
- RoleGetDetails,
- RoleGetFiles,
- RoleGetPackages,
- RoleGetRepoList,
- RoleGetRequires,
- RoleGetUpdateDetail,
- RoleGetUpdates,
- RoleInstallFiles,
- RoleInstallPackages,
- RoleInstallSignature,
- RoleRefreshCache,
- RoleRemovePackages,
- RoleRepoEnable,
- RoleRepoSetData,
- RoleResolve,
- RoleRollback,
- RoleSearchDetails,
- RoleSearchFile,
- RoleSearchGroup,
- RoleSearchName,
- RoleUpdatePackages,
- RoleUpdateSystem,
- RoleWhatProvides,
- RoleAcceptEula,
- RoleDownloadPackages,
- RoleGetDistroUpgrades,
- RoleGetCategories,
- RoleGetOldTransactions,
- RoleSimulateInstallFiles,
- RoleSimulateInstallPackages,
- RoleSimulateRemovePackages,
- RoleSimulateUpdatePackages,
- /* this always has to be at the end of the list */
- LastRole
- } Role;
- typedef Bitfield Roles;
+ /**
+ * Lists all the available actions
+ * \sa getActions
+ */
+ typedef enum {
+ UnknownRole,
+ RoleCancel,
+ RoleGetDepends,
+ RoleGetDetails,
+ RoleGetFiles,
+ RoleGetPackages,
+ RoleGetRepoList,
+ RoleGetRequires,
+ RoleGetUpdateDetail,
+ RoleGetUpdates,
+ RoleInstallFiles,
+ RoleInstallPackages,
+ RoleInstallSignature,
+ RoleRefreshCache,
+ RoleRemovePackages,
+ RoleRepoEnable,
+ RoleRepoSetData,
+ RoleResolve,
+ RoleRollback,
+ RoleSearchDetails,
+ RoleSearchFile,
+ RoleSearchGroup,
+ RoleSearchName,
+ RoleUpdatePackages,
+ RoleUpdateSystem,
+ RoleWhatProvides,
+ RoleAcceptEula,
+ RoleDownloadPackages,
+ RoleGetDistroUpgrades,
+ RoleGetCategories,
+ RoleGetOldTransactions,
+ RoleSimulateInstallFiles,
+ RoleSimulateInstallPackages,
+ RoleSimulateRemovePackages,
+ RoleSimulateUpdatePackages,
+ RoleUpgradeSystem, // Since 0.6.11
+ /* this always has to be at the end of the list */
+ LastRole
+ } Role;
+ typedef Bitfield Roles;
- /**
- * Describes the current state of the transaction
- */
- typedef enum {
- UnknownStatus,
- StatusWait,
- StatusSetup,
- StatusRunning,
- StatusQuery,
- StatusInfo,
- StatusRemove,
- StatusRefreshCache,
- StatusDownload,
- StatusInstall,
- StatusUpdate,
- StatusCleanup,
- StatusObsolete,
- StatusDepResolve,
- StatusSigCheck,
- StatusRollback,
- StatusTestCommit,
- StatusCommit,
- StatusRequest,
- StatusFinished,
- StatusCancel,
- StatusDownloadRepository,
- StatusDownloadPackagelist,
- StatusDownloadFilelist,
- StatusDownloadChangelog,
- StatusDownloadGroup,
- StatusDownloadUpdateinfo,
- StatusRepackaging,
- StatusLoadingCache,
- StatusScanApplications,
- StatusGeneratePackageList,
- StatusWaitingForLock,
- StatusWaitingForAuth,
- StatusScanProcessList,
- StatusCheckExecutableFiles,
- StatusCheckLibraries,
- StatusCopyFiles,
- /* this always has to be at the end of the list */
- LastStatus
- } Status;
+ /**
+ * Describes the current state of the transaction
+ */
+ typedef enum {
+ UnknownStatus,
+ StatusWait,
+ StatusSetup,
+ StatusRunning,
+ StatusQuery,
+ StatusInfo,
+ StatusRemove,
+ StatusRefreshCache,
+ StatusDownload,
+ StatusInstall,
+ StatusUpdate,
+ StatusCleanup,
+ StatusObsolete,
+ StatusDepResolve,
+ StatusSigCheck,
+ StatusRollback,
+ StatusTestCommit,
+ StatusCommit,
+ StatusRequest,
+ StatusFinished,
+ StatusCancel,
+ StatusDownloadRepository,
+ StatusDownloadPackagelist,
+ StatusDownloadFilelist,
+ StatusDownloadChangelog,
+ StatusDownloadGroup,
+ StatusDownloadUpdateinfo,
+ StatusRepackaging,
+ StatusLoadingCache,
+ StatusScanApplications,
+ StatusGeneratePackageList,
+ StatusWaitingForLock,
+ StatusWaitingForAuth,
+ StatusScanProcessList,
+ StatusCheckExecutableFiles,
+ StatusCheckLibraries,
+ StatusCopyFiles,
+ /* this always has to be at the end of the list */
+ LastStatus
+ } Status;
- /**
- * Describes how the transaction finished
- * \sa Transaction::finished()
- */
- typedef enum {
- UnknownExit,
- ExitSuccess,
- ExitFailed,
- ExitCancelled,
- ExitKeyRequired,
- ExitEulaRequired,
- ExitKilled, /* when we forced the cancel, but had to sigkill */
- ExitMediaChangeRequired,
- ExitNeedUntrusted,
- /* this always has to be at the end of the list */
- LastExit
- } Exit;
+ /**
+ * Describes how the transaction finished
+ * \sa Transaction::finished()
+ */
+ typedef enum {
+ UnknownExit,
+ ExitSuccess,
+ ExitFailed,
+ ExitCancelled,
+ ExitKeyRequired,
+ ExitEulaRequired,
+ ExitKilled, /* when we forced the cancel, but had to sigkill */
+ ExitMediaChangeRequired,
+ ExitNeedUntrusted,
+ /* this always has to be at the end of the list */
+ LastExit
+ } Exit;
- /**
- * Describes the current network state
- */
- typedef enum {
- UnknownNetwork,
- NetworkOffline,
- NetworkOnline,
- NetworkWired,
- NetworkWifi,
- NetworkMobile,
- /* this always has to be at the end of the list */
- LastNetwork
- } Network;
+ /**
+ * Describes the current network state
+ */
+ typedef enum {
+ UnknownNetwork,
+ NetworkOffline,
+ NetworkOnline,
+ NetworkWired,
+ NetworkWifi,
+ NetworkMobile,
+ /* this always has to be at the end of the list */
+ LastNetwork
+ } Network;
- /**
- * Describes the different filters
- */
- typedef enum {
- UnknownFilter = 0x0000001,
- NoFilter = 0x0000002,
- FilterInstalled = 0x0000004,
- FilterNotInstalled = 0x0000008,
- FilterDevelopment = 0x0000010,
- FilterNotDevelopment = 0x0000020,
- FilterGui = 0x0000040,
- FilterNotGui = 0x0000080,
- FilterFree = 0x0000100,
- FilterNotFree = 0x0000200,
- FilterVisible = 0x0000400,
- FilterNotVisible = 0x0000800,
- FilterSupported = 0x0001000,
- FilterNotSupported = 0x0002000,
- FilterBasename = 0x0004000,
- FilterNotBasename = 0x0008000,
- FilterNewest = 0x0010000,
- FilterNotNewest = 0x0020000,
- FilterArch = 0x0040000,
- FilterNotArch = 0x0080000,
- FilterSource = 0x0100000,
- FilterNotSource = 0x0200000,
- FilterCollections = 0x0400000,
- FilterNotCollections = 0x0800000,
- FilterApplication = 0x1000000,
- FilterNotApplication = 0x2000000,
- /* this always has to be at the end of the list */
- FilterLast = 0x4000000
- } Filter;
- Q_DECLARE_FLAGS(Filters, Filter)
+ /**
+ * Describes the different filters
+ */
+ typedef enum {
+ UnknownFilter = 0x0000001,
+ NoFilter = 0x0000002,
+ FilterInstalled = 0x0000004,
+ FilterNotInstalled = 0x0000008,
+ FilterDevelopment = 0x0000010,
+ FilterNotDevelopment = 0x0000020,
+ FilterGui = 0x0000040,
+ FilterNotGui = 0x0000080,
+ FilterFree = 0x0000100,
+ FilterNotFree = 0x0000200,
+ FilterVisible = 0x0000400,
+ FilterNotVisible = 0x0000800,
+ FilterSupported = 0x0001000,
+ FilterNotSupported = 0x0002000,
+ FilterBasename = 0x0004000,
+ FilterNotBasename = 0x0008000,
+ FilterNewest = 0x0010000,
+ FilterNotNewest = 0x0020000,
+ FilterArch = 0x0040000,
+ FilterNotArch = 0x0080000,
+ FilterSource = 0x0100000,
+ FilterNotSource = 0x0200000,
+ FilterCollections = 0x0400000,
+ FilterNotCollections = 0x0800000,
+ FilterApplication = 0x1000000,
+ FilterNotApplication = 0x2000000,
+ /* this always has to be at the end of the list */
+ FilterLast = 0x4000000
+ } Filter;
+ Q_DECLARE_FLAGS(Filters, Filter)
- /**
- * Describes a restart type
- */
- typedef enum {
- UnknownRestart,
- RestartNone,
- RestartApplication,
- RestartSession,
- RestartSystem,
- RestartSecuritySession,
- RestartSecuritySystem,
- /* this always has to be at the end of the list */
- LastRestart
- } Restart;
+ /**
+ * Describes a restart type
+ */
+ typedef enum {
+ UnknownRestart,
+ RestartNone,
+ RestartApplication,
+ RestartSession,
+ RestartSystem,
+ RestartSecuritySession,
+ RestartSecuritySystem,
+ /* this always has to be at the end of the list */
+ LastRestart
+ } Restart;
- /**
- * Describes a message's type
- */
- typedef enum {
- UnknownMessage,
- MessageBrokenMirror,
- MessageConnectionRefused,
- MessageParameterInvalid,
- MessagePriorityInvalid,
- MessageBackendError,
- MessageDaemonError,
- MessageCacheBeingRebuilt,
- MessageUntrustedPackage,
- MessageNewerPackageExists,
- MessageCouldNotFindPackage,
- MessageConfigFilesChanged,
- MessagePackageAlreadyInstalled,
- MessageAutoremoveIgnored,
- MessageRepoMetadataDownloadFailed,
- MessageRepoForDevelopersOnly,
- /* this always has to be at the end of the list */
- LastMessage
- } Message;
+ /**
+ * Describes a message's type
+ */
+ typedef enum {
+ UnknownMessage,
+ MessageBrokenMirror,
+ MessageConnectionRefused,
+ MessageParameterInvalid,
+ MessagePriorityInvalid,
+ MessageBackendError,
+ MessageDaemonError,
+ MessageCacheBeingRebuilt,
+ MessageUntrustedPackage,
+ MessageNewerPackageExists,
+ MessageCouldNotFindPackage,
+ MessageConfigFilesChanged,
+ MessagePackageAlreadyInstalled,
+ MessageAutoremoveIgnored,
+ MessageRepoMetadataDownloadFailed,
+ MessageRepoForDevelopersOnly,
+ MessageOtherUpdatesHeldBack,
+ /* this always has to be at the end of the list */
+ LastMessage
+ } Message;
- /**
- * Lists the different types of error
- */
- typedef enum {
- UnknownError,
- ErrorOom,
- ErrorNoNetwork,
- ErrorNotSupported,
- ErrorInternalError,
- ErrorGpgFailure,
- ErrorPackageIdInvalid,
- ErrorPackageNotInstalled,
- ErrorPackageNotFound,
- ErrorPackageAlreadyInstalled,
- ErrorPackageDownloadFailed,
- ErrorGroupNotFound,
- ErrorGroupListInvalid,
- ErrorDepResolutionFailed,
- ErrorFilterInvalid,
- ErrorCreateThreadFailed,
- ErrorTransactionError,
- ErrorTransactionCancelled,
- ErrorNoCache,
- ErrorRepoNotFound,
- ErrorCannotRemoveSystemPackage,
- ErrorProcessKill,
- ErrorFailedInitialization,
- ErrorFailedFinalise,
- ErrorFailedConfigParsing,
- ErrorCannotCancel,
- ErrorCannotGetLock,
- ErrorNoPackagesToUpdate,
- ErrorCannotWriteRepoConfig,
- ErrorLocalInstallFailed,
- ErrorBadGpgSignature,
- ErrorMissingGpgSignature,
- ErrorCannotInstallSourcePackage,
- ErrorRepoConfigurationError,
- ErrorNoLicenseAgreement,
- ErrorFileConflicts,
- ErrorPackageConflicts,
- ErrorRepoNotAvailable,
- ErrorInvalidPackageFile,
- ErrorPackageInstallBlocked,
- ErrorPackageCorrupt,
- ErrorAllPackagesAlreadyInstalled,
- ErrorFileNotFound,
- ErrorNoMoreMirrorsToTry,
- ErrorNoDistroUpgradeData,
- ErrorIncompatibleArchitecture,
- ErrorNoSpaceOnDevice,
- ErrorMediaChangeRequired,
- ErrorNotAuthorized,
- ErrorUpdateNotFound,
- ErrorCannotInstallRepoUnsigned,
- ErrorCannotUpdateRepoUnsigned,
- ErrorCannotGetFilelist,
- ErrorCannotGetRequires,
- ErrorCannotDisableRepository,
- ErrorRestrictedDownload,
- ErrorPackageFailedToConfigure,
- ErrorPackageFailedToBuild,
- ErrorPackageFailedToInstall,
- ErrorPackageFailedToRemove,
- ErrorUpdateFailedDueToRunningProcess,
- ErrorPackageDatabaseChanged,
- /* this always has to be at the end of the list */
- LastError
- } Error;
+ /**
+ * Lists the different types of error
+ */
+ typedef enum {
+ UnknownError,
+ ErrorOom,
+ ErrorNoNetwork,
+ ErrorNotSupported,
+ ErrorInternalError,
+ ErrorGpgFailure,
+ ErrorPackageIdInvalid,
+ ErrorPackageNotInstalled,
+ ErrorPackageNotFound,
+ ErrorPackageAlreadyInstalled,
+ ErrorPackageDownloadFailed,
+ ErrorGroupNotFound,
+ ErrorGroupListInvalid,
+ ErrorDepResolutionFailed,
+ ErrorFilterInvalid,
+ ErrorCreateThreadFailed,
+ ErrorTransactionError,
+ ErrorTransactionCancelled,
+ ErrorNoCache,
+ ErrorRepoNotFound,
+ ErrorCannotRemoveSystemPackage,
+ ErrorProcessKill,
+ ErrorFailedInitialization,
+ ErrorFailedFinalise,
+ ErrorFailedConfigParsing,
+ ErrorCannotCancel,
+ ErrorCannotGetLock,
+ ErrorNoPackagesToUpdate,
+ ErrorCannotWriteRepoConfig,
+ ErrorLocalInstallFailed,
+ ErrorBadGpgSignature,
+ ErrorMissingGpgSignature,
+ ErrorCannotInstallSourcePackage,
+ ErrorRepoConfigurationError,
+ ErrorNoLicenseAgreement,
+ ErrorFileConflicts,
+ ErrorPackageConflicts,
+ ErrorRepoNotAvailable,
+ ErrorInvalidPackageFile,
+ ErrorPackageInstallBlocked,
+ ErrorPackageCorrupt,
+ ErrorAllPackagesAlreadyInstalled,
+ ErrorFileNotFound,
+ ErrorNoMoreMirrorsToTry,
+ ErrorNoDistroUpgradeData,
+ ErrorIncompatibleArchitecture,
+ ErrorNoSpaceOnDevice,
+ ErrorMediaChangeRequired,
+ ErrorNotAuthorized,
+ ErrorUpdateNotFound,
+ ErrorCannotInstallRepoUnsigned,
+ ErrorCannotUpdateRepoUnsigned,
+ ErrorCannotGetFilelist,
+ ErrorCannotGetRequires,
+ ErrorCannotDisableRepository,
+ ErrorRestrictedDownload,
+ ErrorPackageFailedToConfigure,
+ ErrorPackageFailedToBuild,
+ ErrorPackageFailedToInstall,
+ ErrorPackageFailedToRemove,
+ ErrorUpdateFailedDueToRunningProcess,
+ ErrorPackageDatabaseChanged,
+ ErrorProvideTypeNotSupported,
+ ErrorInstallRootInvalid,
+ /* this always has to be at the end of the list */
+ LastError
+ } Error;
- /**
- * Describes the different groups
- */
- typedef enum {
- UnknownGroup,
- GroupAccessibility,
- GroupAccessories,
- GroupAdminTools,
- GroupCommunication,
- GroupDesktopGnome,
- GroupDesktopKde,
- GroupDesktopOther,
- GroupDesktopXfce,
- GroupEducation,
- GroupFonts,
- GroupGames,
- GroupGraphics,
- GroupInternet,
- GroupLegacy,
- GroupLocalization,
- GroupMaps,
- GroupMultimedia,
- GroupNetwork,
- GroupOffice,
- GroupOther,
- GroupPowerManagement,
- GroupProgramming,
- GroupPublishing,
- GroupRepos,
- GroupSecurity,
- GroupServers,
- GroupSystem,
- GroupVirtualization,
- GroupScience,
- GroupDocumentation,
- GroupElectronics,
- GroupCollections,
- GroupVendor,
- GroupNewest,
- /* this always has to be at the end of the list */
- LastGroup
- } Group;
- typedef QSet<Group> Groups;
+ /**
+ * Describes the different groups
+ */
+ typedef enum {
+ UnknownGroup,
+ GroupAccessibility,
+ GroupAccessories,
+ GroupAdminTools,
+ GroupCommunication,
+ GroupDesktopGnome,
+ GroupDesktopKde,
+ GroupDesktopOther,
+ GroupDesktopXfce,
+ GroupEducation,
+ GroupFonts,
+ GroupGames,
+ GroupGraphics,
+ GroupInternet,
+ GroupLegacy,
+ GroupLocalization,
+ GroupMaps,
+ GroupMultimedia,
+ GroupNetwork,
+ GroupOffice,
+ GroupOther,
+ GroupPowerManagement,
+ GroupProgramming,
+ GroupPublishing,
+ GroupRepos,
+ GroupSecurity,
+ GroupServers,
+ GroupSystem,
+ GroupVirtualization,
+ GroupScience,
+ GroupDocumentation,
+ GroupElectronics,
+ GroupCollections,
+ GroupVendor,
+ GroupNewest,
+ /* this always has to be at the end of the list */
+ LastGroup
+ } Group;
+ typedef QSet<Group> Groups;
- /**
- * Describes an update's state
- */
- typedef enum {
- UnknownUpdateState,
- UpdateStateStable,
- UpdateStateUnstable,
- UpdateStateTesting,
- /* this always has to be at the end of the list */
- LastUpdateState
- } UpdateState;
+ /**
+ * Describes an update's state
+ */
+ typedef enum {
+ UnknownUpdateState,
+ UpdateStateStable,
+ UpdateStateUnstable,
+ UpdateStateTesting,
+ /* this always has to be at the end of the list */
+ LastUpdateState
+ } UpdateState;
- /**
- * Describes the state of a package
- */
- typedef enum {
- UnknownInfo,
- InfoInstalled,
- InfoAvailable,
- InfoLow,
- InfoEnhancement,
- InfoNormal,
- InfoBugfix,
- InfoImportant,
- InfoSecurity,
- InfoBlocked,
- InfoDownloading,
- InfoUpdating,
- InfoInstalling,
- InfoRemoving,
- InfoCleanup,
- InfoObsoleting,
- InfoCollectionInstalled,
- InfoCollectionAvailable,
- InfoFinished,
- InfoReinstalling,
- InfoDowngrading,
- InfoPreparing,
- InfoDecompressing,
- /* this always has to be at the end of the list */
- LastInfo
- } Info;
+ /**
+ * Describes the state of a package
+ */
+ typedef enum {
+ UnknownInfo,
+ InfoInstalled,
+ InfoAvailable,
+ InfoLow,
+ InfoEnhancement,
+ InfoNormal,
+ InfoBugfix,
+ InfoImportant,
+ InfoSecurity,
+ InfoBlocked,
+ InfoDownloading,
+ InfoUpdating,
+ InfoInstalling,
+ InfoRemoving,
+ InfoCleanup,
+ InfoObsoleting,
+ InfoCollectionInstalled,
+ InfoCollectionAvailable,
+ InfoFinished,
+ InfoReinstalling,
+ InfoDowngrading,
+ InfoPreparing,
+ InfoDecompressing,
+ /* this always has to be at the end of the list */
+ LastInfo
+ } Info;
- /**
- * Describes an distro upgrade state
- */
- typedef enum {
- UnknownDistroUpgrade,
- DistroUpgradeStable,
- DistroUpgradeUnstable,
- /* this always has to be at the end of the list */
- LastDistroUpgrade
- } DistroUpgrade;
+ /**
+ * Describes an distro upgrade state
+ */
+ typedef enum {
+ UnknownDistroUpgrade,
+ DistroUpgradeStable,
+ DistroUpgradeUnstable,
+ /* this always has to be at the end of the list */
+ LastDistroUpgrade
+ } DistroUpgrade;
- /**
- * Describes a signature type
- */
- typedef enum {
- UnknownSigType,
- SigTypeGpg,
- /* this always has to be at the end of the list */
- LastSigType
- } SigType;
+ /**
+ * Describes a signature type
+ */
+ typedef enum {
+ UnknownSigType,
+ SigTypeGpg,
+ /* this always has to be at the end of the list */
+ LastSigType
+ } SigType;
- /**
- * Enum used to describe a "provides" request
- * \sa whatProvides
- */
- typedef enum {
- UnknownProvides,
- ProvidesAny,
- ProvidesModalias,
- ProvidesCodec,
- ProvidesMimetype,
- ProvidesFont,
- ProvidesHardwareDriver,
- ProvidesPostscriptDriver,
- /* this always has to be at the end of the list */
- LastProvides
- } Provides;
+ /**
+ * Enum used to describe a "provides" request
+ * \sa whatProvides
+ */
+ typedef enum {
+ UnknownProvides,
+ ProvidesAny,
+ ProvidesModalias,
+ ProvidesCodec,
+ ProvidesMimetype,
+ ProvidesFont,
+ ProvidesHardwareDriver,
+ ProvidesPostscriptDriver,
+ /* this always has to be at the end of the list */
+ LastProvides
+ } Provides;
- /**
- * Describes a package's license
- */
- typedef enum {
- UnknownLicense,
- LicenseGlide,
- LicenseAfl,
- LicenseAmpasBsd,
- LicenseAmazonDsl,
- LicenseAdobe,
- LicenseAgplv1,
- LicenseAgplv3,
- LicenseAsl1Dot0,
- LicenseAsl1Dot1,
- LicenseAsl2Dot0,
- LicenseApsl2Dot0,
- LicenseArtisticClarified,
- LicenseArtistic2Dot0,
- LicenseArl,
- LicenseBittorrent,
- LicenseBoost,
- LicenseBsdWithAdvertising,
- LicenseBsd,
- LicenseCecill,
- LicenseCddl,
- LicenseCpl,
- LicenseCondor,
- LicenseCopyrightOnly,
- LicenseCryptix,
- LicenseCrystalStacker,
- LicenseDoc,
- LicenseWtfpl,
- LicenseEpl,
- LicenseEcos,
- LicenseEfl2Dot0,
- LicenseEu_datagrid,
- LicenseLgplv2WithExceptions,
- LicenseFtl,
- LicenseGiftware,
- LicenseGplv2,
- LicenseGplv2WithExceptions,
- LicenseGplv2PlusWithExceptions,
- LicenseGplv3,
- LicenseGplv3WithExceptions,
- LicenseGplv3PlusWithExceptions,
- LicenseLgplv2,
- LicenseLgplv3,
- LicenseGnuplot,
- LicenseIbm,
- LicenseImatix,
- LicenseImagemagick,
- LicenseImlib2,
- LicenseIjg,
- LicenseIntel_acpi,
- LicenseInterbase,
- LicenseIsc,
- LicenseJabber,
- LicenseJasper,
- LicenseLppl,
- LicenseLibtiff,
- LicenseLpl,
- LicenseMecabIpadic,
- LicenseMit,
- LicenseMitWithAdvertising,
- LicenseMplv1Dot0,
- LicenseMplv1Dot1,
- LicenseNcsa,
- LicenseNgpl,
- LicenseNosl,
- LicenseNetcdf,
- LicenseNetscape,
- LicenseNokia,
- LicenseOpenldap,
- LicenseOpenpbs,
- LicenseOsl1Dot0,
- LicenseOsl1Dot1,
- LicenseOsl2Dot0,
- LicenseOsl3Dot0,
- LicenseOpenssl,
- LicenseOreilly,
- LicensePhorum,
- LicensePhp,
- LicensePublicDomain,
- LicensePython,
- LicenseQpl,
- LicenseRpsl,
- LicenseRuby,
- LicenseSendmail,
- LicenseSleepycat,
- LicenseSlib,
- LicenseSissl,
- LicenseSpl,
- LicenseTcl,
- LicenseUcd,
- LicenseVim,
- LicenseVnlsl,
- LicenseVsl,
- LicenseW3c,
- LicenseWxwidgets,
- LicenseXinetd,
- LicenseZend,
- LicenseZplv1Dot0,
- LicenseZplv2Dot0,
- LicenseZplv2Dot1,
- LicenseZlib,
- LicenseZlibWithAck,
- LicenseCdl,
- LicenseFbsddl,
- LicenseGfdl,
- LicenseIeee,
- LicenseOfsfdl,
- LicenseOpenPublication,
- LicenseCcBy,
- LicenseCcBySa,
- LicenseCcByNd,
- LicenseDsl,
- LicenseFreeArt,
- LicenseOfl,
- LicenseUtopia,
- LicenseArphic,
- LicenseBaekmuk,
- LicenseBitstreamVera,
- LicenseLucida,
- LicenseMplus,
- LicenseStix,
- LicenseXano,
- LicenseVostrom,
- LicenseXerox,
- LicenseRicebsd,
- LicenseQhull,
- /* this always has to be at the end of the list */
- LastLicense
- } License;
+ /**
+ * Describes a package's license
+ */
+ typedef enum {
+ UnknownLicense,
+ LicenseGlide,
+ LicenseAfl,
+ LicenseAmpasBsd,
+ LicenseAmazonDsl,
+ LicenseAdobe,
+ LicenseAgplv1,
+ LicenseAgplv3,
+ LicenseAsl1Dot0,
+ LicenseAsl1Dot1,
+ LicenseAsl2Dot0,
+ LicenseApsl2Dot0,
+ LicenseArtisticClarified,
+ LicenseArtistic2Dot0,
+ LicenseArl,
+ LicenseBittorrent,
+ LicenseBoost,
+ LicenseBsdWithAdvertising,
+ LicenseBsd,
+ LicenseCecill,
+ LicenseCddl,
+ LicenseCpl,
+ LicenseCondor,
+ LicenseCopyrightOnly,
+ LicenseCryptix,
+ LicenseCrystalStacker,
+ LicenseDoc,
+ LicenseWtfpl,
+ LicenseEpl,
+ LicenseEcos,
+ LicenseEfl2Dot0,
+ LicenseEu_datagrid,
+ LicenseLgplv2WithExceptions,
+ LicenseFtl,
+ LicenseGiftware,
+ LicenseGplv2,
+ LicenseGplv2WithExceptions,
+ LicenseGplv2PlusWithExceptions,
+ LicenseGplv3,
+ LicenseGplv3WithExceptions,
+ LicenseGplv3PlusWithExceptions,
+ LicenseLgplv2,
+ LicenseLgplv3,
+ LicenseGnuplot,
+ LicenseIbm,
+ LicenseImatix,
+ LicenseImagemagick,
+ LicenseImlib2,
+ LicenseIjg,
+ LicenseIntel_acpi,
+ LicenseInterbase,
+ LicenseIsc,
+ LicenseJabber,
+ LicenseJasper,
+ LicenseLppl,
+ LicenseLibtiff,
+ LicenseLpl,
+ LicenseMecabIpadic,
+ LicenseMit,
+ LicenseMitWithAdvertising,
+ LicenseMplv1Dot0,
+ LicenseMplv1Dot1,
+ LicenseNcsa,
+ LicenseNgpl,
+ LicenseNosl,
+ LicenseNetcdf,
+ LicenseNetscape,
+ LicenseNokia,
+ LicenseOpenldap,
+ LicenseOpenpbs,
+ LicenseOsl1Dot0,
+ LicenseOsl1Dot1,
+ LicenseOsl2Dot0,
+ LicenseOsl3Dot0,
+ LicenseOpenssl,
+ LicenseOreilly,
+ LicensePhorum,
+ LicensePhp,
+ LicensePublicDomain,
+ LicensePython,
+ LicenseQpl,
+ LicenseRpsl,
+ LicenseRuby,
+ LicenseSendmail,
+ LicenseSleepycat,
+ LicenseSlib,
+ LicenseSissl,
+ LicenseSpl,
+ LicenseTcl,
+ LicenseUcd,
+ LicenseVim,
+ LicenseVnlsl,
+ LicenseVsl,
+ LicenseW3c,
+ LicenseWxwidgets,
+ LicenseXinetd,
+ LicenseZend,
+ LicenseZplv1Dot0,
+ LicenseZplv2Dot0,
+ LicenseZplv2Dot1,
+ LicenseZlib,
+ LicenseZlibWithAck,
+ LicenseCdl,
+ LicenseFbsddl,
+ LicenseGfdl,
+ LicenseIeee,
+ LicenseOfsfdl,
+ LicenseOpenPublication,
+ LicenseCcBy,
+ LicenseCcBySa,
+ LicenseCcByNd,
+ LicenseDsl,
+ LicenseFreeArt,
+ LicenseOfl,
+ LicenseUtopia,
+ LicenseArphic,
+ LicenseBaekmuk,
+ LicenseBitstreamVera,
+ LicenseLucida,
+ LicenseMplus,
+ LicenseStix,
+ LicenseXano,
+ LicenseVostrom,
+ LicenseXerox,
+ LicenseRicebsd,
+ LicenseQhull,
+ /* this always has to be at the end of the list */
+ LastLicense
+ } License;
- /**
- * Describes what kind of media is required
- */
- typedef enum {
- UnknownMediaType,
- MediaTypeCd,
- MediaTypeDvd,
- MediaTypeDisc,
- /* this always has to be at the end of the list */
- LastMediaType
- } MediaType;
+ /**
+ * Describes what kind of media is required
+ */
+ typedef enum {
+ UnknownMediaType,
+ MediaTypeCd,
+ MediaTypeDvd,
+ MediaTypeDisc,
+ /* this always has to be at the end of the list */
+ LastMediaType
+ } MediaType;
- /**
- * Describes the authorization result
- */
- typedef enum {
- UnknownAuthorize,
- AuthorizeYes,
- AuthorizeNo,
- AuthorizeInteractive,
- /* this always has to be at the end of the list */
- LastAuthorize
- } Authorize;
+ /**
+ * Describes the authorization result
+ */
+ typedef enum {
+ UnknownAuthorize,
+ AuthorizeYes,
+ AuthorizeNo,
+ AuthorizeInteractive,
+ /* this always has to be at the end of the list */
+ LastAuthorize
+ } Authorize;
};
Q_DECLARE_OPERATORS_FOR_FLAGS(Enum::Filters)
commit 18e7d80d5299be17c8baaf23f210332f9aa30180
Author: Zhang Qiang <qiang.z.zhang at intel.com>
Date: Thu Dec 2 17:48:14 2010 +0800
zypp:fix a logic error in refresh cache
without this patch, zypp backend only refresh one repo. This patch fix
this issue, and continue refresh other repo if one repo refresh fail.
diff --git a/backends/zypp/zypp-utils.cpp b/backends/zypp/zypp-utils.cpp
index a5ce2d3..6c9e3ab 100644
--- a/backends/zypp/zypp-utils.cpp
+++ b/backends/zypp/zypp-utils.cpp
@@ -1162,8 +1162,7 @@ zypp_refresh_cache (PkBackend *backend, gboolean force)
// Refreshing metadata
g_free (_repoName);
_repoName = g_strdup (repo.alias ().c_str ());
- if (zypp_refresh_meta_and_cache (manager, repo, force))
- break;
+ zypp_refresh_meta_and_cache (manager, repo, force);
} catch (const zypp::Exception &ex) {
if (repo_messages == NULL) {
repo_messages = g_strdup_printf ("%s: %s%s", repo.alias ().c_str (), ex.asUserString ().c_str (), "\n");
commit 49a16fce832687d0ff61eb26b20b819ba72dd3cc
Author: Richard Hughes <richard at hughsie.com>
Date: Wed Dec 1 17:00:05 2010 +0000
yum: allow a cache refresh when offline to deal with networkless setups
diff --git a/backends/yum/pk-backend-yum.c b/backends/yum/pk-backend-yum.c
index 2abfa32..9a5e044 100644
--- a/backends/yum/pk-backend-yum.c
+++ b/backends/yum/pk-backend-yum.c
@@ -612,13 +612,6 @@ pk_backend_install_signature (PkBackend *backend, PkSigTypeEnum type,
void
pk_backend_refresh_cache (PkBackend *backend, gboolean force)
{
- /* check network state */
- if (!pk_backend_is_online (backend)) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_NO_NETWORK, "Cannot refresh cache whilst offline");
- pk_backend_finished (backend);
- return;
- }
-
pk_backend_spawn_helper (priv->spawn, "yumBackend.py", "refresh-cache", pk_backend_bool_to_string (force), NULL);
}
commit 029fe0ae43b15de4f59b98d45218733feeddc458
Author: Richard Hughes <richard at hughsie.com>
Date: Wed Dec 1 09:58:10 2010 +0000
zif: don't emit a ZifState warning if an update does not have update details
diff --git a/backends/zif/pk-backend-zif.c b/backends/zif/pk-backend-zif.c
index f2d1756..d7c718d 100644
--- a/backends/zif/pk-backend-zif.c
+++ b/backends/zif/pk-backend-zif.c
@@ -3091,6 +3091,18 @@ pk_backend_get_update_detail_thread (PkBackend *backend)
"No description available",
PK_UPDATE_STATE_ENUM_UNKNOWN,
NULL, NULL);
+
+ /* ensure we manually clear the state, as we're
+ * carrying on */
+ ret = zif_state_finished (state_tmp, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
} else {
gchar *changelog_text = NULL;
GPtrArray *array;
commit 012f0920f633bf96e33e2ca310c263772db17fc9
Author: Richard Hughes <richard at hughsie.com>
Date: Tue Nov 30 21:30:47 2010 +0000
zif: get the update vendor string and send to the daemon
diff --git a/backends/zif/pk-backend-zif.c b/backends/zif/pk-backend-zif.c
index da56d1a..f2d1756 100644
--- a/backends/zif/pk-backend-zif.c
+++ b/backends/zif/pk-backend-zif.c
@@ -3097,20 +3097,27 @@ pk_backend_get_update_detail_thread (PkBackend *backend)
GPtrArray *changesets;
GString *string_cve;
GString *string_bugzilla;
+ GString *string_vendor;
ZifUpdateInfo *info;
array = zif_update_get_update_infos (update);
string_cve = g_string_new (NULL);
string_bugzilla = g_string_new (NULL);
+ string_vendor = g_string_new (NULL);
for (j=0; j<array->len; j++) {
info = g_ptr_array_index (array, j);
switch (zif_update_info_get_kind (info)) {
case ZIF_UPDATE_INFO_KIND_CVE:
- g_string_append_printf (string_cve, "%s\t%s\t",
+ g_string_append_printf (string_cve, "%s;%s;",
zif_update_info_get_title (info),
zif_update_info_get_url (info));
break;
case ZIF_UPDATE_INFO_KIND_BUGZILLA:
- g_string_append_printf (string_bugzilla, "%s\t%s\t",
+ g_string_append_printf (string_bugzilla, "%s;%s;",
+ zif_update_info_get_title (info),
+ zif_update_info_get_url (info));
+ break;
+ case ZIF_UPDATE_INFO_KIND_VENDOR:
+ g_string_append_printf (string_vendor, "%s;%s;",
zif_update_info_get_title (info),
zif_update_info_get_url (info));
break;
@@ -3119,6 +3126,14 @@ pk_backend_get_update_detail_thread (PkBackend *backend)
}
}
+ /* remove trailing ';' */
+ if (string_cve->len > 0)
+ g_string_set_size (string_cve, string_cve->len - 1);
+ if (string_bugzilla->len > 0)
+ g_string_set_size (string_bugzilla, string_bugzilla->len - 1);
+ if (string_vendor->len > 0)
+ g_string_set_size (string_vendor, string_vendor->len - 1);
+
/* format changelog */
changesets = zif_update_get_changelog (update);
if (changesets != NULL)
@@ -3126,7 +3141,7 @@ pk_backend_get_update_detail_thread (PkBackend *backend)
pk_backend_update_detail (backend, package_ids[i],
NULL, //updates,
NULL, //obsoletes,
- NULL, //vendor_url,
+ string_vendor->str,
string_bugzilla->str,
string_cve->str,
PK_RESTART_ENUM_NONE,
commit 46a0483236916a77c7ea47e21c24c2898e2b806e
Author: Richard Hughes <richard at hughsie.com>
Date: Tue Nov 30 20:25:25 2010 +0000
zif: for updates without updateinfo, do not put '<none>' in the translated display
diff --git a/backends/zif/pk-backend-zif.c b/backends/zif/pk-backend-zif.c
index 93f9f53..da56d1a 100644
--- a/backends/zif/pk-backend-zif.c
+++ b/backends/zif/pk-backend-zif.c
@@ -3087,7 +3087,7 @@ pk_backend_get_update_detail_thread (PkBackend *backend)
pk_backend_update_detail (backend, package_ids[i],
NULL, NULL, NULL, NULL, NULL,
PK_RESTART_ENUM_NONE,
- "<none>",
+ "",
"No description available",
PK_UPDATE_STATE_ENUM_UNKNOWN,
NULL, NULL);
commit 0bd3a00a16c42cba319abf8705c69e31b607252f
Author: Richard Hughes <richard at hughsie.com>
Date: Tue Nov 30 20:24:35 2010 +0000
zif: fix changelog generation when there is no changeset version available
diff --git a/backends/zif/pk-backend-zif.c b/backends/zif/pk-backend-zif.c
index e804c93..93f9f53 100644
--- a/backends/zif/pk-backend-zif.c
+++ b/backends/zif/pk-backend-zif.c
@@ -2947,11 +2947,12 @@ out:
static gchar *
pk_backend_get_changelog_text (GPtrArray *changesets)
{
- guint i;
- ZifChangeset *changeset;
- GString *text;
+ const gchar *version;
gchar date_str[128];
GDate *date;
+ GString *text;
+ guint i;
+ ZifChangeset *changeset;
/* create output string */
text = g_string_new ("");
@@ -2964,11 +2965,19 @@ pk_backend_get_changelog_text (GPtrArray *changesets)
/* format the indervidual changeset */
g_date_set_time_t (date, zif_changeset_get_date (changeset));
g_date_strftime (date_str, 128, "%F", date);
- g_string_append_printf (text, "**%s** %s - %s\n%s\n\n",
- date_str,
- zif_changeset_get_author (changeset),
- zif_changeset_get_version (changeset),
- zif_changeset_get_description (changeset));
+ version = zif_changeset_get_version (changeset);
+ if (version != NULL) {
+ g_string_append_printf (text, "**%s** %s - %s\n%s\n\n",
+ date_str,
+ zif_changeset_get_author (changeset),
+ version,
+ zif_changeset_get_description (changeset));
+ } else {
+ g_string_append_printf (text, "**%s** %s\n%s\n\n",
+ date_str,
+ zif_changeset_get_author (changeset),
+ zif_changeset_get_description (changeset));
+ }
}
g_date_free (date);
return g_string_free (text, FALSE);
commit 20e96291969c2f759d863a2ae3b95bc352952ce0
Author: Richard Hughes <richard at hughsie.com>
Date: Tue Nov 30 20:16:56 2010 +0000
zif: If we are running in background mode, depsolve the update lists
This ensures the filelists are retrieved and the deps checked before the user clicks
on the interactive dialog. It feels a lot snappier this way too.
diff --git a/backends/zif/pk-backend-zif.c b/backends/zif/pk-backend-zif.c
index 071f29e..e804c93 100644
--- a/backends/zif/pk-backend-zif.c
+++ b/backends/zif/pk-backend-zif.c
@@ -1381,7 +1381,7 @@ pk_backend_initialize (PkBackend *backend)
backend);
/* we don't want to enable this for normal runtime */
- zif_state_set_enable_profile (priv->state, TRUE);
+ //zif_state_set_enable_profile (priv->state, TRUE);
/* ZifConfig */
priv->config = zif_config_new ();
@@ -2642,6 +2642,7 @@ static gboolean
pk_backend_get_updates_thread (PkBackend *backend)
{
PkBitfield filters = (PkBitfield) pk_backend_get_uint (backend, "filters");
+ gboolean background;
gboolean ret;
gchar **search = NULL;
GError *error = NULL;
@@ -2663,14 +2664,27 @@ pk_backend_get_updates_thread (PkBackend *backend)
pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);
/* set steps */
- ret = zif_state_set_steps (priv->state,
- NULL,
- 1, /* get remote stores */
- 1, /* get installed packages */
- 3, /* filter newest */
- 45, /* look in remote stores */
- 50, /* get updateinfo */
- -1);
+ background = zif_config_get_boolean (priv->config, "background", NULL);
+ if (!background) {
+ ret = zif_state_set_steps (priv->state,
+ NULL,
+ 1, /* get remote stores */
+ 1, /* get installed packages */
+ 3, /* filter newest */
+ 45, /* look in remote stores */
+ 50, /* get updateinfo */
+ -1);
+ } else {
+ ret = zif_state_set_steps (priv->state,
+ NULL,
+ 1, /* get remote stores */
+ 1, /* get installed packages */
+ 3, /* filter newest */
+ 25, /* look in remote stores */
+ 20, /* get updateinfo */
+ 50, /* depsolve */
+ -1);
+ }
g_assert (ret);
/* get a store_array of remote stores */
@@ -2855,6 +2869,53 @@ pk_backend_get_updates_thread (PkBackend *backend)
goto out;
}
+ /* if the transaction is done in the background, then depsolve
+ * the updates transaction so we have all the file lists up to
+ * date, and the depends data calculated so the UI is snappy */
+ if (background) {
+ /* use these stores for the transaction */
+ zif_transaction_set_stores_remote (priv->transaction, store_array);
+
+ for (i=0; i<updates_available->len; i++) {
+ package = g_ptr_array_index (updates_available, i);
+ ret = zif_transaction_add_install_as_update (priv->transaction,
+ package,
+ &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_PACKAGE_NOT_FOUND,
+ "cannot add update: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+ }
+
+ /* resolve this, which will take some time, as it's a
+ * background action and thus throttled */
+ state_local = zif_state_get_child (priv->state);
+ ret = zif_transaction_resolve (priv->transaction, state_local, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_DEP_RESOLUTION_FAILED,
+ "cannot resolve transaction: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* this section done */
+ ret = zif_state_done (priv->state, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+ }
+
/* filter */
result = pk_backend_filter_package_array (updates_available, filters);
commit 050341d7000375a09d5fe9b8ea20c2d003403bb3
Author: Richard Hughes <richard at hughsie.com>
Date: Tue Nov 30 20:15:47 2010 +0000
Do not disable background mode if we are marked as interactive, as the two are orthognal to one another
diff --git a/src/pk-backend.c b/src/pk-backend.c
index 3a5e449..151689d 100644
--- a/src/pk-backend.c
+++ b/src/pk-backend.c
@@ -2413,10 +2413,6 @@ pk_backend_use_background (PkBackend *backend)
{
gboolean ret;
- /* we're watching the GUI, do as fast as possible */
- if (backend->priv->interactive == PK_HINT_ENUM_TRUE)
- return FALSE;
-
/* check we are allowed */
ret = pk_conf_get_bool (backend->priv->conf, "UseIdleBandwidth");
if (!ret)
commit baf39274cb4295289439cdb55ec249fdc7c57a31
Author: Richard Hughes <richard at hughsie.com>
Date: Mon Nov 29 15:50:04 2010 +0000
Ensure we emit PK_STATUS_ENUM_WAIT when a transaction is in the 'ready' state
diff --git a/src/pk-transaction-list.c b/src/pk-transaction-list.c
index 116c2cf..8db34ce 100644
--- a/src/pk-transaction-list.c
+++ b/src/pk-transaction-list.c
@@ -584,7 +584,8 @@ pk_transaction_list_commit (PkTransactionList *tlist, const gchar *tid)
}
g_debug ("marking transaction %s as committed", item->tid);
- ret = pk_transaction_set_state (item->transaction, PK_TRANSACTION_STATE_COMMITTED);
+ ret = pk_transaction_set_state (item->transaction,
+ PK_TRANSACTION_STATE_COMMITTED);
if (!ret) {
g_warning ("could not mark as committed");
return FALSE;
diff --git a/src/pk-transaction.c b/src/pk-transaction.c
index 2fc5921..ac77e84 100644
--- a/src/pk-transaction.c
+++ b/src/pk-transaction.c
@@ -791,6 +791,8 @@ pk_transaction_state_to_string (PkTransactionState state)
{
if (state == PK_TRANSACTION_STATE_NEW)
return "new";
+ if (state == PK_TRANSACTION_STATE_WAITING_FOR_AUTH)
+ return "waiting-for-auth";
if (state == PK_TRANSACTION_STATE_COMMITTED)
return "committed";
if (state == PK_TRANSACTION_STATE_READY)
@@ -809,10 +811,11 @@ pk_transaction_state_to_string (PkTransactionState state)
* Typically, these states will be:
*
* 1. 'new'
- * 2. 'committed' <--- when the client sets the role
- * 3. 'ready' <--- when the transaction is ready to be run
- * 4. 'running' <--- where PkBackend gets used
- * 5. 'finished'
+ * 2. 'waiting for auth' <--- waiting for PolicyKit (optional)
+ * 3. 'committed' <--- when the client sets the role
+ * 4. 'ready' <--- when the transaction is ready to be run
+ * 5. 'running' <--- where PkBackend gets used
+ * 6. 'finished'
*
**/
gboolean
@@ -833,6 +836,24 @@ pk_transaction_set_state (PkTransaction *transaction, PkTransactionState state)
g_debug ("transaction now %s", pk_transaction_state_to_string (state));
transaction->priv->state = state;
+ /* update GUI */
+ if (state == PK_TRANSACTION_STATE_WAITING_FOR_AUTH) {
+ pk_transaction_status_changed_emit (transaction,
+ PK_STATUS_ENUM_WAITING_FOR_AUTH);
+ pk_transaction_progress_changed_emit (transaction,
+ PK_BACKEND_PERCENTAGE_INVALID,
+ PK_BACKEND_PERCENTAGE_INVALID,
+ 0, 0);
+
+ } else if (state == PK_TRANSACTION_STATE_READY) {
+ pk_transaction_status_changed_emit (transaction,
+ PK_STATUS_ENUM_WAIT);
+ pk_transaction_progress_changed_emit (transaction,
+ PK_BACKEND_PERCENTAGE_INVALID,
+ PK_BACKEND_PERCENTAGE_INVALID,
+ 0, 0);
+ }
+
/* we have no actions to perform here, so go straight to running */
if (state == PK_TRANSACTION_STATE_COMMITTED) {
/* TODO: do some things before we change states */
@@ -2537,9 +2558,9 @@ pk_transaction_obtain_authorization (PkTransaction *transaction, gboolean only_t
/* log */
pk_syslog_add (priv->syslog, PK_SYSLOG_TYPE_AUTH, "uid %i is trying to obtain %s auth (only_trusted:%i)", priv->uid, action_id, only_trusted);
- /* emit status for GUIs */
- pk_transaction_status_changed_emit (transaction, PK_STATUS_ENUM_WAITING_FOR_AUTH);
- pk_transaction_progress_changed_emit (transaction, PK_BACKEND_PERCENTAGE_INVALID, PK_BACKEND_PERCENTAGE_INVALID, 0, 0);
+ /* set transaction state */
+ pk_transaction_set_state (transaction,
+ PK_TRANSACTION_STATE_WAITING_FOR_AUTH);
/* check subject */
priv->waiting_for_auth = TRUE;
diff --git a/src/pk-transaction.h b/src/pk-transaction.h
index 99b271f..07a21c4 100644
--- a/src/pk-transaction.h
+++ b/src/pk-transaction.h
@@ -80,6 +80,7 @@ typedef enum
/* these have to be kept in order */
typedef enum {
PK_TRANSACTION_STATE_NEW,
+ PK_TRANSACTION_STATE_WAITING_FOR_AUTH,
PK_TRANSACTION_STATE_COMMITTED,
PK_TRANSACTION_STATE_READY,
PK_TRANSACTION_STATE_RUNNING,
commit bf7bd5fca467c043d10f48002895df9119d9f90c
Merge: 75c99ee... e16913c...
Author: Daniel Nicoletti <dantti85-pk at yahoo.com.br>
Date: Mon Nov 29 12:05:55 2010 -0200
Merge branch 'master' of gitorious.org:packagekit/packagekit
commit 75c99ee525bcf8c3d3c7ffbc12216db64d32d280
Author: Daniel Nicoletti <dantti85-pk at yahoo.com.br>
Date: Mon Nov 29 12:04:18 2010 -0200
packagekit-qt: use QDBusServiceWatcher instead of watching for serviceOwnerChanged()
diff --git a/lib/packagekit-qt/src/client.cpp b/lib/packagekit-qt/src/client.cpp
index 2dffc82..c0c15ef 100644
--- a/lib/packagekit-qt/src/client.cpp
+++ b/lib/packagekit-qt/src/client.cpp
@@ -83,9 +83,6 @@ Client::Client(QObject* parent) : QObject(parent), d_ptr(new ClientPrivate(this)
if (!db.open()) {
qDebug() << "Failed to initialize the desktop files database";
}
-
- // Set up a watch on DBus so that we know if the daemon disappears
- connect (QDBusConnection::systemBus ().interface (), SIGNAL(serviceOwnerChanged (const QString&, const QString&, const QString&)), d, SLOT (serviceOwnerChanged (const QString&, const QString&, const QString&)));
}
Client::~Client()
diff --git a/lib/packagekit-qt/src/clientprivate.cpp b/lib/packagekit-qt/src/clientprivate.cpp
index 5c18863..ed1fce8 100644
--- a/lib/packagekit-qt/src/clientprivate.cpp
+++ b/lib/packagekit-qt/src/clientprivate.cpp
@@ -23,12 +23,20 @@
#include "transactionprivate.h"
#include "common.h"
+#include <QDBusConnection>
+
using namespace PackageKit;
ClientPrivate::ClientPrivate(Client* parent)
: QObject(parent),
c(parent)
{
+ m_watcher = new QDBusServiceWatcher(PK_NAME,
+ QDBusConnection::systemBus(),
+ QDBusServiceWatcher::WatchForUnregistration,
+ this);
+ connect(m_watcher, SIGNAL(serviceUnregistered(const QString &)),
+ this, SLOT(serviceUnregistered()));
}
ClientPrivate::~ClientPrivate()
@@ -58,21 +66,8 @@ void ClientPrivate::transactionListChanged(const QStringList& tids)
c->transactionListChanged(transactions(tids, Client::instance()));
}
-void ClientPrivate::serviceOwnerChanged (const QString& name, const QString& oldOnwer, const QString& newOwner)
+void ClientPrivate::serviceUnregistered()
{
- if (name != PK_NAME){
- return;
- }
-
- // next time a transaction need to be created
- // we start the Daemon, we have to find a way
- // to avoid DBus error that sericeHasNoOwner
- startDaemon = newOwner.isEmpty();
-
- if (!newOwner.isEmpty()){
- return;
- }
-
error = Client::ErrorDaemonUnreachable;
c->error(error);
diff --git a/lib/packagekit-qt/src/clientprivate.h b/lib/packagekit-qt/src/clientprivate.h
index f71b9e9..c867dc8 100644
--- a/lib/packagekit-qt/src/clientprivate.h
+++ b/lib/packagekit-qt/src/clientprivate.h
@@ -1,6 +1,7 @@
/*
* This file is part of the QPackageKit project
* Copyright (C) 2008 Adrien Bustany <madcat at mymadcat.com>
+ * Copyright (C) 2010 Daniel Nicoletti <dantti85-pk at yahoo.com.br>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -22,6 +23,7 @@
#define CLIENTPRIVATE_H
#include <QtCore>
+#include <QDBusServiceWatcher>
#include "client.h"
class DaemonProxy;
@@ -32,28 +34,29 @@ class Transaction;
class ClientPrivate : public QObject
{
- Q_OBJECT
+ Q_OBJECT
public:
- ~ClientPrivate();
+ ~ClientPrivate();
- ::DaemonProxy* daemon;
- Client* c;
- QStringList hints;
- QHash<QString, Transaction*> runningTransactions;
- Client::DaemonError error;
+ ::DaemonProxy* daemon;
+ Client* c;
+ QStringList hints;
+ QHash<QString, Transaction*> runningTransactions;
+ Client::DaemonError error;
- QList<Transaction*> transactions(const QStringList& tids, QObject *parent);
- void destroyTransaction(const QString &tid);
+ QList<Transaction*> transactions(const QStringList &tids, QObject *parent);
+ void destroyTransaction(const QString &tid);
public Q_SLOTS:
- void transactionListChanged(const QStringList& tids);
- void serviceOwnerChanged(const QString&, const QString&, const QString&);
+ void transactionListChanged(const QStringList &tids);
+ void serviceUnregistered();
private:
friend class Client;
- bool startDaemon;
ClientPrivate(Client* parent);
+
+ QDBusServiceWatcher *m_watcher;
};
} // End namespace PackageKit
commit e16913c86183551a2404ed689b0c1d748733f449
Author: Richard Hughes <richard at hughsie.com>
Date: Mon Nov 29 12:58:30 2010 +0000
trivial: update the fedora reference spec file
diff --git a/contrib/PackageKit.spec.in b/contrib/PackageKit.spec.in
index 619fc64..88cd55f 100644
--- a/contrib/PackageKit.spec.in
+++ b/contrib/PackageKit.spec.in
@@ -68,6 +68,15 @@ Requires: %{name} = %{version}-%{release}
%description yum
A backend for PackageKit to enable yum functionality.
+%package zif
+Summary: PackageKit Zif backend
+Group: System Environment/Libraries
+Requires: zif >= 0.1.3
+Requires: %{name} = %{version}-%{release}
+
+%description zif
+A backend for PackageKit to enable Zif functionality.
+
%if 0%{?rhel} == 0
%package smart
Summary: PackageKit SMART backend
@@ -360,6 +369,12 @@ update-mime-database %{_datadir}/mime &> /dev/null || :
%dir %{_datadir}/PackageKit/helpers/yum
%{_datadir}/PackageKit/helpers/yum/*
+%files zif
+%defattr(-,root,root,-)
+%{_libdir}/packagekit-backend/libpk_backend_zif.so
+%dir %{_datadir}/PackageKit/helpers/zif
+%{_datadir}/PackageKit/helpers/zif/*
+
%files yum-plugin
%defattr(-, root, root)
%config(noreplace) %{_sysconfdir}/yum/pluginconf.d/refresh-packagekit.conf
commit f1e14657d354f9ebb9304fb3b0de53007f43c17f
Merge: 24c06f4... 763b500...
Author: Daniel Nicoletti <dantti85-pk at yahoo.com.br>
Date: Mon Nov 29 10:38:06 2010 -0200
Merge branch 'master' of gitorious.org:packagekit/packagekit
commit 24c06f49760cf56b97a7e844e356cb8c2fe8342a
Author: Daniel Nicoletti <dantti85-pk at yahoo.com.br>
Date: Mon Nov 29 10:36:59 2010 -0200
packagekit-qt: fix order of initialization
diff --git a/lib/packagekit-qt/src/transactionprivate.cpp b/lib/packagekit-qt/src/transactionprivate.cpp
index 9432cb2..1adcd88 100644
--- a/lib/packagekit-qt/src/transactionprivate.cpp
+++ b/lib/packagekit-qt/src/transactionprivate.cpp
@@ -27,8 +27,8 @@ using namespace PackageKit;
TransactionPrivate::TransactionPrivate(Transaction* parent)
: QObject(parent),
- t(parent),
p(0),
+ t(parent),
destroyed(false)
{
}
commit 763b500a2a5fc10e8cc91c9d421af5f304ff97ef
Author: Richard Hughes <richard at hughsie.com>
Date: Mon Nov 29 12:23:17 2010 +0000
zif: fix a few trivial bugs spotted by clang
diff --git a/backends/zif/pk-backend-zif.c b/backends/zif/pk-backend-zif.c
index dfd6f95..071f29e 100644
--- a/backends/zif/pk-backend-zif.c
+++ b/backends/zif/pk-backend-zif.c
@@ -141,7 +141,7 @@ pk_backend_transaction_start (PkBackend *backend)
guint i;
guint lock_delay;
guint lock_retries;
- guint pid;
+ guint pid = 0;
/* only try a finite number of times */
lock_retries = zif_config_get_uint (priv->config, "lock_retries", NULL);
@@ -637,7 +637,6 @@ pk_backend_search_collections (GPtrArray *store_array,
GError **error)
{
gboolean ret;
- gchar *package_id;
GError *error_local = NULL;
GPtrArray *array = NULL;
GPtrArray *array_tmp;
@@ -691,7 +690,7 @@ pk_backend_search_collections (GPtrArray *store_array,
g_ptr_array_add (array, g_object_ref (package));
} else {
g_warning ("failed to add id %s: %s",
- package_id,
+ zif_category_get_id (cat),
error_local->message);
g_clear_error (&error_local);
}
@@ -828,6 +827,8 @@ pk_backend_resolve_groups (GPtrArray *store_array,
error_local->message);
g_clear_error (&error_local);
ret = zif_state_finished (state_loop, error);
+ if (!ret)
+ goto out;
}
}
@@ -904,7 +905,6 @@ pk_backend_what_provides_helper (GPtrArray *store_array,
depend_array,
state_local,
error);
- g_object_unref (depend);
if (array == NULL)
goto out;
@@ -1577,13 +1577,11 @@ pk_backend_download_packages_thread (PkBackend *backend)
GPtrArray *packages = NULL;
GPtrArray *store_array = NULL;
guint i;
- guint len;
ZifPackage *package;
ZifState *state_local;
ZifState *state_loop;
ZifState *state_tmp;
- len = g_strv_length (package_ids);
ret = zif_state_set_steps (priv->state,
NULL,
2, /* get default stores */
@@ -1790,24 +1788,21 @@ out:
static gboolean
pk_backend_get_depends_thread (PkBackend *backend)
{
+ const gchar *id;
gboolean ret;
gchar **package_ids = pk_backend_get_strv (backend, "package_ids");
- PkBitfield filters = (PkBitfield) pk_backend_get_uint (backend, "filters");
+ GError *error = NULL;
+ GPtrArray *array = NULL;
+ GPtrArray *provides;
+ GPtrArray *requires;
+ GPtrArray *result;
GPtrArray *store_array = NULL;
+ guint i, j;
+ PkBitfield filters = (PkBitfield) pk_backend_get_uint (backend, "filters");
ZifPackage *package;
ZifPackage *package_provide;
ZifState *state_local;
ZifState *state_loop;
- const gchar *id;
- guint i, j;
- guint len;
- GError *error = NULL;
- GPtrArray *array = NULL;
- GPtrArray *result;
- GPtrArray *requires;
- GPtrArray *provides;
-
- len = g_strv_length (package_ids);
/* set steps */
ret = zif_state_set_steps (priv->state,
@@ -1918,7 +1913,7 @@ pk_backend_get_depends_thread (PkBackend *backend)
pk_backend_error_code (backend,
PK_ERROR_ENUM_PACKAGE_NOT_FOUND,
"failed to find provide for %s: %s",
- zif_depend_get_name (g_ptr_array_index (provides, 0)),
+ zif_depend_get_name (g_ptr_array_index (requires, 0)),
error->message);
g_error_free (error);
goto out;
@@ -2003,24 +1998,21 @@ out:
static gboolean
pk_backend_get_requires_thread (PkBackend *backend)
{
+ const gchar *id;
gboolean ret;
gchar **package_ids = pk_backend_get_strv (backend, "package_ids");
- PkBitfield filters = (PkBitfield) pk_backend_get_uint (backend, "filters");
+ GError *error = NULL;
+ GPtrArray *array = NULL;
+ GPtrArray *provides;
+ GPtrArray *requires;
+ GPtrArray *result;
GPtrArray *store_array = NULL;
+ guint i, j;
+ PkBitfield filters = (PkBitfield) pk_backend_get_uint (backend, "filters");
ZifPackage *package;
ZifPackage *package_provide;
ZifState *state_local;
ZifState *state_loop;
- const gchar *id;
- guint i, j;
- guint len;
- GError *error = NULL;
- GPtrArray *array = NULL;
- GPtrArray *result;
- GPtrArray *requires;
- GPtrArray *provides;
-
- len = g_strv_length (package_ids);
/* set steps */
ret = zif_state_set_steps (priv->state,
@@ -2134,7 +2126,7 @@ pk_backend_get_requires_thread (PkBackend *backend)
pk_backend_error_code (backend,
PK_ERROR_ENUM_PACKAGE_NOT_FOUND,
"failed to find provide for %s: %s",
- zif_depend_get_name (g_ptr_array_index (provides, 0)),
+ zif_depend_get_name (g_ptr_array_index (requires, 0)),
error->message);
g_error_free (error);
goto out;
@@ -2230,7 +2222,6 @@ pk_backend_get_details_thread (PkBackend *backend)
GPtrArray *store_array = NULL;
guint64 size;
guint i;
- guint len;
PkBitfield filters = PK_FILTER_ENUM_UNKNOWN;
PkGroupEnum group;
ZifPackage *package;
@@ -2238,8 +2229,6 @@ pk_backend_get_details_thread (PkBackend *backend)
ZifState *state_loop;
ZifState *state_tmp;
- len = g_strv_length (package_ids);
-
/* set steps */
ret = zif_state_set_steps (priv->state,
NULL,
@@ -2523,15 +2512,12 @@ pk_backend_get_files_thread (PkBackend *backend)
GPtrArray *store_array = NULL;
GString *files_str;
guint i, j;
- guint len;
PkBitfield filters = PK_FILTER_ENUM_UNKNOWN;
ZifPackage *package;
ZifState *state_local;
ZifState *state_loop;
ZifState *state_tmp;
- len = g_strv_length (package_ids);
-
/* set steps */
ret = zif_state_set_steps (priv->state,
NULL,
@@ -2824,6 +2810,14 @@ pk_backend_get_updates_thread (PkBackend *backend)
g_debug ("failed to get updateinfo for %s", zif_package_get_id (package));
g_clear_error (&error);
ret = zif_state_finished (state_loop, NULL);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
} else {
update_kind = zif_update_get_kind (update);
if (update_kind == ZIF_UPDATE_KIND_BUGFIX)
@@ -2842,9 +2836,9 @@ pk_backend_get_updates_thread (PkBackend *backend)
ret = zif_state_done (state_local, &error);
if (!ret) {
pk_backend_error_code (backend,
- PK_ERROR_ENUM_TRANSACTION_CANCELLED,
- "cancelled: %s",
- error->message);
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
g_error_free (error);
goto out;
}
commit 6e4e816753c987d40be6ac1068aa3483e7d5624a
Author: Richard Hughes <richard at hughsie.com>
Date: Mon Nov 29 12:17:52 2010 +0000
dummy: fix a potential NULL dereference spotted by clang
diff --git a/backends/dummy/pk-backend-dummy.c b/backends/dummy/pk-backend-dummy.c
index 89d898f..a9f4135 100644
--- a/backends/dummy/pk-backend-dummy.c
+++ b/backends/dummy/pk-backend-dummy.c
@@ -1046,7 +1046,7 @@ pk_backend_socket_has_data_cb (GSocket *socket, GIOCondition condition, PkBacken
/* the helper process exited */
if ((condition & G_IO_HUP) > 0) {
pk_backend_error_code (backend, PK_ERROR_ENUM_INTERNAL_ERROR,
- "socket was disconnected: %s", error->message);
+ "socket was disconnected");
pk_backend_finished (backend);
ret = FALSE;
goto out;
commit 537f4b2305bea757f35bf34d1463f3d502a2a994
Author: Richard Hughes <richard at hughsie.com>
Date: Mon Nov 29 12:05:56 2010 +0000
zif: Use zif_package_get_printable() to get easier to understand error messages
diff --git a/backends/zif/pk-backend-zif.c b/backends/zif/pk-backend-zif.c
index 311cab6..dfd6f95 100644
--- a/backends/zif/pk-backend-zif.c
+++ b/backends/zif/pk-backend-zif.c
@@ -274,10 +274,7 @@ out:
static gboolean
pk_backend_filter_package_array_newest (GPtrArray *array)
{
- const gchar *package_id;
- gboolean installed;
gchar *key;
- gchar **split;
GHashTable *hash;
gint retval;
guint i;
@@ -292,18 +289,12 @@ pk_backend_filter_package_array_newest (GPtrArray *array)
for (i=0; i<array->len; i++) {
- /* get the current package */
- package = g_ptr_array_index (array, i);
- package_id = zif_package_get_id (package);
- installed = zif_package_is_installed (package);
-
/* generate enough data to be specific */
- split = pk_package_id_split (package_id);
+ package = g_ptr_array_index (array, i);
key = g_strdup_printf ("%s-%s-%i",
- split[PK_PACKAGE_ID_NAME],
- split[PK_PACKAGE_ID_ARCH],
- installed);
- g_strfreev (split);
+ zif_package_get_name (package),
+ zif_package_get_arch (package),
+ zif_package_is_installed (package));
/* we've not already come across this package */
found = g_hash_table_lookup (hash, key);
@@ -1700,7 +1691,7 @@ pk_backend_download_packages_thread (PkBackend *backend)
pk_backend_error_code (backend,
PK_ERROR_ENUM_PACKAGE_DOWNLOAD_FAILED,
"failed to get filename for %s: %s",
- zif_package_get_id (package),
+ zif_package_get_printable (package),
error->message);
g_error_free (error);
goto out;
@@ -3004,7 +2995,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_id (package),
+ zif_package_get_printable (package),
error->message);
g_error_free (error);
goto out;
@@ -3283,7 +3274,7 @@ pk_backend_run_transaction (PkBackend *backend, ZifState *state)
pk_backend_error_code (backend,
PK_ERROR_ENUM_NOT_AUTHORIZED,
"package %s is untrusted",
- zif_package_get_id (package));
+ zif_package_get_printable (package));
g_error_free (error);
goto out;
}
@@ -3388,7 +3379,7 @@ pk_backend_remove_packages_thread (PkBackend *backend)
pk_backend_error_code (backend,
PK_ERROR_ENUM_PACKAGE_NOT_FOUND,
"failed to add package %s: %s",
- zif_package_get_id (package),
+ zif_package_get_printable (package),
error->message);
g_error_free (error);
goto out;
@@ -3525,7 +3516,7 @@ pk_backend_update_packages_thread (PkBackend *backend)
pk_backend_error_code (backend,
PK_ERROR_ENUM_PACKAGE_NOT_FOUND,
"failed to add package %s: %s",
- zif_package_get_id (package),
+ zif_package_get_printable (package),
error->message);
g_error_free (error);
goto out;
@@ -3662,7 +3653,7 @@ pk_backend_install_packages_thread (PkBackend *backend)
pk_backend_error_code (backend,
PK_ERROR_ENUM_PACKAGE_NOT_FOUND,
"failed to add package %s: %s",
- zif_package_get_id (package),
+ zif_package_get_printable (package),
error->message);
g_error_free (error);
goto out;
@@ -3797,7 +3788,7 @@ pk_backend_install_files_thread (PkBackend *backend)
pk_backend_error_code (backend,
PK_ERROR_ENUM_PACKAGE_NOT_FOUND,
"failed to add package %s: %s",
- zif_package_get_id (package),
+ zif_package_get_printable (package),
error->message);
g_error_free (error);
goto out;
commit 2cb08f0c9aa3127a11b8985049f813ea01e4745b
Author: Richard Hughes <richard at hughsie.com>
Date: Mon Nov 29 11:35:43 2010 +0000
zif: Add a new backend, which uses Zif to interface with the rpmdb and the Fedora metadata
This new backend should be considered experimental, and should not be used
in production environments. It is often an order of magnitude quicker then
the 'yum' backend as there is no need to spawn a process in python and
certainly no need to check the metadata on every access.
There will be bugs, so please test carefully. More information is at
https://github.com/hughsie/zif/raw/master/README.PackageKit for how
to switch to the new backend from yum.
diff --git a/backends/.gitignore b/backends/.gitignore
index 9c5d2d0..8b13789 100644
--- a/backends/.gitignore
+++ b/backends/.gitignore
@@ -1,2 +1 @@
-zif
diff --git a/backends/Makefile.am b/backends/Makefile.am
index 37d7059..3d53950 100644
--- a/backends/Makefile.am
+++ b/backends/Makefile.am
@@ -64,6 +64,10 @@ if BACKEND_TYPE_ZYPP
SUBDIRS += zypp
endif
+if BACKEND_TYPE_ZIF
+SUBDIRS += zif
+endif
+
if BACKEND_TYPE_POLDEK
SUBDIRS += poldek
endif
diff --git a/backends/yum/Makefile.am b/backends/yum/Makefile.am
index aae70f7..21883b6 100644
--- a/backends/yum/Makefile.am
+++ b/backends/yum/Makefile.am
@@ -10,7 +10,6 @@ INCLUDES = \
-DI_KNOW_THE_PACKAGEKIT_GLIB2_API_IS_SUBJECT_TO_CHANGE \
-DG_LOG_DOMAIN=\"PackageKit-Yum\" \
-DPK_COMPILATION \
- $(ZIF_CFLAGS) \
-DSYSCONFDIR=\""$(sysconfdir)"\"
plugindir = $(PK_PLUGIN_DIR)
@@ -20,10 +19,6 @@ libpk_backend_yum_la_LIBADD = $(PK_PLUGIN_LIBS)
libpk_backend_yum_la_LDFLAGS = -module -avoid-version
libpk_backend_yum_la_CFLAGS = $(PK_PLUGIN_CFLAGS) $(WARNINGFLAGS_C)
-libpk_backend_yum_la_LIBADD += \
- $(ZIF_LIBS) \
- $(NULL)
-
confdir = $(PK_CONF_DIR)
conf_DATA = Yum.conf
diff --git a/backends/yum/Yum.conf b/backends/yum/Yum.conf
index 258979e..9281631 100644
--- a/backends/yum/Yum.conf
+++ b/backends/yum/Yum.conf
@@ -36,20 +36,3 @@ SystemPackages=yum;rpm;glibc;PackageKit
#
# default=PackageKit;yum;rpm;gnome-packagekit;kpackagekit;selinux-policy
InfrastructurePackages=PackageKit;yum;rpm;gnome-packagekit;kpackagekit
-
-# Yum is slow, and we can use Zif to accelerate some simple transactions
-#
-# Yum is written in python, and we have to execute a new process and
-# communicate with it. This is much slower than just acessing the repo files
-# and rpmdb in a thread. Zif is a pretty new project, and is not well tested
-# at this time. It is however up to an order of magnitude faster in some
-# benchmark tests.
-#
-# Zif probably still has bugs. This key provides a way for the admin
-# to still use the awesomeness of Zif for some operations, but not others.
-#
-# For a nice speed boost, try:
-# UseZif=get-repo-list;repo-enable;resolve;search-file;search-name;search-details;search-group;get-categories;get-details;get-distro-upgrades
-#
-# default=repo-list;repo-enable
-UseZif=get-repo-list;repo-enable
diff --git a/backends/yum/pk-backend-yum.c b/backends/yum/pk-backend-yum.c
index 3d87b33..2abfa32 100644
--- a/backends/yum/pk-backend-yum.c
+++ b/backends/yum/pk-backend-yum.c
@@ -26,10 +26,6 @@
#include <string.h>
#include <packagekit-glib2/pk-debug.h>
-#ifdef HAVE_ZIF
-#include <zif.h>
-#endif
-
#define PREUPGRADE_BINARY "/usr/bin/preupgrade"
#define YUM_REPOS_DIRECTORY "/etc/yum.repos.d"
#define YUM_BACKEND_LOCKING_RETRIES 10
@@ -40,18 +36,8 @@ typedef struct {
PkBackendSpawn *spawn;
GFileMonitor *monitor;
GCancellable *cancellable;
- PkBitfield use_zif;
guint signal_finished;
guint signal_status;
-#ifdef HAVE_ZIF
- ZifConfig *config;
- ZifStore *store_local;
- ZifRepos *repos;
- ZifGroups *groups;
- ZifState *state;
- ZifLock *lock;
- ZifRelease *release;
-#endif
GTimer *timer;
GVolumeMonitor *volume_monitor;
} PkBackendYumPrivate;
@@ -64,7 +50,7 @@ static PkBackendYumPrivate *priv;
gchar *
pk_backend_get_description (PkBackend *backend)
{
- return g_strdup ("YUM (and optionally ZIF)");
+ return g_strdup ("YUM");
}
/**
@@ -121,926 +107,12 @@ out:
g_free (filename);
}
-#ifdef HAVE_ZIF
-
-static void
-pk_backend_state_percentage_changed_cb (ZifState *state, guint percentage, PkBackend *backend)
-{
- pk_backend_set_percentage (backend, percentage);
-}
-
-static void
-pk_backend_state_subpercentage_changed_cb (ZifState *state, guint subpercentage, PkBackend *backend)
-{
- pk_backend_set_sub_percentage (backend, subpercentage);
-}
-
-/**
- * pk_backend_profile:
- */
-static void
-pk_backend_profile (const gchar *title)
-{
- gdouble elapsed;
-
- /* just reset? */
- if (title == NULL)
- goto out;
- elapsed = g_timer_elapsed (priv->timer, NULL);
- g_debug ("PROFILE: %ims\t%s", (guint) (elapsed * 1000.0f), title);
-out:
- g_timer_reset (priv->timer);
-}
-
-/**
- * pk_backend_is_all_installed:
- */
-static gboolean
-pk_backend_is_all_installed (gchar **package_ids)
-{
- guint i;
- gboolean ret = TRUE;
-
- /* check if we can use zif */
- for (i=0; package_ids[i] != NULL; i++) {
- if (!g_str_has_suffix (package_ids[i], ";installed")) {
- ret = FALSE;
- break;
- }
- }
- return ret;
-}
-#endif
-
-/**
- * pk_backend_transaction_start:
- */
-void
-pk_backend_transaction_start (PkBackend *backend)
-{
-#ifdef HAVE_ZIF
- gboolean ret = FALSE;
- GError *error = NULL;
- const gchar *root;
- guint i;
- guint pid;
- guint cache_age;
- gchar *http_proxy = NULL;
-
- /* quit the spawned backend rather than waiting for it to time out */
- pk_backend_spawn_exit (priv->spawn);
-
- /* only try a finite number of times */
- for (i=0; i<YUM_BACKEND_LOCKING_RETRIES; i++) {
-
- /* try to lock */
- ret = zif_lock_set_locked (priv->lock, &pid, &error);
- if (ret)
- break;
-
- /* we're now waiting */
- pk_backend_set_status (backend, PK_STATUS_ENUM_WAITING_FOR_LOCK);
-
- /* now wait */
- g_debug ("Failed to lock on try %i of %i, already locked by PID %i (sleeping for %i seconds): %s\n",
- i+1, YUM_BACKEND_LOCKING_RETRIES, pid, YUM_BACKEND_LOCKING_DELAY, error->message);
- g_clear_error (&error);
- g_usleep (YUM_BACKEND_LOCKING_DELAY * G_USEC_PER_SEC);
- }
-
- /* we failed to lock */
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_CANNOT_GET_LOCK, "failed to get lock, held by PID: %i", pid);
- goto out;
- }
-
- /* this backend does not support a relocatable root... yet */
- root = pk_backend_get_root (backend);
- if (g_strcmp0 (root, "/") != 0) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_INSTALL_ROOT_INVALID, "backend does not support this root: '%s'", root);
- goto out;
- }
-
- /* try to set, or re-set install root */
- ret = zif_store_local_set_prefix (ZIF_STORE_LOCAL (priv->store_local), root, &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_INTERNAL_ERROR, "failed to set prefix: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- /* get network state */
- ret = pk_backend_is_online (backend);
- if (!ret) {
- zif_config_set_boolean (priv->config, "network", FALSE, NULL);
- goto out;
- }
-
- /* tell ZifConfig it's okay to contact the network */
- zif_config_set_boolean (priv->config, "network", TRUE, NULL);
-
- /* set cache age */
- cache_age = pk_backend_get_cache_age (backend);
- if (cache_age > 0)
- zif_config_set_uint (priv->config, "max-age", cache_age, NULL);
-
- /* set the proxy */
- http_proxy = pk_backend_get_proxy_http (backend);
- zif_config_set_string (priv->config, "http_proxy", http_proxy, NULL);
-
- /* setup state */
- zif_state_reset (priv->state);
-out:
- g_free (http_proxy);
-#endif
- return;
-}
-
-/**
- * pk_backend_transaction_stop:
- */
-void
-pk_backend_transaction_stop (PkBackend *backend)
-{
-#ifdef HAVE_ZIF
- gboolean ret;
- GError *error = NULL;
-
- /* try to unlock */
- ret = zif_lock_set_unlocked (priv->lock, &error);
- if (!ret) {
- g_warning ("failed to unlock: %s", error->message);
- g_error_free (error);
- goto out;
- }
-out:
-#endif
- return;
-}
-
-#ifdef HAVE_ZIF
-/**
- * pk_backend_filter_package_array_newest:
- *
- * This function needs to scale well, and be fast to process 50,000 packages in
- * less than one second. If it looks overcomplicated, it's because it needs to
- * be O(n) not O(n*n).
- **/
-static gboolean
-pk_backend_filter_package_array_newest (GPtrArray *array)
-{
- gchar **split;
- const gchar *package_id;
- gboolean installed;
- gchar *key;
- GHashTable *hash;
- gint retval;
- guint i;
- ZifPackage *found;
- ZifPackage *package;
-
- /* as an indexed hash table for speed */
- hash = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_object_unref);
-
- for (i=0; i<array->len; i++) {
-
- /* get the current package */
- package = g_ptr_array_index (array, i);
- package_id = zif_package_get_id (package);
- installed = zif_package_is_installed (package);
-
- /* generate enough data to be specific */
- split = pk_package_id_split (package_id);
- key = g_strdup_printf ("%s-%s-%i", split[PK_PACKAGE_ID_NAME], split[PK_PACKAGE_ID_ARCH], installed);
- g_strfreev (split);
-
- /* we've not already come across this package */
- found = g_hash_table_lookup (hash, key);
- if (found == NULL) {
- g_hash_table_insert (hash, key, g_object_ref (package));
- continue;
- }
-
- /* compare one package vs the other package */
- retval = zif_package_compare (package, found);
-
- /* the package is older than the one we have stored */
- if (retval <= 0) {
- g_free (key);
- g_ptr_array_remove (array, package);
- continue;
- }
-
- /* the package is newer than what we have stored, delete the old store, and add this one */
- g_hash_table_remove (hash, found);
- g_hash_table_insert (hash, key, g_object_ref (package));
- }
-
- g_hash_table_unref (hash);
- return TRUE;
-}
-
-/**
- * pk_backend_filter_package_array:
- **/
-static GPtrArray *
-pk_backend_filter_package_array (GPtrArray *array, PkBitfield filters)
-{
- guint i;
- ZifPackage *package;
- GPtrArray *result = NULL;
-
- result = g_ptr_array_new_with_free_func ((GDestroyNotify) g_object_unref);
-
- /* pre-result */
- for (i=0;i<array->len;i++) {
- package = g_ptr_array_index (array, i);
-
- /* installed */
- if (pk_bitfield_contain (filters, PK_FILTER_ENUM_INSTALLED)) {
- if (!zif_package_is_installed (package))
- continue;
- } else if (pk_bitfield_contain (filters, PK_FILTER_ENUM_NOT_INSTALLED)) {
- if (zif_package_is_installed (package))
- continue;
- }
-
- /* development */
- if (pk_bitfield_contain (filters, PK_FILTER_ENUM_DEVELOPMENT)) {
- if (!zif_package_is_devel (package))
- continue;
- } else if (pk_bitfield_contain (filters, PK_FILTER_ENUM_NOT_DEVELOPMENT)) {
- if (zif_package_is_devel (package))
- continue;
- }
-
- /* gui */
- if (pk_bitfield_contain (filters, PK_FILTER_ENUM_GUI)) {
- if (!zif_package_is_gui (package))
- continue;
- } else if (pk_bitfield_contain (filters, PK_FILTER_ENUM_NOT_GUI)) {
- if (zif_package_is_gui (package))
- continue;
- }
-
- /* free */
- if (pk_bitfield_contain (filters, PK_FILTER_ENUM_FREE)) {
- if (!zif_package_is_free (package))
- continue;
- } else if (pk_bitfield_contain (filters, PK_FILTER_ENUM_NOT_FREE)) {
- if (zif_package_is_free (package))
- continue;
- }
-
- /* arch */
- if (pk_bitfield_contain (filters, PK_FILTER_ENUM_ARCH)) {
- if (!zif_package_is_native (package))
- continue;
- } else if (pk_bitfield_contain (filters, PK_FILTER_ENUM_NOT_ARCH)) {
- if (zif_package_is_native (package))
- continue;
- }
-
- /* add to array so we can post process */
- g_ptr_array_add (result, g_object_ref (package));
- }
-
- /* do newest filtering */
- if (pk_bitfield_contain (filters, PK_FILTER_ENUM_NEWEST))
- pk_backend_filter_package_array_newest (result);
-
- return result;
-}
-
-/**
- * pk_backend_emit_package_array:
- **/
-static gboolean
-pk_backend_emit_package_array (PkBackend *backend, GPtrArray *array, ZifState *state)
-{
- guint i;
- gboolean installed;
- PkInfoEnum info;
- const gchar *info_hint;
- const gchar *package_id;
- const gchar *summary;
- ZifPackage *package;
-
- g_return_val_if_fail (array != NULL, FALSE);
-
- for (i=0; i<array->len; i++) {
- package = g_ptr_array_index (array, i);
- installed = zif_package_is_installed (package);
- package_id = zif_package_get_package_id (package);
-
- /* FIXME: should be okay as shouldn't be doing any action */
- zif_state_reset (state);
- summary = zif_package_get_summary (package, state, NULL);
-
- /* if we set a hint, use that, otherwise just get the installed status correct */
- info_hint = (const gchar *)g_object_get_data (G_OBJECT(package), "kind");
- if (info_hint == NULL) {
- info = installed ? PK_INFO_ENUM_INSTALLED : PK_INFO_ENUM_AVAILABLE;
- } else {
- info = pk_info_enum_from_string (info_hint);
- }
-
- pk_backend_package (backend, info, package_id, summary);
- }
- return TRUE;
-}
-
-/**
- * pk_backend_error_handler_cb:
- */
-static gboolean
-pk_backend_error_handler_cb (const GError *error, PkBackend *backend)
-{
- /* if we try to do a comps search on a local store */
- if (error->domain == ZIF_STORE_ERROR &&
- error->code == ZIF_STORE_ERROR_NO_SUPPORT) {
- g_debug ("ignoring operation on PkStoreLocal: %s", error->message);
- return TRUE;
- }
- /* emit a warning, this isn't fatal */
- pk_backend_message (backend, PK_MESSAGE_ENUM_BROKEN_MIRROR, "%s", error->message);
- return TRUE;
-}
-
-/**
- * pk_backend_get_default_store_array_for_filter:
- */
-static GPtrArray *
-pk_backend_get_default_store_array_for_filter (PkBackend *backend, PkBitfield filters, ZifState *state, GError **error)
-{
- GPtrArray *store_array;
- ZifStore *store;
- GPtrArray *array;
- GError *error_local = NULL;
-
- store_array = zif_store_array_new ();
-
- /* add local packages to the store_array */
- if (!pk_bitfield_contain (filters, PK_FILTER_ENUM_NOT_INSTALLED)) {
- store = zif_store_local_new ();
- zif_store_array_add_store (store_array, store);
- g_object_unref (store);
- }
-
- /* add remote packages to the store_array */
- if (!pk_bitfield_contain (filters, PK_FILTER_ENUM_INSTALLED)) {
- array = zif_repos_get_stores_enabled (priv->repos, state, &error_local);
- if (array == NULL) {
- g_set_error (error, 1, 0, "failed to get enabled stores: %s", error_local->message);
- g_error_free (error_local);
- g_ptr_array_unref (store_array);
- store_array = NULL;
- goto out;
- }
- zif_store_array_add_stores (store_array, array);
- g_ptr_array_unref (array);
- }
-out:
- return store_array;
-}
-
-/**
- * pk_backend_search_newest:
- */
-static GPtrArray *
-pk_backend_search_newest (GPtrArray *store_array, ZifState *state, guint recent, GError **error)
-{
- GPtrArray *array = NULL;
- GPtrArray *array_tmp;
- GTimeVal timeval_now;
- guint diff_secs = recent * 24 * 60 * 60;
- guint i;
- ZifPackage *package;
-
- /* get all the packages */
- array_tmp = zif_store_array_get_packages (store_array, state, error);
- if (array_tmp == NULL)
- goto out;
-
- /* only add elements to the array that are new enough */
- g_get_current_time (&timeval_now);
- array = g_ptr_array_new_with_free_func ((GDestroyNotify) g_object_unref);
- for (i=0; i<array_tmp->len; i++) {
- package = g_ptr_array_index (array_tmp, i);
- if (timeval_now.tv_sec - zif_package_get_time_file (package) < diff_secs)
- g_ptr_array_add (array, g_object_ref (package));
- }
- g_debug ("added %i newest packages", array->len);
-out:
- if (array_tmp != NULL)
- g_ptr_array_unref (array_tmp);
- return array;
-}
-
-/**
- * pk_backend_create_meta_package_for_category:
- */
-static ZifPackage *
-pk_backend_create_meta_package_for_category (GPtrArray *store_array, ZifCategory *cat, ZifState *state, GError **error)
-{
- ZifPackage *package = NULL;
- ZifPackage *package_tmp;
- GPtrArray *array_packages;
- gchar *package_id = NULL;
- gboolean ret;
- ZifString *string;
- guint j;
- const gchar *to_array[] = { NULL, NULL };
- PkInfoEnum info = PK_INFO_ENUM_COLLECTION_INSTALLED;
-
- /* are all the packages in this group installed? */
- to_array[0] = zif_category_get_id (cat);
- array_packages = zif_store_array_search_category (store_array, (gchar**)to_array, state, error);
- if (array_packages == NULL)
- goto out;
-
- /* if any are not installed, then this is not installed */
- for (j=0; j<array_packages->len; j++) {
- package_tmp = g_ptr_array_index (array_packages, j);
- if (!zif_package_is_installed (package_tmp)) {
- info = PK_INFO_ENUM_COLLECTION_AVAILABLE;
- g_debug ("%s is not installed, so marking as not installed %s collection",
- zif_package_get_id (package_tmp),
- zif_category_get_id (cat));
- break;
- }
- }
-
- /* fake something */
- package_id = g_strdup_printf ("%s;;;meta",
- zif_category_get_id (cat));
- package = zif_package_new ();
- ret = zif_package_set_id (package, package_id, NULL);
- if (!ret) {
- g_object_unref (package);
- package = NULL;
- goto out;
- }
-
- /* set summary */
- string = zif_string_new (zif_category_get_name (cat));
- zif_package_set_summary (package, string);
- zif_string_unref (string);
-
- /* map to simple binary installed value */
- zif_package_set_installed (package, (info == PK_INFO_ENUM_COLLECTION_INSTALLED));
-
- /* add to results */
- /* TODO: make a proper property */
- g_object_set_data (G_OBJECT(package), "kind", (gpointer)pk_info_enum_to_string (info));
-out:
- if (array_packages != NULL)
- g_ptr_array_unref (array_packages);
- g_free (package_id);
- return package;
-}
-
-/**
- * pk_backend_search_collections:
- */
-static GPtrArray *
-pk_backend_search_collections (GPtrArray *store_array, ZifState *state, GError **error)
-{
- gboolean ret;
- gchar *package_id;
- GPtrArray *array = NULL;
- GPtrArray *array_tmp;
- GError *error_local = NULL;
- ZifCategory *cat;
- guint i;
- ZifPackage *package;
- ZifState *state_local;
- ZifState *state_loop;
-
- /* set steps */
- zif_state_set_number_steps (state, 2);
-
- /* get sorted list of unique categories */
- state_local = zif_state_get_child (state);
- array_tmp = zif_store_array_get_categories (store_array, state_local, error);
- if (array_tmp == NULL)
- goto out;
-
- /* done */
- ret = zif_state_done (state, error);
- if (!ret)
- goto out;
-
- /* set steps */
- state_local = zif_state_get_child (state);
- zif_state_set_number_steps (state_local, array_tmp->len);
-
- /* generate fake packages */
- array = g_ptr_array_new_with_free_func ((GDestroyNotify) g_object_unref);
- for (i=0; i<array_tmp->len; i++) {
- cat = g_ptr_array_index (array_tmp, i);
-
- /* ignore top level categories */
- if (zif_category_get_parent_id (cat) == NULL)
- continue;
-
- /* fake something here */
- state_loop = zif_state_get_child (state_local);
- package = pk_backend_create_meta_package_for_category (store_array, cat, state_loop, &error_local);
- if (package != NULL) {
- g_ptr_array_add (array, g_object_ref (package));
- } else {
- g_warning ("failed to add id %s: %s", package_id, error_local->message);
- g_clear_error (&error_local);
- }
-
- /* done */
- ret = zif_state_done (state_local, error);
- if (!ret)
- goto out;
-
- g_object_unref (package);
- }
-
- /* done */
- ret = zif_state_done (state, error);
- if (!ret)
- goto out;
-out:
- if (array_tmp != NULL)
- g_ptr_array_unref (array_tmp);
- return array;
-}
-
-/**
- * pk_backend_get_cat_for_id:
- */
-static ZifCategory *
-pk_backend_get_cat_for_id (GPtrArray *store_array, const gchar *id, ZifState *state, GError **error)
-{
- GPtrArray *array = NULL;
- ZifCategory *cat = NULL;
- ZifCategory *cat_tmp;
- guint i;
-
- /* get all cats */
- array = zif_store_array_get_categories (store_array, state, error);
- if (array == NULL)
- goto out;
-
- /* find one that matches */
- for (i=0; i<array->len; i++) {
- cat_tmp = g_ptr_array_index (array, i);
- if (g_strcmp0 (zif_category_get_id (cat_tmp), id) == 0) {
- cat = g_object_ref (cat_tmp);
- break;
- }
- }
-
- /* nothing found, so set error */
- if (cat == NULL)
- g_set_error (error, 1, 0, "no category %s found", id);
-out:
- if (array != NULL)
- g_ptr_array_unref (array);
- return cat;
-}
-
-/**
- * pk_backend_resolve_groups:
- */
-static GPtrArray *
-pk_backend_resolve_groups (GPtrArray *store_array, gchar **search, ZifState *state, GError **error)
-{
- gboolean ret;
- GError *error_local = NULL;
- GPtrArray *array = NULL;
- GPtrArray *array_retval = NULL;
- guint i;
- ZifCategory *cat;
- ZifPackage *package;
- ZifState *state_local;
- ZifState *state_loop;
-
- /* set steps */
- zif_state_set_number_steps (state, g_strv_length (search));
-
- /* resolve all the groups */
- array = g_ptr_array_new_with_free_func ((GDestroyNotify) g_object_unref);
- for (i=0; search[i] != NULL; i++) {
- state_local = zif_state_get_child (state);
-
- /* set steps */
- zif_state_set_number_steps (state_local, 2);
-
- /* get the category */
- state_loop = zif_state_get_child (state_local);
- cat = pk_backend_get_cat_for_id (store_array, search[i]+1, state_loop, &error_local);
- if (cat == NULL) {
- g_debug ("group %s not found: %s", search[i], error_local->message);
- g_clear_error (&error_local);
-
- /* this part done */
- ret = zif_state_finished (state_loop, error);
- if (!ret)
- goto out;
- ret = zif_state_done (state_local, error);
- if (!ret)
- goto out;
- } else {
- ret = zif_state_done (state_local, error);
- if (!ret)
- goto out;
-
- /* fake something here */
- state_loop = zif_state_get_child (state_local);
- package = pk_backend_create_meta_package_for_category (store_array, cat, state_loop, &error_local);
- if (package != NULL) {
- g_ptr_array_add (array, package);
- } else {
- g_warning ("failed to add id %s: %s",
- zif_category_get_id (cat),
- error_local->message);
- g_clear_error (&error_local);
- ret = zif_state_finished (state_loop, error);
- }
- }
-
- /* this part done */
- ret = zif_state_done (state_local, error);
- if (!ret)
- goto out;
- ret = zif_state_done (state, error);
- if (!ret)
- goto out;
- }
-
- /* success */
- array_retval = g_ptr_array_ref (array);
-out:
- if (array != NULL)
- g_ptr_array_unref (array);
- return array_retval;
-}
-
-/**
- * pk_backend_what_provides_helper:
- */
-static GPtrArray *
-pk_backend_what_provides_helper (GPtrArray *store_array, gchar **search, ZifState *state, GError **error)
-{
- gboolean ret;
- GPtrArray *array = NULL;
- GPtrArray *array_retval = NULL;
- GPtrArray *array_tmp;
- guint i, j;
- ZifDepend *depend;
- ZifPackage *package;
- ZifState *state_local;
-
- /* set steps */
- zif_state_set_number_steps (state, g_strv_length (search));
-
- /* resolve all the groups */
- array = g_ptr_array_new_with_free_func ((GDestroyNotify) g_object_unref);
- for (i=0; search[i] != NULL; i++) {
- state_local = zif_state_get_child (state);
-
- /* parse this depend */
- depend = zif_depend_new ();
- ret = zif_depend_parse_description (depend, search[i], error);
- if (!ret)
- goto out;
-
- /* find what provides this depend */
- array_tmp = zif_store_array_what_provides (store_array, depend, state_local, error);
- g_object_unref (depend);
- if (array_tmp == NULL)
- goto out;
-
- /* add each result */
- for (j=0; j<array_tmp->len; j++) {
- package = g_ptr_array_index (array_tmp, i);
- g_ptr_array_add (array, g_object_ref (package));
- }
- g_ptr_array_unref (array_tmp);
-
- /* set steps */
- zif_state_set_number_steps (state_local, 2);
-
- /* this part done */
- ret = zif_state_done (state, error);
- if (!ret)
- goto out;
- }
-
- /* success */
- array_retval = g_ptr_array_ref (array);
-out:
- if (array != NULL)
- g_ptr_array_unref (array);
- return array_retval;
-}
-#endif
-
-/**
- * pk_backend_search_thread:
- */
-static gboolean
-pk_backend_search_thread (PkBackend *backend)
-{
-#ifdef HAVE_ZIF
- gboolean ret;
- GPtrArray *store_array = NULL;
- GPtrArray *array = NULL;
- GPtrArray *result;
- PkBitfield filters;
- PkRoleEnum role;
- ZifState *state_local;
- GError *error = NULL;
- gchar **search;
- guint recent;
- guint i;
-
- filters = (PkBitfield) pk_backend_get_uint (backend, "filters");
- role = pk_backend_get_role (backend);
-
- pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);
- pk_backend_set_percentage (backend, 0);
-
- zif_state_set_number_steps (priv->state, 4);
-
- /* get default store_array */
- state_local = zif_state_get_child (priv->state);
- store_array = pk_backend_get_default_store_array_for_filter (backend, filters, state_local, &error);
- if (store_array == NULL) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_INTERNAL_ERROR, "failed to get stores: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- /* this section done */
- ret = zif_state_done (priv->state, &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_CANCELLED, "cancelled: %s", error->message);
- g_error_free (error);
- goto out;
- }
- zif_state_set_error_handler (priv->state, (ZifStateErrorHandlerCb) pk_backend_error_handler_cb, backend);
-
- /* do get action */
- if (role == PK_ROLE_ENUM_GET_PACKAGES) {
- state_local = zif_state_get_child (priv->state);
- array = zif_store_array_get_packages (store_array, state_local, &error);
- if (array == NULL) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_INTERNAL_ERROR, "failed to get packages: %s", error->message);
- g_error_free (error);
- goto out;
- }
- } else {
- /* treat these all the same */
- search = pk_backend_get_strv (backend, "search");
- if (search == NULL) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_INTERNAL_ERROR,
- "failed to get 'search' for %s", pk_role_enum_to_string (role));
- goto out;
- }
- array = g_ptr_array_new_with_free_func ((GDestroyNotify) g_object_unref);
-
- /* do OR search */
- state_local = zif_state_get_child (priv->state);
- if (role == PK_ROLE_ENUM_SEARCH_NAME) {
- array = zif_store_array_search_name (store_array, search, state_local, &error);
- } else if (role == PK_ROLE_ENUM_SEARCH_DETAILS) {
- array = zif_store_array_search_details (store_array, search, state_local, &error);
- } else if (role == PK_ROLE_ENUM_SEARCH_GROUP) {
- gchar **search_stripped;
- guint search_entries;
-
- /* if the search temp is prefixed with '@' then it is a
- * category search, and we have to strip it */
- if (search[0][0] == '@') {
- search_entries = g_strv_length (search);
- search_stripped = g_new0 (gchar *, search_entries + 1);
- for (i=0; i < search_entries; i++)
- search_stripped[i] = g_strdup (&search[i][1]);
- array = zif_store_array_search_category (store_array, search_stripped, state_local, &error);
- g_strfreev (search_stripped);
- } else if (g_strcmp0 (search[0], "newest") == 0) {
- recent = zif_config_get_uint (priv->config, "recent", &error);
- array = pk_backend_search_newest (store_array, state_local, recent, &error);
- if (array == NULL) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_INTERNAL_ERROR, "failed to get packages: %s", error->message);
- g_error_free (error);
- goto out;
- }
- } else if (g_strcmp0 (search[0], "collections") == 0) {
- array = pk_backend_search_collections (store_array, state_local, &error);
- if (array == NULL) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_INTERNAL_ERROR, "failed to get packages: %s", error->message);
- g_error_free (error);
- goto out;
- }
- } else {
- array = zif_store_array_search_group (store_array, search, state_local, &error);
- }
- } else if (role == PK_ROLE_ENUM_SEARCH_FILE) {
- array = zif_store_array_search_file (store_array, search, state_local, &error);
- } else if (role == PK_ROLE_ENUM_RESOLVE) {
- if (search[0][0] == '@') {
- /* this is a group */
- array = pk_backend_resolve_groups (store_array, search, state_local, &error);
- } else {
- array = zif_store_array_resolve (store_array, search, state_local, &error);
- }
- } else if (role == PK_ROLE_ENUM_WHAT_PROVIDES) {
- array = pk_backend_what_provides_helper (store_array, search, state_local, &error);
- }
- if (array == NULL) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_INTERNAL_ERROR, "failed to search: %s", error->message);
- g_error_free (error);
- goto out;
- }
- }
-
- /* this section done */
- ret = zif_state_done (priv->state, &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_CANCELLED, "cancelled: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- /* filter */
- result = pk_backend_filter_package_array (array, filters);
-
- /* this section done */
- ret = zif_state_done (priv->state, &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_CANCELLED, "cancelled: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- /* done */
- pk_backend_set_percentage (backend, 100);
-
- /* emit */
- state_local = zif_state_get_child (priv->state);
- pk_backend_emit_package_array (backend, result, state_local);
-
- /* this section done */
- ret = zif_state_done (priv->state, &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_CANCELLED, "cancelled: %s", error->message);
- g_error_free (error);
- goto out;
- }
-out:
- if (store_array != NULL)
- g_ptr_array_unref (store_array);
- if (array != NULL)
- g_ptr_array_unref (array);
- pk_backend_finished (backend);
-#endif
- return TRUE;
-}
-
/**
* pk_backend_enable_media_repo:
*/
static void
pk_backend_enable_media_repo (gboolean enabled)
{
-#ifdef HAVE_ZIF
- ZifStoreRemote *repo = NULL;
- gboolean ret;
- GError *error = NULL;
- ZifState *state;
-
- /* find the right repo */
- state = zif_state_new ();
- zif_state_set_cancellable (state, zif_state_get_cancellable (priv->state));
- repo = zif_repos_get_store (priv->repos, "InstallMedia", state, &error);
- if (repo == NULL) {
- g_debug ("failed to find install-media repo: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- /* set the state */
- ret = zif_store_remote_set_enabled (repo, enabled, &error);
- if (!ret) {
- g_debug ("failed to set enable: %s", error->message);
- g_error_free (error);
- goto out;
- }
- g_debug ("%s InstallMedia", enabled ? "enabled" : "disabled");
-out:
- g_object_unref (state);
- if (repo != NULL)
- g_object_unref (repo);
-#else
GKeyFile *keyfile;
gboolean ret;
gchar *data = NULL;
@@ -1078,7 +150,6 @@ out:
out:
g_free (data);
g_key_file_free (keyfile);
-#endif
}
/**
@@ -1145,49 +216,6 @@ pk_backend_status_changed_cb (PkBackend *backend, PkStatusEnum status, gpointer
pk_backend_enable_media_repo (TRUE);
}
-#ifdef HAVE_ZIF
-/**
- * pk_backend_state_action_changed_cb:
- **/
-static void
-pk_backend_state_action_changed_cb (ZifState *state, ZifStateAction action, const gchar *action_hint, PkBackend *backend)
-{
- PkStatusEnum status = PK_STATUS_ENUM_UNKNOWN;
-
- /* ignore this */
- if (action == ZIF_STATE_ACTION_UNKNOWN)
- goto out;
-
- /* try to map the ZifStateAction to a PkStatusEnum */
- if (action == ZIF_STATE_ACTION_DOWNLOADING) {
- if (g_strrstr (action_hint, "repomd") != NULL)
- status = PK_STATUS_ENUM_DOWNLOAD_REPOSITORY;
- else if (g_strrstr (action_hint, "primary") != NULL)
- status = PK_STATUS_ENUM_DOWNLOAD_PACKAGELIST;
- else if (g_strrstr (action_hint, "filelist") != NULL)
- status = PK_STATUS_ENUM_DOWNLOAD_FILELIST;
- else if (g_strrstr (action_hint, "changelog") != NULL)
- status = PK_STATUS_ENUM_DOWNLOAD_CHANGELOG;
- else if (g_strrstr (action_hint, "comps") != NULL)
- status = PK_STATUS_ENUM_DOWNLOAD_GROUP;
- else if (g_strrstr (action_hint, "updatinfo") != NULL)
- status = PK_STATUS_ENUM_DOWNLOAD_UPDATEINFO;
- goto out;
- }
-
- /* general cache loading */
- if (action == ZIF_STATE_ACTION_CHECKING ||
- action == ZIF_STATE_ACTION_LOADING_REPOS ||
- action == ZIF_STATE_ACTION_DECOMPRESSING) {
- status = PK_STATUS_ENUM_LOADING_CACHE;
- goto out;
- }
-out:
- if (status != PK_STATUS_ENUM_UNKNOWN)
- pk_backend_set_status (backend, status);
-}
-#endif
-
/**
* pk_backend_initialize:
* This should only be run once per backend load, i.e. not every transaction
@@ -1201,11 +229,10 @@ pk_backend_initialize (PkBackend *backend)
GKeyFile *key_file = NULL;
gchar *config_file = NULL;
GList *mounts;
- gchar *use_zif = NULL;
/* use logging */
pk_debug_add_log_domain (G_LOG_DOMAIN);
- pk_debug_add_log_domain ("Zif");
+ pk_debug_add_log_domain ("Yum");
/* create private area */
priv = g_new0 (PkBackendYumPrivate, 1);
@@ -1252,91 +279,7 @@ pk_backend_initialize (PkBackend *backend)
g_error_free (error);
goto out;
}
-
- #ifdef HAVE_ZIF
- /* it seems some people are not ready for the awesomeness */
- use_zif = g_key_file_get_string (key_file, "Backend", "UseZif", NULL);
- if (use_zif != NULL) {
- priv->use_zif = pk_role_bitfield_from_string (use_zif);
- if (priv->use_zif == 0)
- g_warning ("failed to parse UseZif '%s'", use_zif);
- }
- g_debug ("UseZif=%s (%i)", use_zif, (gint)priv->use_zif);
-
- /* use a timer for profiling */
- priv->timer = g_timer_new ();
-
- /* init rpm */
- zif_init ();
-
- /* profile */
- pk_backend_profile ("zif init");
-
- /* TODO: hook up errors */
- priv->cancellable = g_cancellable_new ();
-
- /* ZifState */
- priv->state = zif_state_new ();
- g_signal_connect (priv->state, "percentage-changed", G_CALLBACK (pk_backend_state_percentage_changed_cb), backend);
- g_signal_connect (priv->state, "subpercentage-changed", G_CALLBACK (pk_backend_state_subpercentage_changed_cb), backend);
- g_signal_connect (priv->state, "action-changed", G_CALLBACK (pk_backend_state_action_changed_cb), backend);
-
- /* ZifConfig */
- priv->config = zif_config_new ();
- ret = zif_config_set_filename (priv->config, "/etc/yum.conf", &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_FAILED_CONFIG_PARSING, "failed to set config: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- /* profile */
- pk_backend_profile ("read config_file");
-
- /* ZifLock */
- priv->lock = zif_lock_new ();
-
- /* ZifRelease */
- priv->release = zif_release_new ();
- zif_release_set_boot_dir (priv->release, "/boot/upgrade");
- zif_release_set_cache_dir (priv->release, "/var/cache/PackageKit");
- zif_release_set_repo_dir (priv->release, "/var/cache/yum/preupgrade");
- zif_release_set_uri (priv->release, "http://mirrors.fedoraproject.org/releases.txt");
-
- /* ZifStoreLocal */
- priv->store_local = zif_store_local_new ();
-
- /* profile */
- pk_backend_profile ("read local store");
-
- /* ZifRepos */
- priv->repos = zif_repos_new ();
- ret = zif_repos_set_repos_dir (priv->repos, "/etc/yum.repos.d", &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_REPO_CONFIGURATION_ERROR, "failed to set repos dir: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- /* profile */
- pk_backend_profile ("read repos");
-
- /* ZifGroups */
- priv->groups = zif_groups_new ();
- ret = zif_groups_set_mapping_file (priv->groups, "/usr/share/PackageKit/helpers/yum/yum-comps-groups.conf", &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_GROUP_LIST_INVALID, "failed to set mapping file: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- /* profile */
- pk_backend_profile ("read groups");
-#else
- priv->use_zif = FALSE;
-#endif
out:
- g_free (use_zif);
g_free (config_file);
if (key_file != NULL)
g_key_file_free (key_file);
@@ -1357,24 +300,6 @@ pk_backend_destroy (PkBackend *backend)
g_object_unref (priv->monitor);
g_signal_handler_disconnect (backend, priv->signal_finished);
g_signal_handler_disconnect (backend, priv->signal_status);
-#ifdef HAVE_ZIF
- if (priv->config != NULL)
- g_object_unref (priv->config);
- if (priv->release != NULL)
- g_object_unref (priv->release);
- if (priv->state != NULL)
- g_object_unref (priv->state);
- if (priv->repos != NULL)
- g_object_unref (priv->repos);
- if (priv->groups != NULL)
- g_object_unref (priv->groups);
- if (priv->store_local != NULL)
- g_object_unref (priv->store_local);
- if (priv->lock != NULL)
- g_object_unref (priv->lock);
- if (priv->timer != NULL)
- g_timer_destroy (priv->timer);
-#endif
if (priv->volume_monitor != NULL)
g_object_unref (priv->volume_monitor);
g_free (priv);
@@ -1386,17 +311,7 @@ pk_backend_destroy (PkBackend *backend)
PkBitfield
pk_backend_get_groups (PkBackend *backend)
{
-#ifdef HAVE_ZIF
- GError *error = NULL;
- GPtrArray *array = NULL;
- guint i;
- const gchar *group_str;
-#endif
- PkBitfield groups = 0;
-
- /* it seems some people are not ready for the awesomeness */
- if (!pk_bitfield_contain (priv->use_zif, PK_ROLE_ENUM_GET_CATEGORIES)) {
- groups = pk_bitfield_from_enums (
+ return pk_bitfield_from_enums (
PK_GROUP_ENUM_COLLECTIONS,
PK_GROUP_ENUM_NEWEST,
PK_GROUP_ENUM_ADMIN_TOOLS,
@@ -1420,30 +335,6 @@ pk_backend_get_groups (PkBackend *backend)
PK_GROUP_ENUM_SYSTEM,
PK_GROUP_ENUM_VIRTUALIZATION,
-1);
- goto out;
- }
-
-#ifdef HAVE_ZIF
- /* get the dynamic group list */
- array = zif_groups_get_groups (priv->groups, &error);
- if (array == NULL) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_GROUP_LIST_INVALID, "failed to get the list of groups: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- /* convert to a bitfield */
- for (i=0; i<array->len; i++) {
- group_str = g_ptr_array_index (array, i);
- pk_bitfield_add (groups, pk_group_enum_from_string (group_str));
- }
-#endif
-
- /* add the virtual groups */
- pk_bitfield_add (groups, PK_GROUP_ENUM_COLLECTIONS);
- pk_bitfield_add (groups, PK_GROUP_ENUM_NEWEST);
-out:
- return groups;
}
/**
@@ -1502,14 +393,9 @@ pk_backend_get_roles (PkBackend *backend)
PK_ROLE_ENUM_SIMULATE_REMOVE_PACKAGES,
-1);
-#ifdef HAVE_ZIF
- pk_bitfield_add (roles, PK_ROLE_ENUM_GET_DISTRO_UPGRADES);
- pk_bitfield_add (roles, PK_ROLE_ENUM_UPGRADE_SYSTEM);
-#else
/* only add GetDistroUpgrades if the binary is present */
if (g_file_test (PREUPGRADE_BINARY, G_FILE_TEST_EXISTS))
pk_bitfield_add (roles, PK_ROLE_ENUM_GET_DISTRO_UPGRADES);
-#endif
return roles;
}
@@ -1529,329 +415,22 @@ pk_backend_get_mime_types (PkBackend *backend)
void
pk_backend_cancel (PkBackend *backend)
{
-#ifdef HAVE_ZIF
- /* try to cancel the thread first */
- g_cancellable_cancel (priv->cancellable);
-#endif
/* this feels bad... */
pk_backend_spawn_kill (priv->spawn);
}
/**
- * pk_backend_download_packages_thread:
- */
-static gboolean
-pk_backend_download_packages_thread (PkBackend *backend)
-{
-#ifdef HAVE_ZIF
- gchar **package_ids = pk_backend_get_strv (backend, "package_ids");
- const gchar *directory = pk_backend_get_string (backend, "directory");
- GPtrArray *store_array = NULL;
- ZifPackage *package;
- ZifState *state_local;
- GPtrArray *packages = NULL;
- const gchar *id;
- guint i;
- guint len;
- gboolean ret;
- GError *error = NULL;
- const gchar *filename;
- gchar *basename;
- gchar *path;
-
- len = g_strv_length (package_ids);
- zif_state_set_number_steps (priv->state, (len * 4) + 1);
-
- /* find all the packages */
- packages = g_ptr_array_new ();
- state_local = zif_state_get_child (priv->state);
- store_array = pk_backend_get_default_store_array_for_filter (backend, pk_bitfield_value (PK_FILTER_ENUM_NOT_INSTALLED), state_local, &error);
- if (store_array == NULL) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_INTERNAL_ERROR, "failed to get stores: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- /* this section done */
- ret = zif_state_done (priv->state, &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_CANCELLED, "cancelled: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);
- for (i=0; package_ids[i] != NULL; i++) {
- id = package_ids[i];
- state_local = zif_state_get_child (priv->state);
- package = zif_store_array_find_package (store_array, id, state_local, &error);
- if (package == NULL) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_FOUND, "failed to find %s: %s", package_ids[i], error->message);
- g_error_free (error);
- goto out;
- }
-
- /* this section done */
- ret = zif_state_done (priv->state, &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_CANCELLED, "cancelled: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- g_ptr_array_add (packages, g_object_ref (package));
- g_object_unref (package);
- }
-
- /* this section done */
- ret = zif_state_done (priv->state, &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_CANCELLED, "cancelled: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- /* download list */
- pk_backend_set_status (backend, PK_STATUS_ENUM_DOWNLOAD);
- for (i=0; i<packages->len; i++) {
- package = g_ptr_array_index (packages, i);
-
- /* get filename */
- state_local = zif_state_get_child (priv->state);
- filename = zif_package_get_filename (package, state_local, &error);
- if (filename == NULL) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_DOWNLOAD_FAILED,
- "failed to get filename for %s: %s", zif_package_get_id (package), error->message);
- g_error_free (error);
- goto out;
- }
-
- /* this section done */
- ret = zif_state_done (priv->state, &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_CANCELLED, "cancelled: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- /* download */
- state_local = zif_state_get_child (priv->state);
- ret = zif_package_remote_download (ZIF_PACKAGE_REMOTE (package), directory, state_local, &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_DOWNLOAD_FAILED,
- "failed to download %s: %s", filename, error->message);
- g_error_free (error);
- goto out;
- }
-
- /* send a signal for the daemon so the file is copied */
- basename = g_path_get_basename (filename);
- path = g_build_filename (directory, basename, NULL);
- pk_backend_files (backend, zif_package_get_id (package), path);
- g_free (basename);
- g_free (path);
-
- /* this section done */
- ret = zif_state_done (priv->state, &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_CANCELLED, "cancelled: %s", error->message);
- g_error_free (error);
- goto out;
- }
- }
-out:
- pk_backend_finished (backend);
- if (packages != NULL)
- g_ptr_array_unref (packages);
- if (store_array != NULL)
- g_ptr_array_unref (store_array);
-#endif
- return TRUE;
-}
-
-/**
* pk_backend_download_packages:
*/
void
pk_backend_download_packages (PkBackend *backend, gchar **package_ids, const gchar *directory)
{
- /* it seems some people are not ready for the awesomeness */
- if (!pk_bitfield_contain (priv->use_zif, pk_backend_get_role (backend))) {
- gchar *package_ids_temp;
-
- /* send the complete list as stdin */
- package_ids_temp = pk_package_ids_to_string (package_ids);
- pk_backend_spawn_helper (priv->spawn, "yumBackend.py", "download-packages", directory, package_ids_temp, NULL);
- g_free (package_ids_temp);
- return;
- }
- pk_backend_thread_create (backend, pk_backend_download_packages_thread);
-}
-
-/**
- * pk_backend_get_depends_thread:
- */
-static gboolean
-pk_backend_get_depends_thread (PkBackend *backend)
-{
-#ifdef HAVE_ZIF
- gboolean ret;
- gchar **package_ids = pk_backend_get_strv (backend, "package_ids");
- PkBitfield filters = (PkBitfield) pk_backend_get_uint (backend, "filters");
- GPtrArray *store_array = NULL;
- ZifPackage *package;
- ZifPackage *package_provide;
- ZifState *state_local;
- ZifState *state_loop;
- ZifState *state_loop_inner;
- ZifDepend *require;
- const gchar *id;
- guint i, j, k;
- guint len;
- GError *error = NULL;
- GPtrArray *array = NULL;
- GPtrArray *result;
- GPtrArray *requires;
- GPtrArray *provides;
-
- len = g_strv_length (package_ids);
-
- zif_state_set_number_steps (priv->state, len + 3);
-
- /* find all the packages */
- state_local = zif_state_get_child (priv->state);
- store_array = pk_backend_get_default_store_array_for_filter (backend, 0, state_local, &error);
- if (store_array == NULL) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_INTERNAL_ERROR, "failed to get stores: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- /* this section done */
- ret = zif_state_done (priv->state, &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_CANCELLED, "cancelled: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- /* new output array */
- array = g_ptr_array_new_with_free_func ((GDestroyNotify) g_object_unref);
-
- pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);
- for (i=0; package_ids[i] != NULL; i++) {
- id = package_ids[i];
-
- /* set up state */
- state_local = zif_state_get_child (priv->state);
- zif_state_set_number_steps (state_local, 2);
-
- /* find package */
- state_loop = zif_state_get_child (state_local);
- package = zif_store_array_find_package (store_array, id, state_loop, &error);
- if (package == NULL) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_FOUND, "failed to find %s: %s", package_ids[i], error->message);
- g_error_free (error);
- goto out;
- }
-
- /* this section done */
- ret = zif_state_done (state_local, &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_CANCELLED, "cancelled: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- /* get requires */
- state_loop = zif_state_get_child (state_local);
- requires = zif_package_get_requires (package, state_loop, &error);
- if (requires == NULL) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_FOUND,
- "failed to get requires for %s: %s",
- package_ids[i], error->message);
- g_error_free (error);
- goto out;
- }
-
- /* this section done */
- ret = zif_state_done (state_local, &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_CANCELLED, "cancelled: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- /* match a package to each require */
- state_loop = zif_state_get_child (state_local);
- zif_state_set_number_steps (state_loop, requires->len);
- for (k=0; k<requires->len; k++) {
-
- /* setup deeper state */
- state_loop_inner = zif_state_get_child (state_loop);
-
- require = g_ptr_array_index (requires, k);
-
- /* find the package providing the depend */
- provides = zif_store_array_what_provides (store_array, require, state_loop_inner, &error);
- if (provides == NULL) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_FOUND,
- "failed to find provide for %s: %s",
- zif_depend_get_name (require), error->message);
- g_error_free (error);
- goto out;
- }
-
- /* print all of them */
- for (j=0;j<provides->len;j++) {
- package_provide = g_ptr_array_index (provides, j);
- g_ptr_array_add (array, g_object_ref (package_provide));
- }
- g_ptr_array_unref (provides);
-
- /* this section done */
- ret = zif_state_done (state_loop, &error);
- if (!ret)
- goto out;
- }
-
- /* free */
- g_object_unref (package);
- }
-
- /* filter */
- result = pk_backend_filter_package_array (array, filters);
-
- /* this section done */
- ret = zif_state_done (priv->state, &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_CANCELLED, "cancelled: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- /* done */
- pk_backend_set_percentage (backend, 100);
-
- /* emit */
- state_local = zif_state_get_child (priv->state);
- pk_backend_emit_package_array (backend, result, state_local);
+ gchar *package_ids_temp;
- /* this section done */
- ret = zif_state_done (priv->state, &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_CANCELLED, "cancelled: %s", error->message);
- g_error_free (error);
- goto out;
- }
-out:
- if (array != NULL)
- g_ptr_array_unref (array);
- pk_backend_finished (backend);
- if (store_array != NULL)
- g_ptr_array_unref (store_array);
-#endif
- return TRUE;
+ /* send the complete list as stdin */
+ package_ids_temp = pk_package_ids_to_string (package_ids);
+ pk_backend_spawn_helper (priv->spawn, "yumBackend.py", "download-packages", directory, package_ids_temp, NULL);
+ g_free (package_ids_temp);
}
/**
@@ -1860,186 +439,13 @@ out:
void
pk_backend_get_depends (PkBackend *backend, PkBitfield filters, gchar **package_ids, gboolean recursive)
{
- /* it seems some people are not ready for the awesomeness */
- if (!pk_bitfield_contain (priv->use_zif, pk_backend_get_role (backend))) {
- gchar *filters_text;
- gchar *package_ids_temp;
- package_ids_temp = pk_package_ids_to_string (package_ids);
- filters_text = pk_filter_bitfield_to_string (filters);
- pk_backend_spawn_helper (priv->spawn, "yumBackend.py", "get-depends", filters_text, package_ids_temp, pk_backend_bool_to_string (recursive), NULL);
- g_free (filters_text);
- g_free (package_ids_temp);
- return;
- }
- pk_backend_thread_create (backend, pk_backend_get_depends_thread);
-}
-
-/**
- * pk_backend_get_details_thread:
- */
-static gboolean
-pk_backend_get_details_thread (PkBackend *backend)
-{
-#ifdef HAVE_ZIF
- gboolean ret;
- gchar **package_ids = pk_backend_get_strv (backend, "package_ids");
- GPtrArray *store_array = NULL;
- ZifPackage *package;
- ZifState *state_local;
- ZifState *state_loop;
- const gchar *id;
- guint i;
- guint len;
- GError *error = NULL;
- const gchar *license;
- const gchar *description;
- const gchar *url;
- const gchar *group_str;
- PkGroupEnum group;
- guint64 size;
- PkBitfield filters = PK_FILTER_ENUM_UNKNOWN;
-
- len = g_strv_length (package_ids);
-
- zif_state_set_number_steps (priv->state, len + 1);
-
- /* find all the packages */
- state_local = zif_state_get_child (priv->state);
- if (pk_backend_is_all_installed (package_ids))
- pk_bitfield_add (filters, PK_FILTER_ENUM_INSTALLED);
- store_array = pk_backend_get_default_store_array_for_filter (backend, filters, state_local, &error);
- if (store_array == NULL) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_INTERNAL_ERROR, "failed to get stores: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- /* this section done */
- ret = zif_state_done (priv->state, &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_CANCELLED, "cancelled: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);
- for (i=0; package_ids[i] != NULL; i++) {
- id = package_ids[i];
-
- /* set up state */
- state_local = zif_state_get_child (priv->state);
- zif_state_set_number_steps (state_local, 6);
-
- /* find package */
- state_loop = zif_state_get_child (state_local);
- package = zif_store_array_find_package (store_array, id, state_loop, &error);
- if (package == NULL) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_FOUND, "failed to find %s: %s", package_ids[i], error->message);
- g_error_free (error);
- goto out;
- }
-
- /* this section done */
- ret = zif_state_done (state_local, &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_CANCELLED, "cancelled: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- /* get license */
- state_loop = zif_state_get_child (state_local);
- license = zif_package_get_license (package, state_loop, NULL);
-
- /* this section done */
- ret = zif_state_done (state_local, &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_CANCELLED, "cancelled: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- /* get group */
- state_loop = zif_state_get_child (state_local);
- group_str = zif_package_get_group (package, state_loop, &error);
-
- /* not being in a group is non-fatal */
- if (group_str == NULL) {
- g_warning ("failed to get group: %s", error->message);
- g_clear_error (&error);
- }
- group = pk_group_enum_from_text (group_str);
-
- /* this section done */
- ret = zif_state_done (state_local, &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_CANCELLED, "cancelled: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- /* get description */
- state_loop = zif_state_get_child (state_local);
- description = zif_package_get_description (package, state_loop, NULL);
-
- /* this section done */
- ret = zif_state_done (state_local, &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_CANCELLED, "cancelled: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- /* get url */
- state_loop = zif_state_get_child (state_local);
- url = zif_package_get_url (package, state_loop, NULL);
-
- /* this section done */
- ret = zif_state_done (state_local, &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_CANCELLED, "cancelled: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- /* get size */
- state_loop = zif_state_get_child (state_local);
- size = zif_package_get_size (package, state_loop, NULL);
-
- /* this section done */
- ret = zif_state_done (state_local, &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_CANCELLED, "cancelled: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- /* emit */
- pk_backend_details (backend,
- package_ids[i],
- license,
- group,
- description,
- url,
- (gulong) size);
-
- /* this section done */
- ret = zif_state_done (priv->state, &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_CANCELLED, "cancelled: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- /* free */
- g_object_unref (package);
- }
-out:
- pk_backend_finished (backend);
- if (store_array != NULL)
- g_ptr_array_unref (store_array);
-#endif
- return TRUE;
+ gchar *filters_text;
+ gchar *package_ids_temp;
+ package_ids_temp = pk_package_ids_to_string (package_ids);
+ filters_text = pk_filter_bitfield_to_string (filters);
+ pk_backend_spawn_helper (priv->spawn, "yumBackend.py", "get-depends", filters_text, package_ids_temp, pk_backend_bool_to_string (recursive), NULL);
+ g_free (filters_text);
+ g_free (package_ids_temp);
}
/**
@@ -2048,70 +454,10 @@ out:
void
pk_backend_get_details (PkBackend *backend, gchar **package_ids)
{
- /* check if we can use zif */
- if (!pk_bitfield_contain (priv->use_zif, pk_backend_get_role (backend))) {
- gchar *package_ids_temp;
- package_ids_temp = pk_package_ids_to_string (package_ids);
- pk_backend_spawn_helper (priv->spawn, "yumBackend.py", "get-details", package_ids_temp, NULL);
- g_free (package_ids_temp);
- return;
- }
- pk_backend_thread_create (backend, pk_backend_get_details_thread);
-}
-
-/**
- * pk_backend_get_distro_upgrades_thread:
- */
-static gboolean
-pk_backend_get_distro_upgrades_thread (PkBackend *backend)
-{
-#ifdef HAVE_ZIF
- gchar *distro_id;
- GError *error = NULL;
- GPtrArray *array = NULL;
- guint i;
- guint version;
- ZifUpgrade *upgrade;
-
- /* one shot */
- zif_state_reset (priv->state);
-
- /* get the current version */
- version = zif_config_get_uint (priv->config, "releasever", NULL);
- if (version == G_MAXUINT) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_FAILED_CONFIG_PARSING,
- "could not get distro present version");
- goto out;
- }
-
- /* get the upgrades */
- array = zif_release_get_upgrades_new (priv->release, version, priv->state, &error);
- if (array == NULL) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_FAILED_CONFIG_PARSING,
- "could not get latest distro data : %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- /* emit the results */
- for (i=0; i<array->len; i++) {
- upgrade = g_ptr_array_index (array, i);
- if (!zif_upgrade_get_enabled (upgrade))
- continue;
- distro_id = g_strdup_printf ("fedora-%i", zif_upgrade_get_version (upgrade));
- pk_backend_distro_upgrade (backend,
- zif_upgrade_get_stable (upgrade) ? PK_DISTRO_UPGRADE_ENUM_STABLE :
- PK_DISTRO_UPGRADE_ENUM_UNSTABLE,
- distro_id,
- zif_upgrade_get_id (upgrade));
- g_free (distro_id);
- }
-out:
- pk_backend_finished (backend);
- if (array != NULL)
- g_ptr_array_unref (array);
-#endif
- return TRUE;
+ gchar *package_ids_temp;
+ package_ids_temp = pk_package_ids_to_string (package_ids);
+ pk_backend_spawn_helper (priv->spawn, "yumBackend.py", "get-details", package_ids_temp, NULL);
+ g_free (package_ids_temp);
}
/**
@@ -2120,126 +466,7 @@ out:
void
pk_backend_get_distro_upgrades (PkBackend *backend)
{
- /* it seems some people are not ready for the awesomeness */
- if (!pk_bitfield_contain (priv->use_zif, pk_backend_get_role (backend))) {
- pk_backend_spawn_helper (priv->spawn, "yumBackend.py", "get-distro-upgrades", NULL);
- return;
- }
-
- pk_backend_thread_create (backend, pk_backend_get_distro_upgrades_thread);
-}
-
-/**
- * pk_backend_get_files_thread:
- */
-static gboolean
-pk_backend_get_files_thread (PkBackend *backend)
-{
-#ifdef HAVE_ZIF
- gboolean ret;
- gchar **package_ids = pk_backend_get_strv (backend, "package_ids");
- GPtrArray *store_array = NULL;
- ZifPackage *package;
- GPtrArray *files;
- ZifState *state_local;
- const gchar *id;
- guint i, j;
- guint len;
- GError *error = NULL;
- const gchar *file;
- GString *files_str;
- PkBitfield filters = PK_FILTER_ENUM_UNKNOWN;
-
- /* reset */
- pk_backend_profile (NULL);
-
- len = g_strv_length (package_ids);
-
- zif_state_set_number_steps (priv->state, (len * 2) + 1);
-
- /* find all the packages */
- state_local = zif_state_get_child (priv->state);
- if (pk_backend_is_all_installed (package_ids))
- pk_bitfield_add (filters, PK_FILTER_ENUM_INSTALLED);
- store_array = pk_backend_get_default_store_array_for_filter (backend, filters, state_local, &error);
- if (store_array == NULL) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_INTERNAL_ERROR, "failed to get stores: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- /* profile */
- pk_backend_profile ("add local");
-
- /* this section done */
- ret = zif_state_done (priv->state, &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_CANCELLED, "cancelled: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);
- for (i=0; package_ids[i] != NULL; i++) {
- id = package_ids[i];
- state_local = zif_state_get_child (priv->state);
- package = zif_store_array_find_package (store_array, id, state_local, &error);
- if (package == NULL) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_FOUND, "failed to find %s: %s", package_ids[i], error->message);
- g_error_free (error);
- goto out;
- }
-
- /* profile */
- pk_backend_profile ("find package");
-
- /* this section done */
- ret = zif_state_done (priv->state, &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_CANCELLED, "cancelled: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- /* get files */
- state_local = zif_state_get_child (priv->state);
- files = zif_package_get_files (package, state_local, &error);
- if (files == NULL) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_INTERNAL_ERROR, "no files for %s: %s", package_ids[i], error->message);
- g_error_free (error);
- goto out;
- }
-
- /* profile */
- pk_backend_profile ("get files");
-
- files_str = g_string_new ("");
- for (j=0; j<files->len; j++) {
- file = g_ptr_array_index (files, j);
- g_string_append_printf (files_str, "%s\n", file);
- }
- pk_backend_files (backend, package_ids[i], files_str->str);
-
- /* profile */
- pk_backend_profile ("emit files");
-
- /* this section done */
- ret = zif_state_done (priv->state, &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_CANCELLED, "cancelled: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- g_string_free (files_str, TRUE);
- g_object_unref (package);
- }
-out:
- pk_backend_finished (backend);
- if (store_array != NULL)
- g_ptr_array_unref (store_array);
-#endif
- return TRUE;
+ pk_backend_spawn_helper (priv->spawn, "yumBackend.py", "get-distro-upgrades", NULL);
}
/**
@@ -2249,15 +476,9 @@ void
pk_backend_get_files (PkBackend *backend, gchar **package_ids)
{
gchar *package_ids_temp;
-
- /* it seems some people are not ready for the awesomeness */
- if (!pk_bitfield_contain (priv->use_zif, pk_backend_get_role (backend))) {
- package_ids_temp = pk_package_ids_to_string (package_ids);
- pk_backend_spawn_helper (priv->spawn, "yumBackend.py", "get-files", package_ids_temp, NULL);
- g_free (package_ids_temp);
- return;
- }
- pk_backend_thread_create (backend, pk_backend_get_files_thread);
+ package_ids_temp = pk_package_ids_to_string (package_ids);
+ pk_backend_spawn_helper (priv->spawn, "yumBackend.py", "get-files", package_ids_temp, NULL);
+ g_free (package_ids_temp);
}
/**
@@ -2276,206 +497,15 @@ pk_backend_get_requires (PkBackend *backend, PkBitfield filters, gchar **package
}
/**
- * pk_backend_get_updates_thread:
- */
-static gboolean
-pk_backend_get_updates_thread (PkBackend *backend)
-{
-#ifdef HAVE_ZIF
-#if 0
- PkBitfield filters = (PkBitfield) pk_backend_get_uint (backend, "filters");
- GPtrArray *store_array = NULL;
- ZifState *state_local;
- ZifState *state_loop;
- GPtrArray *array = NULL;
- GPtrArray *result = NULL;
- GPtrArray *packages = NULL;
- gboolean ret;
- GError *error = NULL;
- ZifUpdate *update;
- ZifPackage *package;
- PkInfoEnum info;
- ZifUpdateKind update_kind;
- guint i;
- pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);
-
- /* reset */
- pk_backend_profile (NULL);
-
- zif_state_set_number_steps (priv->state, 5);
-
- /* get a store_array of remote stores */
- store_array = zif_store_array_new ();
- state_local = zif_state_get_child (priv->state);
- ret = zif_store_array_add_remote_enabled (store_array, state_local, &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_INTERNAL_ERROR, "failed to add enabled stores: %s\n", error->message);
- g_error_free (error);
- goto out;
- }
-
- /* this section done */
- ret = zif_state_done (priv->state, &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_CANCELLED, "cancelled: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- /* profile */
- pk_backend_profile ("get remote stores");
-
- /* get all the installed packages */
- state_local = zif_state_get_child (priv->state);
- packages = zif_store_get_packages (priv->store_local, state_local, &error);
- if (packages == NULL) {
- g_print ("failed to get local store: %s", error->message);
- g_error_free (error);
- goto out;
- }
- g_debug ("searching for updates with %i packages", packages->len);
-
- /* this section done */
- ret = zif_state_done (priv->state, &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_CANCELLED, "cancelled: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- /* profile */
- pk_backend_profile ("get installed packages");
-
- /* remove any packages that are not newest (think kernel) */
- zif_package_array_filter_newest (packages);
-
- /* this section done */
- ret = zif_state_done (priv->state, &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_CANCELLED, "cancelled: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- /* profile */
- pk_backend_profile ("filter installed newest");
-
- /* get updates */
- state_local = zif_state_get_child (priv->state);
- zif_state_set_error_handler (priv->state, (ZifStateErrorHandlerCb) pk_backend_error_handler_cb, backend);
- array = zif_store_array_get_updates (store_array, packages, state_local, &error);
- if (array == NULL) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_INTERNAL_ERROR, "failed to get updates: %s\n", error->message);
- g_error_free (error);
- goto out;
- }
-
- /* this section done */
- ret = zif_state_done (priv->state, &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_CANCELLED, "cancelled: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- /* profile */
- pk_backend_profile ("get updates of packages");
-
- /* setup steps on updatinfo state */
- state_local = zif_state_get_child (priv->state);
- if (array->len > 0)
- zif_state_set_number_steps (state_local, array->len);
-
- /* get update info */
- for (i=0; i<array->len; i++) {
- package = g_ptr_array_index (array, i);
- state_loop = zif_state_get_child (state_local);
-
- /* updates without updatinfo */
- info = PK_INFO_ENUM_NORMAL;
-
- update = zif_package_remote_get_update_detail (ZIF_PACKAGE_REMOTE (package), state_loop, &error);
- if (update == NULL) {
- g_debug ("failed to get updateinfo for %s", zif_package_get_id (package));
- g_clear_error (&error);
- ret = zif_state_finished (state_loop, NULL);
- } else {
- update_kind = zif_update_get_kind (update);
- if (update_kind == ZIF_UPDATE_KIND_BUGFIX)
- info = PK_INFO_ENUM_BUGFIX;
- else if (update_kind == ZIF_UPDATE_KIND_SECURITY)
- info = PK_INFO_ENUM_SECURITY;
- else if (update_kind == ZIF_UPDATE_KIND_ENHANCEMENT)
- info = PK_INFO_ENUM_ENHANCEMENT;
- g_object_unref (update);
- }
-
- /* set new severity */
- g_object_set_data (G_OBJECT(package), "kind", (gpointer)pk_info_enum_to_string (info));
-
- /* this section done */
- ret = zif_state_done (state_local, &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_CANCELLED, "cancelled: %s", error->message);
- g_error_free (error);
- goto out;
- }
- }
-
- /* this section done */
- ret = zif_state_done (priv->state, &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_CANCELLED, "cancelled: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- /* profile */
- pk_backend_profile ("get updateinfo");
-
- /* filter */
- result = pk_backend_filter_package_array (array, filters);
-
- /* done */
- pk_backend_set_percentage (backend, 100);
-
- /* emit */
- state_local = zif_state_get_child (priv->state);
- pk_backend_emit_package_array (backend, result, state_local);
-
- /* profile */
- pk_backend_profile ("filter and emit");
-
-out:
- pk_backend_finished (backend);
- if (packages != NULL)
- g_ptr_array_unref (packages);
- if (array != NULL)
- g_ptr_array_unref (array);
- if (result != NULL)
- g_ptr_array_unref (result);
- if (store_array != NULL)
- g_ptr_array_unref (store_array);
-#endif
-#endif
- return TRUE;
-}
-
-/**
* pk_backend_get_updates:
*/
void
pk_backend_get_updates (PkBackend *backend, PkBitfield filters)
{
- /* it seems some people are not ready for the awesomeness */
- if (!pk_bitfield_contain (priv->use_zif, pk_backend_get_role (backend))) {
- gchar *filters_text;
- filters_text = pk_filter_bitfield_to_string (filters);
- pk_backend_spawn_helper (priv->spawn, "yumBackend.py", "get-updates", filters_text, NULL);
- g_free (filters_text);
- return;
- }
- pk_backend_thread_create (backend, pk_backend_get_updates_thread);
+ gchar *filters_text;
+ filters_text = pk_filter_bitfield_to_string (filters);
+ pk_backend_spawn_helper (priv->spawn, "yumBackend.py", "get-updates", filters_text, NULL);
+ g_free (filters_text);
}
/**
@@ -2484,158 +514,10 @@ pk_backend_get_updates (PkBackend *backend, PkBitfield filters)
void
pk_backend_get_packages (PkBackend *backend, PkBitfield filters)
{
- /* it seems some people are not ready for the awesomeness */
- if (!pk_bitfield_contain (priv->use_zif, pk_backend_get_role (backend))) {
- gchar *filters_text;
- filters_text = pk_filter_bitfield_to_string (filters);
- pk_backend_spawn_helper (priv->spawn, "yumBackend.py", "get-packages", filters_text, NULL);
- g_free (filters_text);
- return;
- }
- pk_backend_thread_create (backend, pk_backend_search_thread);
-}
-
-#ifdef HAVE_ZIF
-/**
- * pk_backend_get_changelog_text:
- */
-static gchar *
-pk_backend_get_changelog_text (GPtrArray *changesets)
-{
- guint i;
- ZifChangeset *changeset;
- GString *text;
- gchar date_str[128];
- GDate *date;
-
- /* create output string */
- text = g_string_new ("");
- date = g_date_new ();
-
- /* go through each one */
- for (i=0; i<changesets->len; i++) {
- changeset = g_ptr_array_index (changesets, i);
-
- /* format the indervidual changeset */
- g_date_set_time_t (date, zif_changeset_get_date (changeset));
- g_date_strftime (date_str, 128, "%F", date);
- g_string_append_printf (text, "**%s** %s - %s\n%s\n\n",
- date_str,
- zif_changeset_get_author (changeset),
- zif_changeset_get_version (changeset),
- zif_changeset_get_description (changeset));
- }
- g_date_free (date);
- return g_string_free (text, FALSE);
-}
-#endif
-
-/**
- * pk_backend_get_update_detail_thread:
- */
-static gboolean
-pk_backend_get_update_detail_thread (PkBackend *backend)
-{
-#ifdef HAVE_ZIF
- gchar **package_ids;
- guint i;
- guint j;
- gboolean ret;
- ZifUpdate *update;
- ZifState *state_local;
- ZifPackage *package;
- GError *error = NULL;
-
- /* reset */
- pk_backend_profile (NULL);
-
- /* get the data */
- package_ids = pk_backend_get_strv (backend, "package_ids");
- zif_state_set_number_steps (priv->state, g_strv_length (package_ids));
-
- /* get the update info */
- for (i=0; package_ids[i] != NULL; i++) {
-
- package = zif_package_new ();
- ret = zif_package_set_id (package, package_ids[i], &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_ERROR,
- "failed to set id: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- state_local = zif_state_get_child (priv->state);
- update = zif_package_remote_get_update_detail (ZIF_PACKAGE_REMOTE (package), state_local, &error);
- if (update == NULL) {
- g_debug ("failed to get updateinfo for %s", zif_package_get_id (package));
- g_clear_error (&error);
- } else {
- gchar *changelog_text = NULL;
- GPtrArray *array;
- GPtrArray *changesets;
- GString *string_cve;
- GString *string_bugzilla;
- ZifUpdateInfo *info;
- array = zif_update_get_update_infos (update);
- string_cve = g_string_new (NULL);
- string_bugzilla = g_string_new (NULL);
- for (j=0; j<array->len; j++) {
- info = g_ptr_array_index (array, j);
- switch (zif_update_info_get_kind (info)) {
- case ZIF_UPDATE_INFO_KIND_CVE:
- g_string_append_printf (string_cve, "%s\t%s\t",
- zif_update_info_get_title (info),
- zif_update_info_get_url (info));
- break;
- case ZIF_UPDATE_INFO_KIND_BUGZILLA:
- g_string_append_printf (string_bugzilla, "%s\t%s\t",
- zif_update_info_get_title (info),
- zif_update_info_get_url (info));
- break;
- default:
- break;
- }
- }
-
- /* format changelog */
- changesets = zif_update_get_changelog (update);
- if (changesets != NULL)
- changelog_text = pk_backend_get_changelog_text (changesets);
- pk_backend_update_detail (backend, package_ids[i],
- NULL, //updates,
- NULL, //obsoletes,
- NULL, //vendor_url,
- string_bugzilla->str,
- string_cve->str,
- PK_RESTART_ENUM_NONE,
- zif_update_get_description (update),
- changelog_text,
- zif_update_get_state (update),
- zif_update_get_issued (update),
- NULL);
- if (changesets != NULL)
- g_ptr_array_unref (changesets);
- g_ptr_array_unref (array);
- g_string_free (string_cve, TRUE);
- g_string_free (string_bugzilla, TRUE);
- g_free (changelog_text);
- }
-
- g_object_unref (package);
-
- /* this section done */
- ret = zif_state_done (priv->state, &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_CANCELLED, "cancelled: %s", error->message);
- g_error_free (error);
- goto out;
- }
- }
-out:
- pk_backend_finished (backend);
-#endif
- return TRUE;
+ gchar *filters_text;
+ filters_text = pk_filter_bitfield_to_string (filters);
+ pk_backend_spawn_helper (priv->spawn, "yumBackend.py", "get-packages", filters_text, NULL);
+ g_free (filters_text);
}
/**
@@ -2644,17 +526,13 @@ out:
void
pk_backend_get_update_detail (PkBackend *backend, gchar **package_ids)
{
- /* it seems some people are not ready for the awesomeness */
- if (!pk_bitfield_contain (priv->use_zif, pk_backend_get_role (backend))) {
- gchar *package_ids_temp;
- package_ids_temp = pk_package_ids_to_string (package_ids);
- pk_backend_spawn_helper (priv->spawn, "yumBackend.py", "get-update-detail", package_ids_temp, NULL);
- g_free (package_ids_temp);
- return;
- }
- pk_backend_thread_create (backend, pk_backend_get_update_detail_thread);
+ gchar *package_ids_temp;
+ package_ids_temp = pk_package_ids_to_string (package_ids);
+ pk_backend_spawn_helper (priv->spawn, "yumBackend.py", "get-update-detail", package_ids_temp, NULL);
+ g_free (package_ids_temp);
}
+
/**
* pk_backend_install_packages:
*/
@@ -2662,8 +540,6 @@ void
pk_backend_install_packages (PkBackend *backend, gboolean only_trusted, gchar **package_ids)
{
gchar *package_ids_temp;
-
- /* send the complete list as stdin */
package_ids_temp = pk_package_ids_to_string (package_ids);
pk_backend_spawn_helper (priv->spawn, "yumBackend.py", "install-packages", pk_backend_bool_to_string (only_trusted), package_ids_temp, NULL);
g_free (package_ids_temp);
@@ -2676,8 +552,6 @@ void
pk_backend_simulate_remove_packages (PkBackend *backend, gchar **package_ids, gboolean autoremove)
{
gchar *package_ids_temp;
-
- /* send the complete list as stdin */
package_ids_temp = pk_package_ids_to_string (package_ids);
pk_backend_spawn_helper (priv->spawn, "yumBackend.py", "simulate-remove-packages", package_ids_temp, NULL);
g_free (package_ids_temp);
@@ -2690,8 +564,6 @@ void
pk_backend_simulate_update_packages (PkBackend *backend, gchar **package_ids)
{
gchar *package_ids_temp;
-
- /* send the complete list as stdin */
package_ids_temp = pk_package_ids_to_string (package_ids);
pk_backend_spawn_helper (priv->spawn, "yumBackend.py", "simulate-update-packages", package_ids_temp, NULL);
g_free (package_ids_temp);
@@ -2704,8 +576,6 @@ void
pk_backend_simulate_install_packages (PkBackend *backend, gchar **package_ids)
{
gchar *package_ids_temp;
-
- /* send the complete list as stdin */
package_ids_temp = pk_package_ids_to_string (package_ids);
pk_backend_spawn_helper (priv->spawn, "yumBackend.py", "simulate-install-packages", package_ids_temp, NULL);
g_free (package_ids_temp);
@@ -2718,8 +588,6 @@ void
pk_backend_install_files (PkBackend *backend, gboolean only_trusted, gchar **full_paths)
{
gchar *package_ids_temp;
-
- /* send the complete list as stdin */
package_ids_temp = g_strjoinv (PK_BACKEND_SPAWN_FILENAME_DELIM, full_paths);
pk_backend_spawn_helper (priv->spawn, "yumBackend.py", "install-files", pk_backend_bool_to_string (only_trusted), package_ids_temp, NULL);
g_free (package_ids_temp);
@@ -2739,65 +607,6 @@ pk_backend_install_signature (PkBackend *backend, PkSigTypeEnum type,
}
/**
- * pk_backend_refresh_cache_thread:
- */
-static gboolean
-pk_backend_refresh_cache_thread (PkBackend *backend)
-{
-#ifdef HAVE_ZIF
- GPtrArray *store_array = NULL;
- gboolean ret;
- GError *error = NULL;
- ZifState *state_local;
- gboolean force = pk_backend_get_bool (backend, "force");
-
- zif_state_set_number_steps (priv->state, 2);
-
- pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);
- pk_backend_set_percentage (backend, 0);
-
- /* don't nuke the metadata */
- if (!force) {
- g_debug ("not supported yet");
- goto out;
- }
-
- /* get a store_array of remote stores */
- store_array = zif_store_array_new ();
- state_local = zif_state_get_child (priv->state);
- ret = zif_store_array_add_remote_enabled (store_array, state_local, &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_INTERNAL_ERROR, "failed to add enabled stores: %s\n", error->message);
- g_error_free (error);
- goto out;
- }
-
- /* this section done */
- ret = zif_state_done (priv->state, &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_CANCELLED, "cancelled: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- /* clean all the repos */
- state_local = zif_state_get_child (priv->state);
- zif_state_set_error_handler (priv->state, (ZifStateErrorHandlerCb) pk_backend_error_handler_cb, backend);
- ret = zif_store_array_clean (store_array, state_local, &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_INTERNAL_ERROR, "failed to clean: %s\n", error->message);
- g_error_free (error);
- goto out;
- }
-out:
- pk_backend_finished (backend);
- if (store_array != NULL)
- g_ptr_array_unref (store_array);
-#endif
- return TRUE;
-}
-
-/**
* pk_backend_refresh_cache:
*/
void
@@ -2810,12 +619,7 @@ pk_backend_refresh_cache (PkBackend *backend, gboolean force)
return;
}
- /* it seems some people are not ready for the awesomeness */
- if (!pk_bitfield_contain (priv->use_zif, pk_backend_get_role (backend))) {
- pk_backend_spawn_helper (priv->spawn, "yumBackend.py", "refresh-cache", pk_backend_bool_to_string (force), NULL);
- return;
- }
- pk_backend_thread_create (backend, pk_backend_refresh_cache_thread);
+ pk_backend_spawn_helper (priv->spawn, "yumBackend.py", "refresh-cache", pk_backend_bool_to_string (force), NULL);
}
/**
@@ -2825,8 +629,6 @@ void
pk_backend_remove_packages (PkBackend *backend, gchar **package_ids, gboolean allow_deps, gboolean autoremove)
{
gchar *package_ids_temp;
-
- /* send the complete list as stdin */
package_ids_temp = pk_package_ids_to_string (package_ids);
pk_backend_spawn_helper (priv->spawn, "yumBackend.py", "remove-packages", pk_backend_bool_to_string (allow_deps), pk_backend_bool_to_string (autoremove), package_ids_temp, NULL);
g_free (package_ids_temp);
@@ -2838,18 +640,13 @@ pk_backend_remove_packages (PkBackend *backend, gchar **package_ids, gboolean al
void
pk_backend_search_details (PkBackend *backend, PkBitfield filters, gchar **values)
{
- /* it seems some people are not ready for the awesomeness */
- if (!pk_bitfield_contain (priv->use_zif, pk_backend_get_role (backend))) {
- gchar *filters_text;
- gchar *search;
- filters_text = pk_filter_bitfield_to_string (filters);
- search = g_strjoinv ("&", values);
- pk_backend_spawn_helper (priv->spawn, "yumBackend.py", "search-details", filters_text, search, NULL);
- g_free (filters_text);
- g_free (search);
- return;
- }
- pk_backend_thread_create (backend, pk_backend_search_thread);
+ gchar *filters_text;
+ gchar *search;
+ filters_text = pk_filter_bitfield_to_string (filters);
+ search = g_strjoinv ("&", values);
+ pk_backend_spawn_helper (priv->spawn, "yumBackend.py", "search-details", filters_text, search, NULL);
+ g_free (filters_text);
+ g_free (search);
}
/**
@@ -2858,18 +655,13 @@ pk_backend_search_details (PkBackend *backend, PkBitfield filters, gchar **value
void
pk_backend_search_files (PkBackend *backend, PkBitfield filters, gchar **values)
{
- /* it seems some people are not ready for the awesomeness */
- if (!pk_bitfield_contain (priv->use_zif, pk_backend_get_role (backend))) {
- gchar *filters_text;
- gchar *search;
- filters_text = pk_filter_bitfield_to_string (filters);
- search = g_strjoinv ("&", values);
- pk_backend_spawn_helper (priv->spawn, "yumBackend.py", "search-file", filters_text, search, NULL);
- g_free (filters_text);
- g_free (search);
- return;
- }
- pk_backend_thread_create (backend, pk_backend_search_thread);
+ gchar *filters_text;
+ gchar *search;
+ filters_text = pk_filter_bitfield_to_string (filters);
+ search = g_strjoinv ("&", values);
+ pk_backend_spawn_helper (priv->spawn, "yumBackend.py", "search-file", filters_text, search, NULL);
+ g_free (filters_text);
+ g_free (search);
}
/**
@@ -2878,18 +670,13 @@ pk_backend_search_files (PkBackend *backend, PkBitfield filters, gchar **values)
void
pk_backend_search_groups (PkBackend *backend, PkBitfield filters, gchar **values)
{
- /* it seems some people are not ready for the awesomeness */
- if (!pk_bitfield_contain (priv->use_zif, pk_backend_get_role (backend))) {
- gchar *filters_text;
- gchar *search;
- filters_text = pk_filter_bitfield_to_string (filters);
- search = g_strjoinv ("&", values);
- pk_backend_spawn_helper (priv->spawn, "yumBackend.py", "search-group", filters_text, search, NULL);
- g_free (filters_text);
- g_free (search);
- return;
- }
- pk_backend_thread_create (backend, pk_backend_search_thread);
+ gchar *filters_text;
+ gchar *search;
+ filters_text = pk_filter_bitfield_to_string (filters);
+ search = g_strjoinv ("&", values);
+ pk_backend_spawn_helper (priv->spawn, "yumBackend.py", "search-group", filters_text, search, NULL);
+ g_free (filters_text);
+ g_free (search);
}
/**
@@ -2898,18 +685,13 @@ pk_backend_search_groups (PkBackend *backend, PkBitfield filters, gchar **values
void
pk_backend_search_names (PkBackend *backend, PkBitfield filters, gchar **values)
{
- /* it seems some people are not ready for the awesomeness */
- if (!pk_bitfield_contain (priv->use_zif, pk_backend_get_role (backend))) {
- gchar *filters_text;
- gchar *search;
- filters_text = pk_filter_bitfield_to_string (filters);
- search = g_strjoinv ("&", values);
- pk_backend_spawn_helper (priv->spawn, "yumBackend.py", "search-name", filters_text, search, NULL);
- g_free (filters_text);
- g_free (search);
- return;
- }
- pk_backend_thread_create (backend, pk_backend_search_thread);
+ gchar *filters_text;
+ gchar *search;
+ filters_text = pk_filter_bitfield_to_string (filters);
+ search = g_strjoinv ("&", values);
+ pk_backend_spawn_helper (priv->spawn, "yumBackend.py", "search-name", filters_text, search, NULL);
+ g_free (filters_text);
+ g_free (search);
}
/**
@@ -2919,8 +701,6 @@ void
pk_backend_update_packages (PkBackend *backend, gboolean only_trusted, gchar **package_ids)
{
gchar *package_ids_temp;
-
- /* send the complete list as stdin */
package_ids_temp = pk_package_ids_to_string (package_ids);
pk_backend_spawn_helper (priv->spawn, "yumBackend.py", "update-packages", pk_backend_bool_to_string (only_trusted), package_ids_temp, NULL);
g_free (package_ids_temp);
@@ -2941,150 +721,13 @@ pk_backend_update_system (PkBackend *backend, gboolean only_trusted)
void
pk_backend_resolve (PkBackend *backend, PkBitfield filters, gchar **packages)
{
- /* it seems some people are not ready for the awesomeness */
- if (!pk_bitfield_contain (priv->use_zif, pk_backend_get_role (backend))) {
- gchar *filters_text;
- gchar *package_ids_temp;
- filters_text = pk_filter_bitfield_to_string (filters);
- package_ids_temp = pk_package_ids_to_string (packages);
- pk_backend_spawn_helper (priv->spawn, "yumBackend.py", "resolve", filters_text, package_ids_temp, NULL);
- g_free (filters_text);
- g_free (package_ids_temp);
- return;
- }
- pk_backend_set_strv (backend, "search", packages);
- pk_backend_thread_create (backend, pk_backend_search_thread);
-}
-
-/**
- * pk_backend_get_repo_list_thread:
- */
-static gboolean
-pk_backend_get_repo_list_thread (PkBackend *backend)
-{
-#ifdef HAVE_ZIF
- gboolean ret;
- PkBitfield filters = (PkBitfield) pk_backend_get_uint (backend, "filters");
- guint i;
- GPtrArray *array = NULL;
- ZifStoreRemote *store;
- ZifState *state_local;
- ZifState *state_loop;
- ZifState *state_tmp;
- const gchar *repo_id;
- const gchar *name;
- gboolean enabled;
- gboolean devel;
- GError *error = NULL;
-
- pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);
- pk_backend_set_percentage (backend, 0);
-
- zif_state_set_number_steps (priv->state, 2);
-
- state_local = zif_state_get_child (priv->state);
- array = zif_repos_get_stores (priv->repos, state_local, &error);
- if (array == NULL) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_REPO_NOT_FOUND, "failed to find repos: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- /* none? */
- if (array->len == 0) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_REPO_NOT_FOUND, "failed to find any repos");
- goto out;
- }
-
- /* this section done */
- ret = zif_state_done (priv->state, &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_CANCELLED, "cancelled: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- /* setup state */
- state_local = zif_state_get_child (priv->state);
- zif_state_set_number_steps (state_local, array->len);
-
- /* looks at each store */
- for (i=0; i<array->len; i++) {
- store = g_ptr_array_index (array, i);
-
- /* allow filtering on devel */
- state_loop = zif_state_get_child (state_local);
- if (pk_bitfield_contain (filters, PK_FILTER_ENUM_NOT_DEVELOPMENT)) {
-
- /* devel, name, enabled */
- zif_state_set_number_steps (state_loop, 3);
-
- state_tmp = zif_state_get_child (state_loop);
- devel = zif_store_remote_is_devel (store, state_tmp, NULL);
- if (devel)
- goto skip;
-
- /* this section done */
- ret = zif_state_done (state_loop, &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_CANCELLED, "cancelled: %s", error->message);
- g_error_free (error);
- goto out;
- }
- } else {
- /* name, enabled */
- zif_state_set_number_steps (state_loop, 2);
- }
-
- /* get name */
- state_tmp = zif_state_get_child (state_loop);
- name = zif_store_remote_get_name (store, state_tmp, NULL);
-
- /* this section done */
- ret = zif_state_done (state_loop, &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_CANCELLED, "cancelled: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- /* get state */
- state_tmp = zif_state_get_child (state_loop);
- enabled = zif_store_remote_get_enabled (store, state_tmp, NULL);
-
- /* this section done */
- ret = zif_state_done (state_loop, &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_CANCELLED, "cancelled: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- repo_id = zif_store_get_id (ZIF_STORE (store));
- pk_backend_repo_detail (backend, repo_id, name, enabled);
-skip:
- /* this section done */
- ret = zif_state_done (state_local, &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_CANCELLED, "cancelled: %s", error->message);
- g_error_free (error);
- goto out;
- }
- }
-
- /* this section done */
- ret = zif_state_done (priv->state, &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_CANCELLED, "cancelled: %s", error->message);
- g_error_free (error);
- goto out;
- }
-out:
- pk_backend_finished (backend);
- if (array != NULL)
- g_ptr_array_unref (array);
-#endif
- return TRUE;
+ gchar *filters_text;
+ gchar *package_ids_temp;
+ filters_text = pk_filter_bitfield_to_string (filters);
+ package_ids_temp = pk_package_ids_to_string (packages);
+ pk_backend_spawn_helper (priv->spawn, "yumBackend.py", "resolve", filters_text, package_ids_temp, NULL);
+ g_free (filters_text);
+ g_free (package_ids_temp);
}
/**
@@ -3093,70 +736,10 @@ out:
void
pk_backend_get_repo_list (PkBackend *backend, PkBitfield filters)
{
- /* it seems some people are not ready for the awesomeness */
- if (!pk_bitfield_contain (priv->use_zif, pk_backend_get_role (backend))) {
- gchar *filters_text;
- filters_text = pk_filter_bitfield_to_string (filters);
- pk_backend_spawn_helper (priv->spawn, "yumBackend.py", "get-repo-list", filters_text, NULL);
- g_free (filters_text);
- return;
- }
-
- pk_backend_thread_create (backend, pk_backend_get_repo_list_thread);
-}
-
-/**
- * pk_backend_repo_enable_thread:
- */
-static gboolean
-pk_backend_repo_enable_thread (PkBackend *backend)
-{
-#ifdef HAVE_ZIF
- ZifStoreRemote *repo = NULL;
- gboolean ret;
- GError *error = NULL;
- gchar *warning = NULL;
- gboolean enabled = pk_backend_get_bool (backend, "enabled");
- const gchar *repo_id = pk_backend_get_string (backend, "repo_id");
-
- pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);
- pk_backend_set_percentage (backend, 0);
-
- /* find the right repo */
- repo = zif_repos_get_store (priv->repos, repo_id, priv->state, &error);
- if (repo == NULL) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_REPO_NOT_FOUND, "failed to find repo: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- /* set the state */
- ret = zif_store_remote_set_enabled (repo, enabled, &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_CANNOT_DISABLE_REPOSITORY, "failed to set enable: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- /* warn if rawhide */
- if (g_strstr_len (repo_id, -1, "rawhide") != NULL) {
- warning = g_strdup_printf ("These packages are untested and still under development."
- "This repository is used for development of new releases.\n\n"
- "This repository can see significant daily turnover and major "
- "functionality changes which cause unexpected problems with "
- "other development packages.\n"
- "Please use these packages if you want to work with the "
- "Fedora developers by testing these new development packages.\n\n"
- "If this is not correct, please disable the %s software source.", repo_id);
- pk_backend_message (backend, PK_MESSAGE_ENUM_REPO_FOR_DEVELOPERS_ONLY, warning);
- }
-out:
- pk_backend_finished (backend);
- g_free (warning);
- if (repo != NULL)
- g_object_unref (repo);
-#endif
- return TRUE;
+ gchar *filters_text;
+ filters_text = pk_filter_bitfield_to_string (filters);
+ pk_backend_spawn_helper (priv->spawn, "yumBackend.py", "get-repo-list", filters_text, NULL);
+ g_free (filters_text);
}
/**
@@ -3165,16 +748,11 @@ out:
void
pk_backend_repo_enable (PkBackend *backend, const gchar *repo_id, gboolean enabled)
{
- /* it seems some people are not ready for the awesomeness */
- if (!pk_bitfield_contain (priv->use_zif, pk_backend_get_role (backend))) {
- if (enabled == TRUE) {
- pk_backend_spawn_helper (priv->spawn, "yumBackend.py", "repo-enable", repo_id, "true", NULL);
- } else {
- pk_backend_spawn_helper (priv->spawn, "yumBackend.py", "repo-enable", repo_id, "false", NULL);
- }
- return;
+ if (enabled == TRUE) {
+ pk_backend_spawn_helper (priv->spawn, "yumBackend.py", "repo-enable", repo_id, "true", NULL);
+ } else {
+ pk_backend_spawn_helper (priv->spawn, "yumBackend.py", "repo-enable", repo_id, "false", NULL);
}
- pk_backend_thread_create (backend, pk_backend_repo_enable_thread);
}
/**
@@ -3183,148 +761,16 @@ pk_backend_repo_enable (PkBackend *backend, const gchar *repo_id, gboolean enabl
void
pk_backend_what_provides (PkBackend *backend, PkBitfield filters, PkProvidesEnum provides, gchar **values)
{
- guint i;
- guint len;
- gchar **search = NULL;
- GPtrArray *array = NULL;
gchar *search_tmp;
+ gchar *filters_text;
+ const gchar *provides_text;
- /* it seems some people are not ready for the awesomeness */
- if (!pk_bitfield_contain (priv->use_zif, pk_backend_get_role (backend))) {
- gchar *filters_text;
- const gchar *provides_text;
- provides_text = pk_provides_enum_to_string (provides);
- filters_text = pk_filter_bitfield_to_string (filters);
- search_tmp = g_strjoinv ("&", values);
- pk_backend_spawn_helper (priv->spawn, "yumBackend.py", "what-provides", filters_text, provides_text, search_tmp, NULL);
- g_free (filters_text);
- g_free (search_tmp);
- return;
- }
-
- /* iter on each provide string, and wrap it with the fedora prefix */
- len = g_strv_length (values);
- array = g_ptr_array_new_with_free_func (g_free);
- for (i=0; i<len; i++) {
- /* compatibility with previous versions of GPK */
- if (g_str_has_prefix (values[i], "gstreamer0.10(")) {
- g_ptr_array_add (array, g_strdup (values[i]));
- } else if (provides == PK_PROVIDES_ENUM_CODEC) {
- g_ptr_array_add (array, g_strdup_printf ("gstreamer0.10(%s)", values[i]));
- } else if (provides == PK_PROVIDES_ENUM_FONT) {
- g_ptr_array_add (array, g_strdup_printf ("font(%s)", values[i]));
- } else if (provides == PK_PROVIDES_ENUM_MIMETYPE) {
- g_ptr_array_add (array, g_strdup_printf ("mimehandler(%s)", values[i]));
- } else if (provides == PK_PROVIDES_ENUM_POSTSCRIPT_DRIVER) {
- g_ptr_array_add (array, g_strdup_printf ("postscriptdriver(%s)", values[i]));
- } else if (provides == PK_PROVIDES_ENUM_ANY) {
- g_ptr_array_add (array, g_strdup_printf ("gstreamer0.10(%s)", values[i]));
- g_ptr_array_add (array, g_strdup_printf ("font(%s)", values[i]));
- g_ptr_array_add (array, g_strdup_printf ("mimehandler(%s)", values[i]));
- g_ptr_array_add (array, g_strdup_printf ("postscriptdriver(%s)", values[i]));
- } else {
- pk_backend_error_code (backend, PK_ERROR_ENUM_PROVIDE_TYPE_NOT_SUPPORTED,
- "provide type %s not supported", pk_provides_enum_to_string (provides));
- }
- }
-
- /* set the search terms and run */
- search = pk_ptr_array_to_strv (array);
- pk_backend_set_strv (backend, "search", search);
- pk_backend_thread_create (backend, pk_backend_search_thread);
- g_strfreev (search);
- g_ptr_array_unref (array);
-}
-
-/**
- * pk_backend_get_categories_thread:
- */
-static gboolean
-pk_backend_get_categories_thread (PkBackend *backend)
-{
-#ifdef HAVE_ZIF
- gboolean ret;
- guint i;
- GPtrArray *array = NULL;
- GPtrArray *stores = NULL;
- ZifCategory *cat;
- gchar *cat_id;
-
- ZifState *state_local;
- GError *error = NULL;
-
- zif_state_set_number_steps (priv->state, 3);
-
- pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);
- pk_backend_set_percentage (backend, 0);
-
- /* get enabled repos */
- state_local = zif_state_get_child (priv->state);
- stores = zif_repos_get_stores_enabled (priv->repos, state_local, &error);
- if (stores == NULL) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_REPO_CONFIGURATION_ERROR, "failed to add remote stores: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- /* this section done */
- ret = zif_state_done (priv->state, &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_CANCELLED, "cancelled: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- /* get sorted list of unique categories */
- state_local = zif_state_get_child (priv->state);
- zif_state_set_error_handler (priv->state, (ZifStateErrorHandlerCb) pk_backend_error_handler_cb, backend);
- array = zif_store_array_get_categories (stores, state_local, &error);
- if (array == NULL) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_GROUP_LIST_INVALID, "failed to add get categories: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- /* this section done */
- ret = zif_state_done (priv->state, &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_CANCELLED, "cancelled: %s", error->message);
- g_error_free (error);
- goto out;
- }
-
- /* emit each cat obj */
- for (i=0; i<array->len; i++) {
- cat = g_ptr_array_index (array, i);
- /* FIXME: in the yum backend, we signify a group with a '@' prefix */
- if (zif_category_get_parent_id (cat) != NULL)
- cat_id = g_strdup_printf ("@%s", zif_category_get_id (cat));
- else
- cat_id = g_strdup (zif_category_get_id (cat));
- pk_backend_category (backend,
- zif_category_get_parent_id (cat),
- cat_id,
- zif_category_get_name (cat),
- zif_category_get_summary (cat),
- zif_category_get_icon (cat));
- g_free (cat_id);
- }
-
- /* this section done */
- ret = zif_state_done (priv->state, &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_CANCELLED, "cancelled: %s", error->message);
- g_error_free (error);
- goto out;
- }
-out:
- pk_backend_finished (backend);
- if (array != NULL)
- g_ptr_array_unref (array);
- if (stores != NULL)
- g_ptr_array_unref (stores);
-#endif
- return TRUE;
+ provides_text = pk_provides_enum_to_string (provides);
+ filters_text = pk_filter_bitfield_to_string (filters);
+ search_tmp = g_strjoinv ("&", values);
+ pk_backend_spawn_helper (priv->spawn, "yumBackend.py", "what-provides", filters_text, provides_text, search_tmp, NULL);
+ g_free (filters_text);
+ g_free (search_tmp);
}
/**
@@ -3333,12 +779,7 @@ out:
void
pk_backend_get_categories (PkBackend *backend)
{
- /* it seems some people are not ready for the awesomeness */
- if (!pk_bitfield_contain (priv->use_zif, pk_backend_get_role (backend))) {
- pk_backend_spawn_helper (priv->spawn, "yumBackend.py", "get-categories", NULL);
- return;
- }
- pk_backend_thread_create (backend, pk_backend_get_categories_thread);
+ pk_backend_spawn_helper (priv->spawn, "yumBackend.py", "get-categories", NULL);
}
/**
@@ -3356,93 +797,10 @@ pk_backend_simulate_install_files (PkBackend *backend, gchar **full_paths)
}
/**
- * pk_backend_upgrade_system_thread:
- */
-static gboolean
-pk_backend_upgrade_system_thread (PkBackend *backend)
-{
-#ifdef HAVE_ZIF
- gchar **distro_id_split = NULL;
- guint version;
- gboolean ret;
- PkErrorEnum error_code;
- GError *error = NULL;
- ZifReleaseUpgradeKind upgrade_kind_zif = ZIF_RELEASE_UPGRADE_KIND_DEFAULT;
- PkUpgradeKindEnum upgrade_kind = pk_backend_get_uint (backend, "upgrade_kind");
- const gchar *distro_id = pk_backend_get_string (backend, "distro_id");
-
- /* check valid */
- distro_id_split = g_strsplit (distro_id, "-", -1);
- if (g_strv_length (distro_id_split) != 2) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_FAILED_CONFIG_PARSING,
- "distribution id %s invalid", distro_id);
- goto out;
- }
-
- /* check fedora */
- if (g_strcmp0 (distro_id_split[0], "fedora") != 0) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_FAILED_CONFIG_PARSING,
- "only 'fedora' is supported");
- goto out;
- }
-
- /* map PK enum to Zif enumerated types */
- if (upgrade_kind == PK_UPGRADE_KIND_ENUM_MINIMAL)
- upgrade_kind_zif = ZIF_RELEASE_UPGRADE_KIND_MINIMAL;
- else if (upgrade_kind == PK_UPGRADE_KIND_ENUM_COMPLETE)
- upgrade_kind_zif = ZIF_RELEASE_UPGRADE_KIND_COMPLETE;
-
- /* do the upgrade */
- version = atoi (distro_id_split[1]);
- ret = zif_release_upgrade_version (priv->release,
- version,
- upgrade_kind_zif,
- priv->state,
- &error);
- if (!ret) {
- /* convert the ZifRelease error code into a PK error enum */
- switch (error->code) {
- case ZIF_RELEASE_ERROR_DOWNLOAD_FAILED:
- error_code = PK_ERROR_ENUM_PACKAGE_DOWNLOAD_FAILED;
- break;
- case ZIF_RELEASE_ERROR_FILE_INVALID:
- error_code = PK_ERROR_ENUM_FAILED_CONFIG_PARSING;
- break;
- case ZIF_RELEASE_ERROR_LOW_DISKSPACE:
- error_code = PK_ERROR_ENUM_NO_SPACE_ON_DEVICE;
- break;
- case ZIF_RELEASE_ERROR_NOT_FOUND:
- error_code = PK_ERROR_ENUM_PACKAGE_NOT_FOUND;
- break;
- case ZIF_RELEASE_ERROR_NOT_SUPPORTED:
- error_code = PK_ERROR_ENUM_NOT_SUPPORTED;
- break;
- case ZIF_RELEASE_ERROR_NO_UUID_FOR_ROOT:
- case ZIF_RELEASE_ERROR_SETUP_INVALID:
- case ZIF_RELEASE_ERROR_SPAWN_FAILED:
- case ZIF_RELEASE_ERROR_WRITE_FAILED:
- error_code = PK_ERROR_ENUM_INTERNAL_ERROR;
- break;
- default:
- error_code = PK_ERROR_ENUM_INTERNAL_ERROR;
- }
- pk_backend_error_code (backend, error_code,
- "failed to upgrade: %s", error->message);
- g_error_free (error);
- goto out;
- }
-out:
- pk_backend_finished (backend);
- g_strfreev (distro_id_split);
-#endif
- return TRUE;
-}
-
-/**
* pk_backend_upgrade_system:
*/
void
pk_backend_upgrade_system (PkBackend *backend, const gchar *distro_id, PkUpgradeKindEnum upgrade_kind)
{
- pk_backend_thread_create (backend, pk_backend_upgrade_system_thread);
+ pk_backend_spawn_helper (priv->spawn, "yumBackend.py", "update-system", NULL);
}
diff --git a/backends/zif/.gitignore b/backends/zif/.gitignore
new file mode 100644
index 0000000..9c0e66e
--- /dev/null
+++ b/backends/zif/.gitignore
@@ -0,0 +1 @@
+.libs
diff --git a/backends/zif/Makefile.am b/backends/zif/Makefile.am
new file mode 100644
index 0000000..a19855f
--- /dev/null
+++ b/backends/zif/Makefile.am
@@ -0,0 +1,27 @@
+helperdir = $(datadir)/PackageKit/helpers/zif
+dist_helper_DATA = \
+ zif-comps-groups.conf \
+ licenses.txt
+
+INCLUDES = \
+ -DI_KNOW_THE_PACKAGEKIT_GLIB2_API_IS_SUBJECT_TO_CHANGE \
+ -DG_LOG_DOMAIN=\"PackageKit-Zif\" \
+ -DPK_COMPILATION \
+ $(ZIF_CFLAGS) \
+ -DDATADIR=\"$(datadir)\" \
+ -DSYSCONFDIR=\""$(sysconfdir)"\"
+
+plugindir = $(PK_PLUGIN_DIR)
+plugin_LTLIBRARIES = libpk_backend_zif.la
+libpk_backend_zif_la_SOURCES = pk-backend-zif.c
+libpk_backend_zif_la_LIBADD = $(PK_PLUGIN_LIBS)
+libpk_backend_zif_la_LDFLAGS = -module -avoid-version
+libpk_backend_zif_la_CFLAGS = $(PK_PLUGIN_CFLAGS) $(WARNINGFLAGS_C)
+libpk_backend_zif_la_LIBADD += $(ZIF_LIBS)
+
+EXTRA_DIST = \
+ $(conf_DATA)
+
+clean-local:
+ rm -f *~
+
diff --git a/backends/zif/licenses.txt b/backends/zif/licenses.txt
new file mode 120000
index 0000000..7289e7e
--- /dev/null
+++ b/backends/zif/licenses.txt
@@ -0,0 +1 @@
+../yum/licenses.txt
\ No newline at end of file
diff --git a/backends/zif/pk-backend-zif.c b/backends/zif/pk-backend-zif.c
new file mode 100644
index 0000000..311cab6
--- /dev/null
+++ b/backends/zif/pk-backend-zif.c
@@ -0,0 +1,4662 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2007-2010 Richard Hughes <richard at hughsie.com>
+ *
+ * Licensed under the GNU General Public License Version 2
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#include <config.h>
+#include <gio/gio.h>
+#include <pk-backend.h>
+#include <string.h>
+#include <packagekit-glib2/pk-debug.h>
+#include <zif.h>
+
+#define PACKAGE_MEDIA_REPO_FILENAME "/etc/yum.repos.d/packagekit-media.repo"
+
+typedef struct {
+ GCancellable *cancellable;
+ GFileMonitor *monitor;
+ guint signal_finished;
+ guint signal_status;
+ GVolumeMonitor *volume_monitor;
+ ZifConfig *config;
+ ZifGroups *groups;
+ ZifLock *lock;
+ ZifRelease *release;
+ ZifRepos *repos;
+ ZifState *state;
+ ZifStore *store_local;
+ ZifTransaction *transaction;
+} PkBackendYumPrivate;
+
+static PkBackendYumPrivate *priv;
+
+/**
+ * pk_backend_get_description:
+ */
+gchar *
+pk_backend_get_description (PkBackend *backend)
+{
+ return g_strdup ("Zif");
+}
+
+/**
+ * pk_backend_get_author:
+ */
+gchar *
+pk_backend_get_author (PkBackend *backend)
+{
+ return g_strdup ("Richard Hughes <richard at hughsie.com>");
+}
+
+/**
+ * pk_backend_yum_repos_changed_cb:
+ **/
+static void
+pk_backend_yum_repos_changed_cb (GFileMonitor *monitor_,
+ GFile *file, GFile *other_file,
+ GFileMonitorEvent event_type,
+ PkBackend *backend)
+{
+ gchar *filename;
+
+ /* ignore the packagekit-media.repo file */
+ filename = g_file_get_path (file);
+ if (g_str_has_prefix (filename, PACKAGE_MEDIA_REPO_FILENAME))
+ goto out;
+
+ /* emit signal */
+ pk_backend_repo_list_changed (backend);
+out:
+ g_free (filename);
+}
+
+/**
+ * pk_backend_state_percentage_changed_cb:
+ */
+static void
+pk_backend_state_percentage_changed_cb (ZifState *state,
+ guint percentage,
+ PkBackend *backend)
+{
+ pk_backend_set_percentage (backend, percentage);
+}
+
+/**
+ * pk_backend_state_subpercentage_changed_cb:
+ */
+static void
+pk_backend_state_subpercentage_changed_cb (ZifState *state,
+ guint subpercentage,
+ PkBackend *backend)
+{
+ pk_backend_set_sub_percentage (backend, subpercentage);
+}
+
+/**
+ * pk_backend_is_all_installed:
+ */
+static gboolean
+pk_backend_is_all_installed (gchar **package_ids)
+{
+ guint i;
+ gboolean ret = TRUE;
+
+ /* check if we can use zif */
+ for (i=0; package_ids[i] != NULL; i++) {
+ if (!g_str_has_suffix (package_ids[i], ";installed")) {
+ ret = FALSE;
+ break;
+ }
+ }
+ return ret;
+}
+
+/**
+ * pk_backend_transaction_start:
+ */
+void
+pk_backend_transaction_start (PkBackend *backend)
+{
+ const gchar *root;
+ gboolean ret = FALSE;
+ gchar *http_proxy = NULL;
+ GError *error = NULL;
+ guint cache_age;
+ guint i;
+ guint lock_delay;
+ guint lock_retries;
+ guint pid;
+
+ /* only try a finite number of times */
+ lock_retries = zif_config_get_uint (priv->config, "lock_retries", NULL);
+ lock_delay = zif_config_get_uint (priv->config, "lock_delay", NULL);
+ for (i=0; i<lock_retries; i++) {
+
+ /* try to lock */
+ ret = zif_lock_set_locked (priv->lock, &pid, &error);
+ if (ret)
+ break;
+
+ /* we're now waiting */
+ pk_backend_set_status (backend, PK_STATUS_ENUM_WAITING_FOR_LOCK);
+
+ /* now wait */
+ g_debug ("Failed to lock on try %i of %i, already locked by PID %i "
+ "(sleeping for %ims): %s\n",
+ i+1, lock_retries,
+ pid,
+ lock_delay,
+ error->message);
+ g_clear_error (&error);
+ g_usleep (lock_delay * 1000);
+ }
+
+ /* we failed to lock */
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_CANNOT_GET_LOCK,
+ "failed to get lock, held by PID: %i",
+ pid);
+ goto out;
+ }
+
+ /* this backend does not support a relocatable root... yet */
+ root = pk_backend_get_root (backend);
+ if (g_strcmp0 (root, "/") != 0) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_INSTALL_ROOT_INVALID,
+ "backend does not support this root: '%s'",
+ root);
+ goto out;
+ }
+
+ /* try to set, or re-set install root */
+ ret = zif_store_local_set_prefix (ZIF_STORE_LOCAL (priv->store_local),
+ root,
+ &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_INTERNAL_ERROR,
+ "failed to set prefix: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* get network state */
+ ret = pk_backend_is_online (backend);
+ if (!ret) {
+ zif_config_set_boolean (priv->config, "network",
+ FALSE, NULL);
+ goto out;
+ }
+
+ /* tell ZifConfig it's okay to contact the network */
+ zif_config_set_boolean (priv->config, "network",
+ TRUE, NULL);
+
+ /* set cache age */
+ cache_age = pk_backend_get_cache_age (backend);
+ if (cache_age > 0)
+ zif_config_set_uint (priv->config, "max-age",
+ cache_age, NULL);
+
+ /* set the proxy */
+ http_proxy = pk_backend_get_proxy_http (backend);
+ zif_config_set_string (priv->config, "http_proxy",
+ http_proxy, NULL);
+
+ /* packages we can't remove */
+ zif_config_set_string (priv->config, "protected_packages",
+ "PackageKit,zif,rpm,glibc", NULL);
+
+ /* always skip broken transactions */
+ zif_config_set_boolean (priv->config, "skip_broken",
+ TRUE, NULL);
+
+ /* set background mode */
+ zif_config_set_boolean (priv->config, "background",
+ pk_backend_use_background (backend), NULL);
+
+ /* setup state */
+ zif_state_reset (priv->state);
+
+ /* start with a new transaction */
+ zif_transaction_reset (priv->transaction);
+out:
+ g_free (http_proxy);
+ return;
+}
+
+/**
+ * pk_backend_transaction_stop:
+ */
+void
+pk_backend_transaction_stop (PkBackend *backend)
+{
+ gboolean ret;
+ GError *error = NULL;
+
+ /* try to unlock */
+ ret = zif_lock_set_unlocked (priv->lock, &error);
+ if (!ret) {
+ g_warning ("failed to unlock: %s", error->message);
+ g_error_free (error);
+ goto out;
+ }
+out:
+ return;
+}
+
+/**
+ * pk_backend_filter_package_array_newest:
+ *
+ * This function needs to scale well, and be fast to process 50,000
+ * packages in less than one second. If it looks overcomplicated, it's
+ * because it needs to be O(n) not O(n*n).
+ **/
+static gboolean
+pk_backend_filter_package_array_newest (GPtrArray *array)
+{
+ const gchar *package_id;
+ gboolean installed;
+ gchar *key;
+ gchar **split;
+ GHashTable *hash;
+ gint retval;
+ guint i;
+ ZifPackage *found;
+ ZifPackage *package;
+
+ /* as an indexed hash table for speed */
+ hash = g_hash_table_new_full (g_str_hash,
+ g_str_equal,
+ g_free,
+ g_object_unref);
+
+ for (i=0; i<array->len; i++) {
+
+ /* get the current package */
+ package = g_ptr_array_index (array, i);
+ package_id = zif_package_get_id (package);
+ installed = zif_package_is_installed (package);
+
+ /* generate enough data to be specific */
+ split = pk_package_id_split (package_id);
+ key = g_strdup_printf ("%s-%s-%i",
+ split[PK_PACKAGE_ID_NAME],
+ split[PK_PACKAGE_ID_ARCH],
+ installed);
+ g_strfreev (split);
+
+ /* we've not already come across this package */
+ found = g_hash_table_lookup (hash, key);
+ if (found == NULL) {
+ g_hash_table_insert (hash, key, g_object_ref (package));
+ continue;
+ }
+
+ /* compare one package vs the other package */
+ retval = zif_package_compare (package, found);
+
+ /* the package is older than the one we have stored */
+ if (retval <= 0) {
+ g_free (key);
+ g_ptr_array_remove (array, package);
+ continue;
+ }
+
+ /* the package is newer than what we have stored,
+ * delete the old store, and add this one */
+ g_hash_table_remove (hash, found);
+ g_hash_table_insert (hash, key, g_object_ref (package));
+ }
+
+ g_hash_table_unref (hash);
+ return TRUE;
+}
+
+/**
+ * pk_backend_filter_package_array:
+ **/
+static GPtrArray *
+pk_backend_filter_package_array (GPtrArray *array, PkBitfield filters)
+{
+ GPtrArray *result = NULL;
+ guint i;
+ ZifPackage *package;
+
+ result = g_ptr_array_new_with_free_func ((GDestroyNotify) g_object_unref);
+
+ /* pre-result */
+ for (i=0;i<array->len;i++) {
+ package = g_ptr_array_index (array, i);
+
+ /* installed */
+ if (pk_bitfield_contain (filters,
+ PK_FILTER_ENUM_INSTALLED)) {
+ if (!zif_package_is_installed (package))
+ continue;
+ } else if (pk_bitfield_contain (filters,
+ PK_FILTER_ENUM_NOT_INSTALLED)) {
+ if (zif_package_is_installed (package))
+ continue;
+ }
+
+ /* development */
+ if (pk_bitfield_contain (filters,
+ PK_FILTER_ENUM_DEVELOPMENT)) {
+ if (!zif_package_is_devel (package))
+ continue;
+ } else if (pk_bitfield_contain (filters,
+ PK_FILTER_ENUM_NOT_DEVELOPMENT)) {
+ if (zif_package_is_devel (package))
+ continue;
+ }
+
+ /* gui */
+ if (pk_bitfield_contain (filters,
+ PK_FILTER_ENUM_GUI)) {
+ if (!zif_package_is_gui (package))
+ continue;
+ } else if (pk_bitfield_contain (filters,
+ PK_FILTER_ENUM_NOT_GUI)) {
+ if (zif_package_is_gui (package))
+ continue;
+ }
+
+ /* free */
+ if (pk_bitfield_contain (filters,
+ PK_FILTER_ENUM_FREE)) {
+ if (!zif_package_is_free (package))
+ continue;
+ } else if (pk_bitfield_contain (filters,
+ PK_FILTER_ENUM_NOT_FREE)) {
+ if (zif_package_is_free (package))
+ continue;
+ }
+
+ /* arch */
+ if (pk_bitfield_contain (filters,
+ PK_FILTER_ENUM_ARCH)) {
+ if (!zif_package_is_native (package))
+ continue;
+ } else if (pk_bitfield_contain (filters,
+ PK_FILTER_ENUM_NOT_ARCH)) {
+ if (zif_package_is_native (package))
+ continue;
+ }
+
+ /* add to array so we can post process */
+ g_ptr_array_add (result, g_object_ref (package));
+ }
+
+ /* do newest filtering */
+ if (pk_bitfield_contain (filters, PK_FILTER_ENUM_NEWEST))
+ pk_backend_filter_package_array_newest (result);
+
+ return result;
+}
+
+/**
+ * pk_backend_emit_package_array:
+ **/
+static gboolean
+pk_backend_emit_package_array (PkBackend *backend,
+ GPtrArray *array,
+ ZifState *state)
+{
+ const gchar *info_hint;
+ const gchar *package_id;
+ const gchar *summary;
+ gboolean installed;
+ gboolean ret = TRUE;
+ guint i;
+ PkInfoEnum info;
+ ZifPackage *package;
+ ZifState *state_local;
+ ZifState *state_loop;
+
+ g_return_val_if_fail (array != NULL, FALSE);
+
+ state_local = zif_state_get_child (state);
+ if (array->len > 0)
+ zif_state_set_number_steps (state_local, array->len);
+ for (i=0; i<array->len; i++) {
+ package = g_ptr_array_index (array, i);
+ installed = zif_package_is_installed (package);
+ package_id = zif_package_get_package_id (package);
+
+ /* should be quick as shouldn't be doing any action */
+ state_loop = zif_state_get_child (state_local);
+ summary = zif_package_get_summary (package, state_loop, NULL);
+
+ /* if we set a hint, use that, otherwise just get the installed status correct */
+ info_hint = (const gchar *)g_object_get_data (G_OBJECT(package), "kind");
+ if (info_hint == NULL) {
+ info = installed ? PK_INFO_ENUM_INSTALLED : PK_INFO_ENUM_AVAILABLE;
+ } else {
+ info = pk_info_enum_from_string (info_hint);
+ }
+
+ pk_backend_package (backend, info, package_id, summary);
+
+ /* done */
+ ret = zif_state_done (state_local, NULL);
+ if (!ret)
+ goto out;
+ }
+out:
+ return ret;
+}
+
+/**
+ * pk_backend_error_handler_cb:
+ */
+static gboolean
+pk_backend_error_handler_cb (const GError *error, PkBackend *backend)
+{
+ /* if we try to do a comps search on a local store */
+ if (error->domain == ZIF_STORE_ERROR &&
+ error->code == ZIF_STORE_ERROR_NO_SUPPORT) {
+ g_debug ("ignoring operation on PkStoreLocal: %s",
+ error->message);
+ return TRUE;
+ }
+
+ /* emit a warning, this isn't fatal */
+ pk_backend_message (backend,
+ PK_MESSAGE_ENUM_BROKEN_MIRROR,
+ "%s",
+ error->message);
+ return TRUE;
+}
+
+/**
+ * pk_backend_get_store_array_for_filter:
+ */
+static GPtrArray *
+pk_backend_get_store_array_for_filter (PkBackend *backend,
+ PkBitfield filters,
+ ZifState *state,
+ GError **error)
+{
+ GPtrArray *store_array;
+ ZifStore *store;
+ GPtrArray *array;
+ GError *error_local = NULL;
+
+ store_array = zif_store_array_new ();
+
+ /* add local packages to the store_array */
+ if (!pk_bitfield_contain (filters, PK_FILTER_ENUM_NOT_INSTALLED)) {
+ store = zif_store_local_new ();
+ zif_store_array_add_store (store_array, store);
+ g_object_unref (store);
+ }
+
+ /* add remote packages to the store_array */
+ if (!pk_bitfield_contain (filters, PK_FILTER_ENUM_INSTALLED)) {
+ array = zif_repos_get_stores_enabled (priv->repos,
+ state,
+ &error_local);
+ if (array == NULL) {
+ g_set_error (error, 1, 0,
+ "failed to get enabled stores: %s",
+ error_local->message);
+ g_error_free (error_local);
+ g_ptr_array_unref (store_array);
+ store_array = NULL;
+ goto out;
+ }
+ zif_store_array_add_stores (store_array, array);
+ g_ptr_array_unref (array);
+ }
+out:
+ return store_array;
+}
+
+/**
+ * pk_backend_search_newest:
+ */
+static GPtrArray *
+pk_backend_search_newest (GPtrArray *store_array,
+ ZifState *state,
+ guint recent,
+ GError **error)
+{
+ GPtrArray *array = NULL;
+ GPtrArray *array_tmp;
+ GTimeVal timeval_now;
+ guint diff_secs = recent * 24 * 60 * 60;
+ guint i;
+ ZifPackage *package;
+
+ /* get all the packages */
+ array_tmp = zif_store_array_get_packages (store_array, state, error);
+ if (array_tmp == NULL)
+ goto out;
+
+ /* only add elements to the array that are new enough */
+ g_get_current_time (&timeval_now);
+ array = g_ptr_array_new_with_free_func ((GDestroyNotify) g_object_unref);
+ for (i=0; i<array_tmp->len; i++) {
+ package = g_ptr_array_index (array_tmp, i);
+ if (timeval_now.tv_sec - zif_package_get_time_file (package) < diff_secs)
+ g_ptr_array_add (array, g_object_ref (package));
+ }
+ g_debug ("added %i newest packages", array->len);
+out:
+ if (array_tmp != NULL)
+ g_ptr_array_unref (array_tmp);
+ return array;
+}
+
+/**
+ * pk_backend_create_meta_package_for_category:
+ */
+static ZifPackage *
+pk_backend_create_meta_package_for_category (GPtrArray *store_array,
+ ZifCategory *cat,
+ ZifState *state,
+ GError **error)
+{
+ const gchar *to_array[] = { NULL, NULL };
+ gboolean ret;
+ gchar *package_id = NULL;
+ GPtrArray *array_packages;
+ guint j;
+ PkInfoEnum info = PK_INFO_ENUM_COLLECTION_INSTALLED;
+ ZifPackage *package = NULL;
+ ZifPackage *package_tmp;
+ ZifString *string;
+
+ /* are all the packages in this group installed? */
+ to_array[0] = zif_category_get_id (cat);
+ array_packages = zif_store_array_search_category (store_array,
+ (gchar**)to_array,
+ state,
+ error);
+ if (array_packages == NULL)
+ goto out;
+
+ /* if any are not installed, then this is not installed */
+ for (j=0; j<array_packages->len; j++) {
+ package_tmp = g_ptr_array_index (array_packages, j);
+ if (!zif_package_is_installed (package_tmp)) {
+ info = PK_INFO_ENUM_COLLECTION_AVAILABLE;
+ g_debug ("%s is not installed, so marking as not installed %s collection",
+ zif_package_get_id (package_tmp),
+ zif_category_get_id (cat));
+ break;
+ }
+ }
+
+ /* fake something */
+ package_id = g_strdup_printf ("%s;;;meta",
+ zif_category_get_id (cat));
+ package = zif_package_new ();
+ ret = zif_package_set_id (package, package_id, NULL);
+ if (!ret) {
+ g_object_unref (package);
+ package = NULL;
+ goto out;
+ }
+
+ /* set summary */
+ string = zif_string_new (zif_category_get_name (cat));
+ zif_package_set_summary (package, string);
+ zif_string_unref (string);
+
+ /* map to simple binary installed value */
+ zif_package_set_installed (package, (info == PK_INFO_ENUM_COLLECTION_INSTALLED));
+
+ /* add to results */
+ /* TODO: make a proper property */
+ g_object_set_data (G_OBJECT(package), "kind", (gpointer)pk_info_enum_to_string (info));
+out:
+ if (array_packages != NULL)
+ g_ptr_array_unref (array_packages);
+ g_free (package_id);
+ return package;
+}
+
+/**
+ * pk_backend_search_collections:
+ */
+static GPtrArray *
+pk_backend_search_collections (GPtrArray *store_array,
+ ZifState *state,
+ GError **error)
+{
+ gboolean ret;
+ gchar *package_id;
+ GError *error_local = NULL;
+ GPtrArray *array = NULL;
+ GPtrArray *array_tmp;
+ guint i;
+ ZifCategory *cat;
+ ZifPackage *package;
+ ZifState *state_local;
+ ZifState *state_loop;
+
+ /* set steps */
+ ret = zif_state_set_steps (state,
+ NULL,
+ 50, /* get categories */
+ 50, /* generate fake packages */
+ -1);
+ g_assert (ret);
+
+ /* get sorted list of unique categories */
+ state_local = zif_state_get_child (state);
+ array_tmp = zif_store_array_get_categories (store_array,
+ state_local,
+ error);
+ if (array_tmp == NULL)
+ goto out;
+
+ /* done */
+ ret = zif_state_done (state, error);
+ if (!ret)
+ goto out;
+
+ /* set steps */
+ state_local = zif_state_get_child (state);
+ zif_state_set_number_steps (state_local, array_tmp->len);
+
+ /* generate fake packages */
+ array = g_ptr_array_new_with_free_func ((GDestroyNotify) g_object_unref);
+ for (i=0; i<array_tmp->len; i++) {
+ cat = g_ptr_array_index (array_tmp, i);
+
+ /* ignore top level categories */
+ if (zif_category_get_parent_id (cat) == NULL)
+ continue;
+
+ /* fake something here */
+ state_loop = zif_state_get_child (state_local);
+ package = pk_backend_create_meta_package_for_category (store_array,
+ cat,
+ state_loop,
+ &error_local);
+ if (package != NULL) {
+ g_ptr_array_add (array, g_object_ref (package));
+ } else {
+ g_warning ("failed to add id %s: %s",
+ package_id,
+ error_local->message);
+ g_clear_error (&error_local);
+ }
+
+ /* done */
+ ret = zif_state_done (state_local, error);
+ if (!ret)
+ goto out;
+
+ g_object_unref (package);
+ }
+
+ /* done */
+ ret = zif_state_done (state, error);
+ if (!ret)
+ goto out;
+out:
+ if (array_tmp != NULL)
+ g_ptr_array_unref (array_tmp);
+ return array;
+}
+
+/**
+ * pk_backend_get_cat_for_id:
+ */
+static ZifCategory *
+pk_backend_get_cat_for_id (GPtrArray *store_array,
+ const gchar *id,
+ ZifState *state,
+ GError **error)
+{
+ GPtrArray *array = NULL;
+ ZifCategory *cat = NULL;
+ ZifCategory *cat_tmp;
+ guint i;
+
+ /* get all cats */
+ array = zif_store_array_get_categories (store_array,
+ state,
+ error);
+ if (array == NULL)
+ goto out;
+
+ /* find one that matches */
+ for (i=0; i<array->len; i++) {
+ cat_tmp = g_ptr_array_index (array, i);
+ if (g_strcmp0 (zif_category_get_id (cat_tmp), id) == 0) {
+ cat = g_object_ref (cat_tmp);
+ break;
+ }
+ }
+
+ /* nothing found, so set error */
+ if (cat == NULL)
+ g_set_error (error, 1, 0,
+ "no category %s found",
+ id);
+out:
+ if (array != NULL)
+ g_ptr_array_unref (array);
+ return cat;
+}
+
+/**
+ * pk_backend_resolve_groups:
+ */
+static GPtrArray *
+pk_backend_resolve_groups (GPtrArray *store_array,
+ gchar **search,
+ ZifState *state,
+ GError **error)
+{
+ gboolean ret;
+ GError *error_local = NULL;
+ GPtrArray *array = NULL;
+ GPtrArray *array_retval = NULL;
+ guint i;
+ ZifCategory *cat;
+ ZifPackage *package;
+ ZifState *state_local;
+ ZifState *state_loop;
+
+ /* set steps */
+ zif_state_set_number_steps (state, g_strv_length (search));
+
+ /* resolve all the groups */
+ array = g_ptr_array_new_with_free_func ((GDestroyNotify) g_object_unref);
+ for (i=0; search[i] != NULL; i++) {
+ state_local = zif_state_get_child (state);
+
+ /* set steps */
+ ret = zif_state_set_steps (state,
+ NULL,
+ 50, /* get category */
+ 50, /* create metapackage */
+ -1);
+ g_assert (ret);
+
+ /* get the category */
+ state_loop = zif_state_get_child (state_local);
+ cat = pk_backend_get_cat_for_id (store_array,
+ search[i]+1,
+ state_loop,
+ &error_local);
+ if (cat == NULL) {
+ g_debug ("group %s not found: %s",
+ search[i],
+ error_local->message);
+ g_clear_error (&error_local);
+
+ /* this part done */
+ ret = zif_state_finished (state_loop, error);
+ if (!ret)
+ goto out;
+ ret = zif_state_done (state_local, error);
+ if (!ret)
+ goto out;
+ } else {
+ ret = zif_state_done (state_local, error);
+ if (!ret)
+ goto out;
+
+ /* fake something here */
+ state_loop = zif_state_get_child (state_local);
+ package = pk_backend_create_meta_package_for_category (store_array,
+ cat,
+ state_loop,
+ &error_local);
+ if (package != NULL) {
+ g_ptr_array_add (array, package);
+ } else {
+ g_warning ("failed to add id %s: %s",
+ zif_category_get_id (cat),
+ error_local->message);
+ g_clear_error (&error_local);
+ ret = zif_state_finished (state_loop, error);
+ }
+ }
+
+ /* this part done */
+ ret = zif_state_done (state_local, error);
+ if (!ret)
+ goto out;
+ ret = zif_state_done (state, error);
+ if (!ret)
+ goto out;
+ }
+
+ /* success */
+ array_retval = g_ptr_array_ref (array);
+out:
+ if (array != NULL)
+ g_ptr_array_unref (array);
+ return array_retval;
+}
+
+/**
+ * pk_backend_what_provides_helper:
+ */
+static GPtrArray *
+pk_backend_what_provides_helper (GPtrArray *store_array,
+ gchar **search,
+ ZifState *state,
+ GError **error)
+{
+ gboolean ret;
+ GPtrArray *array = NULL;
+ GPtrArray *array_retval = NULL;
+ GPtrArray *depend_array = NULL;
+ guint i;
+ ZifDepend *depend;
+ ZifState *state_local;
+
+ /* set steps */
+ ret = zif_state_set_steps (state,
+ NULL,
+ 50, /* parse depends */
+ 50, /* do the query */
+ -1);
+ g_assert (ret);
+
+ /* resolve all the depends */
+ state_local = zif_state_get_child (state);
+ zif_state_set_number_steps (state_local, g_strv_length (search));
+ depend_array = g_ptr_array_new_with_free_func ((GDestroyNotify) g_object_unref);
+ for (i=0; search[i] != NULL; i++) {
+ state_local = zif_state_get_child (state);
+
+ /* parse this depend */
+ depend = zif_depend_new ();
+ g_ptr_array_add (depend_array, depend);
+ ret = zif_depend_parse_description (depend, search[i], error);
+ if (!ret)
+ goto out;
+
+ /* this part done */
+ ret = zif_state_done (state_local, error);
+ if (!ret)
+ goto out;
+ }
+
+ /* this part done */
+ ret = zif_state_done (state, error);
+ if (!ret)
+ goto out;
+
+ /* find what provides this depend */
+ state_local = zif_state_get_child (state);
+ array = zif_store_array_what_provides (store_array,
+ depend_array,
+ state_local,
+ error);
+ g_object_unref (depend);
+ if (array == NULL)
+ goto out;
+
+ /* this part done */
+ ret = zif_state_done (state, error);
+ if (!ret)
+ goto out;
+
+ /* success */
+ array_retval = g_ptr_array_ref (array);
+out:
+ if (array != NULL)
+ g_ptr_array_unref (array);
+ if (depend_array != NULL)
+ g_ptr_array_unref (depend_array);
+ return array_retval;
+}
+
+/**
+ * pk_backend_search_thread:
+ */
+static gboolean
+pk_backend_search_thread (PkBackend *backend)
+{
+ gboolean ret;
+ gchar **search;
+ GError *error = NULL;
+ GPtrArray *array = NULL;
+ GPtrArray *result;
+ GPtrArray *store_array = NULL;
+ guint i;
+ guint recent;
+ PkBitfield filters;
+ PkRoleEnum role;
+ ZifState *state_local;
+
+ filters = (PkBitfield) pk_backend_get_uint (backend, "filters");
+ role = pk_backend_get_role (backend);
+
+ pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);
+ pk_backend_set_percentage (backend, 0);
+
+ /* set steps */
+ ret = zif_state_set_steps (priv->state,
+ NULL,
+ 2, /* get default stores */
+ 90, /* do the search */
+ 6, /* filter */
+ 2, /* emit */
+ -1);
+ g_assert (ret);
+
+ /* get default store_array */
+ state_local = zif_state_get_child (priv->state);
+ store_array = pk_backend_get_store_array_for_filter (backend,
+ filters,
+ state_local,
+ &error);
+ if (store_array == NULL) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_INTERNAL_ERROR,
+ "failed to get stores: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* this section done */
+ ret = zif_state_done (priv->state, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+ zif_state_set_error_handler (priv->state, (ZifStateErrorHandlerCb) pk_backend_error_handler_cb, backend);
+
+ /* do get action */
+ if (role == PK_ROLE_ENUM_GET_PACKAGES) {
+ state_local = zif_state_get_child (priv->state);
+ array = zif_store_array_get_packages (store_array, state_local, &error);
+ if (array == NULL) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_INTERNAL_ERROR,
+ "failed to get packages: %s", error->message);
+ g_error_free (error);
+ goto out;
+ }
+ } else {
+ /* treat these all the same */
+ search = pk_backend_get_strv (backend, "search");
+ if (search == NULL) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_INTERNAL_ERROR,
+ "failed to get 'search' for %s", pk_role_enum_to_string (role));
+ goto out;
+ }
+ array = g_ptr_array_new_with_free_func ((GDestroyNotify) g_object_unref);
+
+ /* do OR search */
+ state_local = zif_state_get_child (priv->state);
+ if (role == PK_ROLE_ENUM_SEARCH_NAME) {
+ array = zif_store_array_search_name (store_array, search, state_local, &error);
+ } else if (role == PK_ROLE_ENUM_SEARCH_DETAILS) {
+ array = zif_store_array_search_details (store_array, search, state_local, &error);
+ } else if (role == PK_ROLE_ENUM_SEARCH_GROUP) {
+ gchar **search_stripped;
+ guint search_entries;
+
+ /* if the search temp is prefixed with '@' then it is a
+ * category search, and we have to strip it */
+ if (search[0][0] == '@') {
+ search_entries = g_strv_length (search);
+ search_stripped = g_new0 (gchar *, search_entries + 1);
+ for (i=0; i < search_entries; i++)
+ search_stripped[i] = g_strdup (&search[i][1]);
+ array = zif_store_array_search_category (store_array, search_stripped, state_local, &error);
+ g_strfreev (search_stripped);
+ } else if (g_strcmp0 (search[0], "newest") == 0) {
+ recent = zif_config_get_uint (priv->config, "recent", &error);
+ array = pk_backend_search_newest (store_array, state_local, recent, &error);
+ if (array == NULL) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_INTERNAL_ERROR,
+ "failed to get packages: %s", error->message);
+ g_error_free (error);
+ goto out;
+ }
+ } else if (g_strcmp0 (search[0], "collections") == 0) {
+ array = pk_backend_search_collections (store_array, state_local, &error);
+ if (array == NULL) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_INTERNAL_ERROR,
+ "failed to get packages: %s", error->message);
+ g_error_free (error);
+ goto out;
+ }
+ } else {
+ array = zif_store_array_search_group (store_array, search, state_local, &error);
+ }
+ } else if (role == PK_ROLE_ENUM_SEARCH_FILE) {
+ array = zif_store_array_search_file (store_array, search, state_local, &error);
+ } else if (role == PK_ROLE_ENUM_RESOLVE) {
+ if (search[0][0] == '@') {
+ /* this is a group */
+ array = pk_backend_resolve_groups (store_array, search, state_local, &error);
+ } else {
+ array = zif_store_array_resolve (store_array, search, state_local, &error);
+ }
+ } else if (role == PK_ROLE_ENUM_WHAT_PROVIDES) {
+ array = pk_backend_what_provides_helper (store_array, search, state_local, &error);
+ }
+ if (array == NULL) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_INTERNAL_ERROR,
+ "failed to search: %s", error->message);
+ g_error_free (error);
+ goto out;
+ }
+ }
+
+ /* this section done */
+ ret = zif_state_done (priv->state, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* filter */
+ result = pk_backend_filter_package_array (array, filters);
+
+ /* this section done */
+ ret = zif_state_done (priv->state, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* done */
+ pk_backend_set_percentage (backend, 100);
+
+ /* emit */
+ state_local = zif_state_get_child (priv->state);
+ pk_backend_emit_package_array (backend, result, state_local);
+
+ /* this section done */
+ ret = zif_state_done (priv->state, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+out:
+ if (store_array != NULL)
+ g_ptr_array_unref (store_array);
+ if (array != NULL)
+ g_ptr_array_unref (array);
+ pk_backend_finished (backend);
+ return TRUE;
+}
+
+/**
+ * pk_backend_enable_media_repo:
+ */
+static void
+pk_backend_enable_media_repo (gboolean enabled)
+{
+ gboolean ret;
+ GError *error = NULL;
+ ZifState *state;
+ ZifStoreRemote *repo = NULL;
+
+ /* find the right repo */
+ state = zif_state_new ();
+ zif_state_set_cancellable (state, zif_state_get_cancellable (priv->state));
+ repo = zif_repos_get_store (priv->repos,
+ "InstallMedia",
+ state,
+ &error);
+ if (repo == NULL) {
+ g_debug ("failed to find install-media repo: %s", error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* set the state */
+ ret = zif_store_remote_set_enabled (repo, enabled, &error);
+ if (!ret) {
+ g_debug ("failed to set enable: %s", error->message);
+ g_error_free (error);
+ goto out;
+ }
+ g_debug ("%s InstallMedia", enabled ? "enabled" : "disabled");
+out:
+ g_object_unref (state);
+ if (repo != NULL)
+ g_object_unref (repo);
+}
+
+/**
+ * pk_backend_mount_add:
+ */
+static void
+pk_backend_mount_add (GMount *mount, gpointer user_data)
+{
+ GFile *root;
+ GFile *repo;
+ GFile *dest;
+ gchar *root_path;
+ gchar *repo_path;
+ gboolean ret;
+ GError *error = NULL;
+
+ /* check if any installed media is an install disk */
+ root = g_mount_get_root (mount);
+ root_path = g_file_get_path (root);
+ repo_path = g_build_filename (root_path, "media.repo", NULL);
+ repo = g_file_new_for_path (repo_path);
+ dest = g_file_new_for_path (PACKAGE_MEDIA_REPO_FILENAME);
+
+ /* media.repo exists */
+ ret = g_file_query_exists (repo, NULL);
+ g_debug ("checking for %s: %s", repo_path, ret ? "yes" : "no");
+ if (!ret)
+ goto out;
+
+ /* copy to the system repo dir */
+ ret = g_file_copy (repo, dest, G_FILE_COPY_OVERWRITE, NULL, NULL, NULL, &error);
+ if (!ret) {
+ g_warning ("failed to copy: %s", error->message);
+ g_error_free (error);
+ }
+out:
+ g_free (root_path);
+ g_free (repo_path);
+ g_object_unref (dest);
+ g_object_unref (root);
+ g_object_unref (repo);
+}
+
+/**
+ * pk_backend_finished_cb:
+ **/
+static void
+pk_backend_finished_cb (PkBackend *backend, PkExitEnum exit_enum, gpointer user_data)
+{
+ /* disable media repo */
+ pk_backend_enable_media_repo (FALSE);
+}
+
+/**
+ * pk_backend_status_changed_cb:
+ **/
+static void
+pk_backend_status_changed_cb (PkBackend *backend, PkStatusEnum status, gpointer user_data)
+{
+ if (status != PK_STATUS_ENUM_WAIT)
+ return;
+
+ /* enable media repo */
+ pk_backend_enable_media_repo (TRUE);
+}
+
+/**
+ * pk_backend_state_action_changed_cb:
+ **/
+static void
+pk_backend_state_action_changed_cb (ZifState *state, ZifStateAction action, const gchar *action_hint, PkBackend *backend)
+{
+ PkStatusEnum status = PK_STATUS_ENUM_UNKNOWN;
+
+ /* ignore this */
+ if (action == ZIF_STATE_ACTION_UNKNOWN)
+ goto out;
+
+ /* try to map the ZifStateAction to a PkStatusEnum */
+ if (action == ZIF_STATE_ACTION_DOWNLOADING) {
+ if (zif_package_id_check (action_hint)) {
+ status = PK_STATUS_ENUM_DOWNLOAD;
+ pk_backend_package (backend,
+ PK_INFO_ENUM_DOWNLOADING,
+ action_hint,
+ "");
+ goto out;
+ }
+ if (g_strrstr (action_hint, "repomd") != NULL)
+ status = PK_STATUS_ENUM_DOWNLOAD_REPOSITORY;
+ else if (g_strrstr (action_hint, "primary") != NULL)
+ status = PK_STATUS_ENUM_DOWNLOAD_PACKAGELIST;
+ else if (g_strrstr (action_hint, "filelist") != NULL)
+ status = PK_STATUS_ENUM_DOWNLOAD_FILELIST;
+ else if (g_strrstr (action_hint, "changelog") != NULL)
+ status = PK_STATUS_ENUM_DOWNLOAD_CHANGELOG;
+ else if (g_strrstr (action_hint, "comps") != NULL)
+ status = PK_STATUS_ENUM_DOWNLOAD_GROUP;
+ else if (g_strrstr (action_hint, "updatinfo") != NULL)
+ status = PK_STATUS_ENUM_DOWNLOAD_UPDATEINFO;
+ goto out;
+ }
+
+ /* general cache loading */
+ if (action == ZIF_STATE_ACTION_CHECKING ||
+ action == ZIF_STATE_ACTION_LOADING_REPOS ||
+ action == ZIF_STATE_ACTION_DECOMPRESSING) {
+ status = PK_STATUS_ENUM_LOADING_CACHE;
+ goto out;
+ }
+
+ /* package install */
+ if (action == ZIF_STATE_ACTION_INSTALLING) {
+ status = PK_STATUS_ENUM_INSTALL;
+ pk_backend_package (backend,
+ PK_INFO_ENUM_INSTALLING,
+ action_hint,
+ "");
+ goto out;
+ }
+
+ /* package remove */
+ if (action == ZIF_STATE_ACTION_REMOVING) {
+ status = PK_STATUS_ENUM_REMOVE;
+ pk_backend_package (backend,
+ PK_INFO_ENUM_REMOVING,
+ action_hint,
+ "");
+ goto out;
+ }
+
+ /* package update */
+ if (action == ZIF_STATE_ACTION_UPDATING) {
+ status = PK_STATUS_ENUM_UPDATE;
+ pk_backend_package (backend,
+ PK_INFO_ENUM_UPDATING,
+ action_hint,
+ "");
+ goto out;
+ }
+
+ /* package update */
+ if (action == ZIF_STATE_ACTION_CLEANING) {
+ status = PK_STATUS_ENUM_CLEANUP;
+ pk_backend_package (backend,
+ PK_INFO_ENUM_CLEANUP,
+ action_hint,
+ "");
+ goto out;
+ }
+
+ /* rpm test commit */
+ if (action == ZIF_STATE_ACTION_TEST_COMMIT) {
+ status = PK_STATUS_ENUM_TEST_COMMIT;
+ goto out;
+ }
+
+ /* depsolving */
+ if (action == ZIF_STATE_ACTION_DEPSOLVING_CONFLICTS ||
+ action == ZIF_STATE_ACTION_DEPSOLVING_INSTALL ||
+ action == ZIF_STATE_ACTION_DEPSOLVING_REMOVE ||
+ action == ZIF_STATE_ACTION_DEPSOLVING_UPDATE) {
+ status = PK_STATUS_ENUM_DEP_RESOLVE;
+ goto out;
+ }
+
+out:
+ if (status != PK_STATUS_ENUM_UNKNOWN)
+ pk_backend_set_status (backend, status);
+}
+
+/**
+ * pk_backend_initialize:
+ * This should only be run once per backend load, i.e. not every transaction
+ */
+void
+pk_backend_initialize (PkBackend *backend)
+{
+ gboolean ret;
+ gchar *config_file = NULL;
+ gchar *reposdir = NULL;
+ GError *error = NULL;
+ GFile *file = NULL;
+ GList *mounts;
+
+ /* use logging */
+ pk_debug_add_log_domain (G_LOG_DOMAIN);
+ pk_debug_add_log_domain ("Zif");
+
+ /* create private area */
+ priv = g_new0 (PkBackendYumPrivate, 1);
+
+ /* connect to finished, so we can clean up */
+ priv->signal_finished =
+ g_signal_connect (backend, "finished",
+ G_CALLBACK (pk_backend_finished_cb), NULL);
+ priv->signal_status =
+ g_signal_connect (backend, "status-changed",
+ G_CALLBACK (pk_backend_status_changed_cb), NULL);
+
+ /* coldplug the mounts */
+ priv->volume_monitor = g_volume_monitor_get ();
+ mounts = g_volume_monitor_get_mounts (priv->volume_monitor);
+ g_list_foreach (mounts, (GFunc) pk_backend_mount_add, NULL);
+ g_list_foreach (mounts, (GFunc) g_object_unref, NULL);
+ g_list_free (mounts);
+
+ /* init rpm */
+ zif_init ();
+
+ /* TODO: hook up errors */
+ priv->cancellable = g_cancellable_new ();
+
+ /* ZifState */
+ priv->state = zif_state_new ();
+ g_signal_connect (priv->state, "percentage-changed",
+ G_CALLBACK (pk_backend_state_percentage_changed_cb),
+ backend);
+ g_signal_connect (priv->state, "subpercentage-changed",
+ G_CALLBACK (pk_backend_state_subpercentage_changed_cb),
+ backend);
+ g_signal_connect (priv->state, "action-changed",
+ G_CALLBACK (pk_backend_state_action_changed_cb),
+ backend);
+
+ /* we don't want to enable this for normal runtime */
+ zif_state_set_enable_profile (priv->state, TRUE);
+
+ /* ZifConfig */
+ priv->config = zif_config_new ();
+ ret = zif_config_set_filename (priv->config, NULL, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_FAILED_CONFIG_PARSING,
+ "failed to set config: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* setup a file monitor on the repos directory */
+ reposdir = zif_config_get_string (priv->config, "reposdir", NULL);
+ file = g_file_new_for_path (reposdir);
+ priv->monitor = g_file_monitor_directory (file,
+ G_FILE_MONITOR_NONE,
+ NULL,
+ &error);
+ if (priv->monitor != NULL) {
+ g_signal_connect (priv->monitor, "changed",
+ G_CALLBACK (pk_backend_yum_repos_changed_cb), backend);
+ } else {
+ g_warning ("failed to setup monitor: %s",
+ error->message);
+ g_error_free (error);
+ }
+
+ /* ZifLock */
+ priv->lock = zif_lock_new ();
+
+ /* ZifRelease */
+ priv->release = zif_release_new ();
+
+ /* ZifStoreLocal */
+ priv->store_local = zif_store_local_new ();
+
+ /* ZifTransaction */
+ priv->transaction = zif_transaction_new ();
+ zif_transaction_set_store_local (priv->transaction, priv->store_local);
+
+ /* ZifRepos */
+ priv->repos = zif_repos_new ();
+ ret = zif_repos_set_repos_dir (priv->repos, NULL, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_REPO_CONFIGURATION_ERROR,
+ "failed to set repos dir: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* ZifGroups: FIXME: add this to config */
+ priv->groups = zif_groups_new ();
+ ret = zif_groups_set_mapping_file (priv->groups,
+ DATADIR "/PackageKit/helpers/zif/zif-comps-groups.conf",
+ &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_GROUP_LIST_INVALID,
+ "failed to set mapping file: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+out:
+ g_free (reposdir);
+ g_free (config_file);
+ if (file != NULL)
+ g_object_unref (file);
+}
+
+/**
+ * pk_backend_destroy:
+ * This should only be run once per backend load, i.e. not every transaction
+ */
+void
+pk_backend_destroy (PkBackend *backend)
+{
+ if (priv->monitor != NULL)
+ g_object_unref (priv->monitor);
+ g_signal_handler_disconnect (backend, priv->signal_finished);
+ g_signal_handler_disconnect (backend, priv->signal_status);
+ if (priv->config != NULL)
+ g_object_unref (priv->config);
+ if (priv->release != NULL)
+ g_object_unref (priv->release);
+ if (priv->transaction != NULL)
+ g_object_unref (priv->transaction);
+ if (priv->state != NULL)
+ g_object_unref (priv->state);
+ if (priv->repos != NULL)
+ g_object_unref (priv->repos);
+ if (priv->groups != NULL)
+ g_object_unref (priv->groups);
+ if (priv->store_local != NULL)
+ g_object_unref (priv->store_local);
+ if (priv->lock != NULL)
+ g_object_unref (priv->lock);
+ if (priv->volume_monitor != NULL)
+ g_object_unref (priv->volume_monitor);
+ g_free (priv);
+}
+
+/**
+ * pk_backend_get_groups:
+ */
+PkBitfield
+pk_backend_get_groups (PkBackend *backend)
+{
+ const gchar *group_str;
+ GError *error = NULL;
+ GPtrArray *array = NULL;
+ guint i;
+ PkBitfield groups = 0;
+
+ /* get the dynamic group list */
+ array = zif_groups_get_groups (priv->groups, &error);
+ if (array == NULL) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_GROUP_LIST_INVALID,
+ "failed to get the list of groups: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* convert to a bitfield */
+ for (i=0; i<array->len; i++) {
+ group_str = g_ptr_array_index (array, i);
+ pk_bitfield_add (groups,
+ pk_group_enum_from_string (group_str));
+ }
+
+ /* add the virtual groups */
+ pk_bitfield_add (groups, PK_GROUP_ENUM_COLLECTIONS);
+ pk_bitfield_add (groups, PK_GROUP_ENUM_NEWEST);
+out:
+ return groups;
+}
+
+/**
+ * pk_backend_get_filters:
+ */
+PkBitfield
+pk_backend_get_filters (PkBackend *backend)
+{
+ return pk_bitfield_from_enums (
+ PK_FILTER_ENUM_GUI,
+ PK_FILTER_ENUM_INSTALLED,
+ PK_FILTER_ENUM_DEVELOPMENT,
+ PK_FILTER_ENUM_BASENAME,
+ PK_FILTER_ENUM_FREE,
+ PK_FILTER_ENUM_NEWEST,
+ PK_FILTER_ENUM_ARCH,
+ -1);
+}
+
+/**
+ * pk_backend_get_mime_types:
+ */
+gchar *
+pk_backend_get_mime_types (PkBackend *backend)
+{
+ return g_strdup ("application/x-rpm;application/x-servicepack");
+}
+
+/**
+ * pk_backend_cancel:
+ */
+void
+pk_backend_cancel (PkBackend *backend)
+{
+ /* try to cancel the thread */
+ g_cancellable_cancel (priv->cancellable);
+}
+
+/**
+ * pk_backend_download_packages_thread:
+ */
+static gboolean
+pk_backend_download_packages_thread (PkBackend *backend)
+{
+ const gchar *directory = pk_backend_get_string (backend, "directory");
+ const gchar *filename;
+ gboolean ret;
+ gchar *basename;
+ gchar **package_ids = pk_backend_get_strv (backend, "package_ids");
+ gchar *path;
+ GError *error = NULL;
+ GPtrArray *packages = NULL;
+ GPtrArray *store_array = NULL;
+ guint i;
+ guint len;
+ ZifPackage *package;
+ ZifState *state_local;
+ ZifState *state_loop;
+ ZifState *state_tmp;
+
+ len = g_strv_length (package_ids);
+ ret = zif_state_set_steps (priv->state,
+ NULL,
+ 2, /* get default stores */
+ 8, /* find packages */
+ 90, /* download */
+ -1);
+ g_assert (ret);
+
+ /* find all the packages */
+ packages = zif_object_array_new ();
+ state_local = zif_state_get_child (priv->state);
+ store_array = zif_store_array_new ();
+ ret = zif_store_array_add_remote_enabled (store_array,
+ state_local,
+ &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_INTERNAL_ERROR,
+ "failed to add enabled stores: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* this section done */
+ ret = zif_state_done (priv->state, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* find */
+ pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);
+ state_local = zif_state_get_child (priv->state);
+ zif_state_set_number_steps (state_local, g_strv_length (package_ids));
+ for (i=0; package_ids[i] != NULL; i++) {
+
+ /* find packages */
+ state_loop = zif_state_get_child (state_local);
+ package = zif_store_array_find_package (store_array,
+ package_ids[i],
+ state_loop,
+ &error);
+ if (package == NULL) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_PACKAGE_NOT_FOUND,
+ "failed to find %s: %s",
+ package_ids[i],
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* this section done */
+ ret = zif_state_done (state_local, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ zif_object_array_add (packages, package);
+ g_object_unref (package);
+ }
+
+ /* this section done */
+ ret = zif_state_done (priv->state, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* download list */
+ pk_backend_set_status (backend, PK_STATUS_ENUM_DOWNLOAD);
+ state_local = zif_state_get_child (priv->state);
+ zif_state_set_number_steps (state_local, packages->len);
+ for (i=0; i<packages->len; i++) {
+ package = g_ptr_array_index (packages, i);
+
+ /* set steps */
+ state_loop = zif_state_get_child (state_local);
+ ret = zif_state_set_steps (state_loop,
+ NULL,
+ 2, /* get filename */
+ 96, /* download */
+ 2, /* emit */
+ -1);
+ g_assert (ret);
+
+ /* get filename */
+ state_tmp = zif_state_get_child (state_loop);
+ filename = zif_package_get_filename (package, state_tmp, &error);
+ if (filename == NULL) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_PACKAGE_DOWNLOAD_FAILED,
+ "failed to get filename for %s: %s",
+ zif_package_get_id (package),
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* this section done */
+ ret = zif_state_done (state_loop, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* download */
+ state_tmp = zif_state_get_child (state_loop);
+ ret = zif_package_remote_download (ZIF_PACKAGE_REMOTE (package),
+ directory,
+ state_tmp,
+ &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_PACKAGE_DOWNLOAD_FAILED,
+ "failed to download %s: %s",
+ filename,
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* this section done */
+ ret = zif_state_done (state_loop, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* send a signal for the daemon so the file is copied */
+ basename = g_path_get_basename (filename);
+ path = g_build_filename (directory, basename, NULL);
+ pk_backend_files (backend, zif_package_get_id (package), path);
+ g_free (basename);
+ g_free (path);
+
+ /* this section done */
+ ret = zif_state_done (state_loop, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* this section done */
+ ret = zif_state_done (state_local, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+ }
+
+ /* this section done */
+ ret = zif_state_done (priv->state, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+out:
+ pk_backend_finished (backend);
+ if (packages != NULL)
+ g_ptr_array_unref (packages);
+ if (store_array != NULL)
+ g_ptr_array_unref (store_array);
+ return TRUE;
+}
+
+/**
+ * pk_backend_get_depends_thread:
+ */
+static gboolean
+pk_backend_get_depends_thread (PkBackend *backend)
+{
+ gboolean ret;
+ gchar **package_ids = pk_backend_get_strv (backend, "package_ids");
+ PkBitfield filters = (PkBitfield) pk_backend_get_uint (backend, "filters");
+ GPtrArray *store_array = NULL;
+ ZifPackage *package;
+ ZifPackage *package_provide;
+ ZifState *state_local;
+ ZifState *state_loop;
+ const gchar *id;
+ guint i, j;
+ guint len;
+ GError *error = NULL;
+ GPtrArray *array = NULL;
+ GPtrArray *result;
+ GPtrArray *requires;
+ GPtrArray *provides;
+
+ len = g_strv_length (package_ids);
+
+ /* set steps */
+ ret = zif_state_set_steps (priv->state,
+ NULL,
+ 2, /* get stores */
+ 94, /* what requires + provides */
+ 2, /* filter */
+ 2, /* emit */
+ -1);
+ g_assert (ret);
+
+ /* find all the packages */
+ state_local = zif_state_get_child (priv->state);
+ store_array = pk_backend_get_store_array_for_filter (backend,
+ 0,
+ state_local,
+ &error);
+ if (store_array == NULL) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_INTERNAL_ERROR,
+ "failed to get stores: %s", error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* this section done */
+ ret = zif_state_done (priv->state, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* new output array */
+ array = g_ptr_array_new_with_free_func ((GDestroyNotify) g_object_unref);
+
+ pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);
+ for (i=0; package_ids[i] != NULL; i++) {
+ id = package_ids[i];
+
+ /* set up state */
+ state_local = zif_state_get_child (priv->state);
+ ret = zif_state_set_steps (state_local,
+ NULL,
+ 50, /* find package */
+ 25, /* get requires */
+ 25, /* what provides */
+ -1);
+ g_assert (ret);
+
+ /* find package */
+ state_loop = zif_state_get_child (state_local);
+ package = zif_store_array_find_package (store_array,
+ id,
+ state_loop,
+ &error);
+ if (package == NULL) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_PACKAGE_NOT_FOUND,
+ "failed to find %s: %s",
+ package_ids[i],
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* this section done */
+ ret = zif_state_done (state_local, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* get requires */
+ state_loop = zif_state_get_child (state_local);
+ requires = zif_package_get_requires (package, state_loop, &error);
+ if (requires == NULL) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_PACKAGE_NOT_FOUND,
+ "failed to get requires for %s: %s",
+ package_ids[i], error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* this section done */
+ ret = zif_state_done (state_local, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* match a package to each require */
+ state_loop = zif_state_get_child (state_local);
+ provides = zif_store_array_what_provides (store_array, requires, state_loop, &error);
+ if (provides == NULL) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_PACKAGE_NOT_FOUND,
+ "failed to find provide for %s: %s",
+ zif_depend_get_name (g_ptr_array_index (provides, 0)),
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* print all of them */
+ for (j=0;j<provides->len;j++) {
+ package_provide = g_ptr_array_index (provides, j);
+ g_ptr_array_add (array, g_object_ref (package_provide));
+ }
+ g_ptr_array_unref (provides);
+
+ /* this section done */
+ ret = zif_state_done (state_local, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* free */
+ g_object_unref (package);
+ }
+
+ /* this section done */
+ ret = zif_state_done (priv->state, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* filter */
+ result = pk_backend_filter_package_array (array, filters);
+
+ /* this section done */
+ ret = zif_state_done (priv->state, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* done */
+ pk_backend_set_percentage (backend, 100);
+
+ /* emit */
+ state_local = zif_state_get_child (priv->state);
+ pk_backend_emit_package_array (backend, result, state_local);
+
+ /* this section done */
+ ret = zif_state_done (priv->state, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+out:
+ if (array != NULL)
+ g_ptr_array_unref (array);
+ pk_backend_finished (backend);
+ if (store_array != NULL)
+ g_ptr_array_unref (store_array);
+ return TRUE;
+}
+
+/**
+ * pk_backend_get_requires_thread:
+ */
+static gboolean
+pk_backend_get_requires_thread (PkBackend *backend)
+{
+ gboolean ret;
+ gchar **package_ids = pk_backend_get_strv (backend, "package_ids");
+ PkBitfield filters = (PkBitfield) pk_backend_get_uint (backend, "filters");
+ GPtrArray *store_array = NULL;
+ ZifPackage *package;
+ ZifPackage *package_provide;
+ ZifState *state_local;
+ ZifState *state_loop;
+ const gchar *id;
+ guint i, j;
+ guint len;
+ GError *error = NULL;
+ GPtrArray *array = NULL;
+ GPtrArray *result;
+ GPtrArray *requires;
+ GPtrArray *provides;
+
+ len = g_strv_length (package_ids);
+
+ /* set steps */
+ ret = zif_state_set_steps (priv->state,
+ NULL,
+ 2, /* get stores */
+ 94, /* what depends + provides */
+ 2, /* filter */
+ 2, /* emit */
+ -1);
+ g_assert (ret);
+
+ /* find all the packages */
+ state_local = zif_state_get_child (priv->state);
+ store_array = pk_backend_get_store_array_for_filter (backend,
+ 0,
+ state_local,
+ &error);
+ if (store_array == NULL) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_INTERNAL_ERROR,
+ "failed to get stores: %s", error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* this section done */
+ ret = zif_state_done (priv->state, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* new output array */
+ array = g_ptr_array_new_with_free_func ((GDestroyNotify) g_object_unref);
+
+ pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);
+ for (i=0; package_ids[i] != NULL; i++) {
+ id = package_ids[i];
+
+ /* set up state */
+ state_local = zif_state_get_child (priv->state);
+ ret = zif_state_set_steps (state_local,
+ NULL,
+ 50, /* find package */
+ 25, /* get requires */
+ 25, /* what provides */
+ -1);
+ g_assert (ret);
+
+ /* find package */
+ state_loop = zif_state_get_child (state_local);
+ package = zif_store_array_find_package (store_array,
+ id,
+ state_loop,
+ &error);
+ if (package == NULL) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_PACKAGE_NOT_FOUND,
+ "failed to find %s: %s",
+ package_ids[i],
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* this section done */
+ ret = zif_state_done (state_local, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* get requires */
+ state_loop = zif_state_get_child (state_local);
+ requires = zif_package_get_provides (package, state_loop, &error);
+ if (requires == NULL) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_PACKAGE_NOT_FOUND,
+ "failed to get requires for %s: %s",
+ package_ids[i], error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* this section done */
+ ret = zif_state_done (state_local, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* match a package to each require */
+ state_loop = zif_state_get_child (state_local);
+ provides = zif_store_array_what_requires (store_array,
+ requires,
+ state_loop,
+ &error);
+ if (provides == NULL) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_PACKAGE_NOT_FOUND,
+ "failed to find provide for %s: %s",
+ zif_depend_get_name (g_ptr_array_index (provides, 0)),
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* print all of them */
+ for (j=0;j<provides->len;j++) {
+ package_provide = g_ptr_array_index (provides, j);
+ g_ptr_array_add (array, g_object_ref (package_provide));
+ }
+ g_ptr_array_unref (provides);
+
+ /* this section done */
+ ret = zif_state_done (state_local, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* free */
+ g_object_unref (package);
+ }
+
+ /* this section done */
+ ret = zif_state_done (priv->state, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* filter */
+ result = pk_backend_filter_package_array (array, filters);
+
+ /* this section done */
+ ret = zif_state_done (priv->state, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* done */
+ pk_backend_set_percentage (backend, 100);
+
+ /* emit */
+ state_local = zif_state_get_child (priv->state);
+ pk_backend_emit_package_array (backend, result, state_local);
+
+ /* this section done */
+ ret = zif_state_done (priv->state, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+out:
+ if (array != NULL)
+ g_ptr_array_unref (array);
+ pk_backend_finished (backend);
+ if (store_array != NULL)
+ g_ptr_array_unref (store_array);
+ return TRUE;
+}
+
+/**
+ * pk_backend_get_details_thread:
+ */
+static gboolean
+pk_backend_get_details_thread (PkBackend *backend)
+{
+ const gchar *description;
+ const gchar *group_str;
+ const gchar *id;
+ const gchar *license;
+ const gchar *url;
+ gboolean ret;
+ gchar **package_ids = pk_backend_get_strv (backend, "package_ids");
+ GError *error = NULL;
+ GPtrArray *store_array = NULL;
+ guint64 size;
+ guint i;
+ guint len;
+ PkBitfield filters = PK_FILTER_ENUM_UNKNOWN;
+ PkGroupEnum group;
+ ZifPackage *package;
+ ZifState *state_local;
+ ZifState *state_loop;
+ ZifState *state_tmp;
+
+ len = g_strv_length (package_ids);
+
+ /* set steps */
+ ret = zif_state_set_steps (priv->state,
+ NULL,
+ 4, /* get stores */
+ 96, /* get details */
+ -1);
+ g_assert (ret);
+
+ /* find all the packages */
+ state_local = zif_state_get_child (priv->state);
+ if (pk_backend_is_all_installed (package_ids))
+ pk_bitfield_add (filters, PK_FILTER_ENUM_INSTALLED);
+ store_array = pk_backend_get_store_array_for_filter (backend,
+ filters,
+ state_local,
+ &error);
+ if (store_array == NULL) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_INTERNAL_ERROR,
+ "failed to get stores: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* this section done */
+ ret = zif_state_done (priv->state, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ state_local = zif_state_get_child (priv->state);
+ zif_state_set_number_steps (state_local,
+ g_strv_length (package_ids));
+ pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);
+ for (i=0; package_ids[i] != NULL; i++) {
+ id = package_ids[i];
+
+ /* set up state */
+ state_loop = zif_state_get_child (state_local);
+ ret = zif_state_set_steps (state_loop,
+ NULL,
+ 80, /* find package */
+ 10, /* get licence */
+ 5, /* get group */
+ 1, /* get description */
+ 1, /* get url */
+ 1, /* get size */
+ 2, /* emit */
+ -1);
+ g_assert (ret);
+
+ /* find package */
+ state_tmp = zif_state_get_child (state_loop);
+ package = zif_store_array_find_package (store_array,
+ id,
+ state_tmp,
+ &error);
+ if (package == NULL) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_PACKAGE_NOT_FOUND,
+ "failed to find %s: %s",
+ package_ids[i],
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* this section done */
+ ret = zif_state_done (state_loop, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* get license */
+ state_tmp = zif_state_get_child (state_loop);
+ license = zif_package_get_license (package,
+ state_tmp,
+ NULL);
+
+ /* this section done */
+ ret = zif_state_done (state_loop, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* get group */
+ state_tmp = zif_state_get_child (state_local);
+ group_str = zif_package_get_group (package, state_tmp, &error);
+
+ /* not being in a group is non-fatal */
+ if (group_str == NULL) {
+ g_warning ("failed to get group: %s",
+ error->message);
+ g_clear_error (&error);
+ }
+ group = pk_group_enum_from_text (group_str);
+
+ /* this section done */
+ ret = zif_state_done (state_loop, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* get description */
+ state_tmp = zif_state_get_child (state_loop);
+ description = zif_package_get_description (package,
+ state_tmp,
+ NULL);
+
+ /* this section done */
+ ret = zif_state_done (state_loop, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* get url */
+ state_tmp = zif_state_get_child (state_local);
+ url = zif_package_get_url (package, state_tmp, NULL);
+
+ /* this section done */
+ ret = zif_state_done (state_loop, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* get size */
+ state_tmp = zif_state_get_child (state_local);
+ size = zif_package_get_size (package, state_tmp, NULL);
+
+ /* this section done */
+ ret = zif_state_done (state_loop, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* emit */
+ pk_backend_details (backend,
+ package_ids[i],
+ license,
+ group,
+ description,
+ url,
+ (gulong) size);
+
+ /* this section done */
+ ret = zif_state_done (state_loop, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* this section done */
+ ret = zif_state_done (state_local, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* free */
+ g_object_unref (package);
+ }
+
+ /* this section done */
+ ret = zif_state_done (priv->state, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+out:
+ pk_backend_finished (backend);
+ if (store_array != NULL)
+ g_ptr_array_unref (store_array);
+ return TRUE;
+}
+
+/**
+ * pk_backend_get_distro_upgrades_thread:
+ */
+static gboolean
+pk_backend_get_distro_upgrades_thread (PkBackend *backend)
+{
+ gchar *distro_id;
+ GError *error = NULL;
+ GPtrArray *array = NULL;
+ guint i;
+ ZifUpgrade *upgrade;
+
+ /* one shot */
+ zif_state_reset (priv->state);
+
+ /* get the upgrades */
+ array = zif_release_get_upgrades_new (priv->release, priv->state, &error);
+ if (array == NULL) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_FAILED_CONFIG_PARSING,
+ "could not get latest distro data : %s", error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* emit the results */
+ for (i=0; i<array->len; i++) {
+ upgrade = g_ptr_array_index (array, i);
+ if (!zif_upgrade_get_enabled (upgrade))
+ continue;
+ distro_id = g_strdup_printf ("fedora-%i", zif_upgrade_get_version (upgrade));
+ pk_backend_distro_upgrade (backend,
+ zif_upgrade_get_stable (upgrade) ? PK_DISTRO_UPGRADE_ENUM_STABLE :
+ PK_DISTRO_UPGRADE_ENUM_UNSTABLE,
+ distro_id,
+ zif_upgrade_get_id (upgrade));
+ g_free (distro_id);
+ }
+out:
+ pk_backend_finished (backend);
+ if (array != NULL)
+ g_ptr_array_unref (array);
+ return TRUE;
+}
+
+/**
+ * pk_backend_get_files_thread:
+ */
+static gboolean
+pk_backend_get_files_thread (PkBackend *backend)
+{
+ const gchar *file;
+ const gchar *id;
+ gboolean ret;
+ gchar **package_ids = pk_backend_get_strv (backend, "package_ids");
+ GError *error = NULL;
+ GPtrArray *files;
+ GPtrArray *store_array = NULL;
+ GString *files_str;
+ guint i, j;
+ guint len;
+ PkBitfield filters = PK_FILTER_ENUM_UNKNOWN;
+ ZifPackage *package;
+ ZifState *state_local;
+ ZifState *state_loop;
+ ZifState *state_tmp;
+
+ len = g_strv_length (package_ids);
+
+ /* set steps */
+ ret = zif_state_set_steps (priv->state,
+ NULL,
+ 2, /* get stores */
+ 98, /* get files */
+ -1);
+ g_assert (ret);
+
+ /* find all the packages */
+ state_local = zif_state_get_child (priv->state);
+ if (pk_backend_is_all_installed (package_ids))
+ pk_bitfield_add (filters, PK_FILTER_ENUM_INSTALLED);
+ store_array = pk_backend_get_store_array_for_filter (backend,
+ filters,
+ state_local,
+ &error);
+ if (store_array == NULL) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_INTERNAL_ERROR,
+ "failed to get stores: %s", error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* this section done */
+ ret = zif_state_done (priv->state, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ state_local = zif_state_get_child (priv->state);
+ zif_state_set_number_steps (state_local, g_strv_length (package_ids));
+ pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);
+ for (i=0; package_ids[i] != NULL; i++) {
+ id = package_ids[i];
+ state_loop = zif_state_get_child (state_local);
+
+ /* set steps */
+ ret = zif_state_set_steps (state_loop,
+ NULL,
+ 10, /* find package */
+ 90, /* get files & emit */
+ -1);
+ g_assert (ret);
+
+ state_tmp = zif_state_get_child (state_loop);
+ package = zif_store_array_find_package (store_array,
+ id,
+ state_tmp,
+ &error);
+ if (package == NULL) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_PACKAGE_NOT_FOUND,
+ "failed to find %s: %s",
+ package_ids[i],
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* this section done */
+ ret = zif_state_done (state_loop, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* get files */
+ state_tmp = zif_state_get_child (state_loop);
+ files = zif_package_get_files (package, state_tmp, &error);
+ if (files == NULL) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_INTERNAL_ERROR,
+ "no files for %s: %s",
+ package_ids[i],
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ files_str = g_string_new ("");
+ for (j=0; j<files->len; j++) {
+ file = g_ptr_array_index (files, j);
+ g_string_append_printf (files_str, "%s\n", file);
+ }
+ pk_backend_files (backend, package_ids[i], files_str->str);
+
+ /* this section done */
+ ret = zif_state_done (state_loop, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ g_string_free (files_str, TRUE);
+ g_object_unref (package);
+ }
+out:
+ pk_backend_finished (backend);
+ if (store_array != NULL)
+ g_ptr_array_unref (store_array);
+ return TRUE;
+}
+
+/**
+ * pk_backend_get_updates_thread:
+ */
+static gboolean
+pk_backend_get_updates_thread (PkBackend *backend)
+{
+ PkBitfield filters = (PkBitfield) pk_backend_get_uint (backend, "filters");
+ gboolean ret;
+ gchar **search = NULL;
+ GError *error = NULL;
+ gint val;
+ GPtrArray *array = NULL;
+ GPtrArray *result = NULL;
+ GPtrArray *store_array = NULL;
+ GPtrArray *updates_available = NULL;
+ GPtrArray *updates = NULL;
+ guint i, j;
+ PkInfoEnum info;
+ ZifPackage *package;
+ ZifPackage *package_update;
+ ZifState *state_local;
+ ZifState *state_loop;
+ ZifUpdateKind update_kind;
+ ZifUpdate *update;
+
+ pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);
+
+ /* set steps */
+ ret = zif_state_set_steps (priv->state,
+ NULL,
+ 1, /* get remote stores */
+ 1, /* get installed packages */
+ 3, /* filter newest */
+ 45, /* look in remote stores */
+ 50, /* get updateinfo */
+ -1);
+ g_assert (ret);
+
+ /* get a store_array of remote stores */
+ store_array = zif_store_array_new ();
+ state_local = zif_state_get_child (priv->state);
+ ret = zif_store_array_add_remote_enabled (store_array,
+ state_local,
+ &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_INTERNAL_ERROR,
+ "failed to add enabled stores: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* this section done */
+ ret = zif_state_done (priv->state, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* get all the installed packages */
+ state_local = zif_state_get_child (priv->state);
+ array = zif_store_get_packages (priv->store_local, state_local, &error);
+ if (array == NULL) {
+ g_debug ("failed to get local store: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+ g_debug ("searching for updates with %i packages", array->len);
+
+ /* this section done */
+ ret = zif_state_done (priv->state, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* remove any packages that are not newest (think kernel) */
+ zif_package_array_filter_newest (array);
+
+ /* this section done */
+ ret = zif_state_done (priv->state, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* get updates */
+ search = g_new0 (gchar *, array->len + 1);
+ for (i=0; i<array->len; i++) {
+ package = g_ptr_array_index (array, i);
+ search[i] = g_strdup (zif_package_get_name (package));
+ }
+ state_local = zif_state_get_child (priv->state);
+ zif_state_set_error_handler (priv->state,
+ (ZifStateErrorHandlerCb) pk_backend_error_handler_cb,
+ backend);
+ updates = zif_store_array_resolve (store_array, search, state_local, &error);
+ if (updates == NULL) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_INTERNAL_ERROR,
+ "failed to get updates: %s", error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* some repos contain lots of versions of one package */
+ zif_package_array_filter_newest (updates);
+
+ /* find each one in a remote repo */
+ updates_available = g_ptr_array_new_with_free_func ((GDestroyNotify) g_object_unref);
+ for (i=0; i<array->len; i++) {
+ package = ZIF_PACKAGE (g_ptr_array_index (array, i));
+
+ /* find updates */
+ for (j=0; j<updates->len; j++) {
+ package_update = ZIF_PACKAGE (g_ptr_array_index (updates, j));
+
+ /* newer? */
+ val = zif_package_compare (package_update, package);
+ if (val == G_MAXINT)
+ continue;
+ if (val > 0) {
+ g_debug ("*** update %s from %s to %s",
+ zif_package_get_name (package),
+ zif_package_get_version (package),
+ zif_package_get_version (package_update));
+ g_ptr_array_add (updates_available, g_object_ref (package_update));
+ break;
+ }
+ }
+ }
+
+ /* this section done */
+ ret = zif_state_done (priv->state, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* setup steps on updatinfo state */
+ state_local = zif_state_get_child (priv->state);
+ if (updates_available->len > 0)
+ zif_state_set_number_steps (state_local, updates_available->len);
+
+ /* get update info */
+ for (i=0; i<updates_available->len; i++) {
+ package = g_ptr_array_index (updates_available, i);
+ state_loop = zif_state_get_child (state_local);
+
+ /* updates without updatinfo */
+ info = PK_INFO_ENUM_NORMAL;
+
+ update = zif_package_remote_get_update_detail (ZIF_PACKAGE_REMOTE (package), state_loop, &error);
+ if (update == NULL) {
+ g_debug ("failed to get updateinfo for %s", zif_package_get_id (package));
+ g_clear_error (&error);
+ ret = zif_state_finished (state_loop, NULL);
+ } else {
+ update_kind = zif_update_get_kind (update);
+ if (update_kind == ZIF_UPDATE_KIND_BUGFIX)
+ info = PK_INFO_ENUM_BUGFIX;
+ else if (update_kind == ZIF_UPDATE_KIND_SECURITY)
+ info = PK_INFO_ENUM_SECURITY;
+ else if (update_kind == ZIF_UPDATE_KIND_ENHANCEMENT)
+ info = PK_INFO_ENUM_ENHANCEMENT;
+ g_object_unref (update);
+ }
+
+ /* set new severity */
+ g_object_set_data (G_OBJECT(package), "kind", (gpointer)pk_info_enum_to_string (info));
+
+ /* this section done */
+ ret = zif_state_done (state_local, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+ }
+
+ /* this section done */
+ ret = zif_state_done (priv->state, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* filter */
+ result = pk_backend_filter_package_array (updates_available, filters);
+
+ /* done */
+ pk_backend_set_percentage (backend, 100);
+
+ /* emit */
+ state_local = zif_state_get_child (priv->state);
+ pk_backend_emit_package_array (backend, result, state_local);
+out:
+ pk_backend_finished (backend);
+ if (updates != NULL)
+ g_ptr_array_unref (updates);
+ if (updates_available != NULL)
+ g_ptr_array_unref (updates_available);
+ if (array != NULL)
+ g_ptr_array_unref (array);
+ if (result != NULL)
+ g_ptr_array_unref (result);
+ if (store_array != NULL)
+ g_ptr_array_unref (store_array);
+ g_strfreev (search);
+ return TRUE;
+}
+
+/**
+ * pk_backend_get_changelog_text:
+ */
+static gchar *
+pk_backend_get_changelog_text (GPtrArray *changesets)
+{
+ guint i;
+ ZifChangeset *changeset;
+ GString *text;
+ gchar date_str[128];
+ GDate *date;
+
+ /* create output string */
+ text = g_string_new ("");
+ date = g_date_new ();
+
+ /* go through each one */
+ for (i=0; i<changesets->len; i++) {
+ changeset = g_ptr_array_index (changesets, i);
+
+ /* format the indervidual changeset */
+ g_date_set_time_t (date, zif_changeset_get_date (changeset));
+ g_date_strftime (date_str, 128, "%F", date);
+ g_string_append_printf (text, "**%s** %s - %s\n%s\n\n",
+ date_str,
+ zif_changeset_get_author (changeset),
+ zif_changeset_get_version (changeset),
+ zif_changeset_get_description (changeset));
+ }
+ g_date_free (date);
+ return g_string_free (text, FALSE);
+}
+
+/**
+ * pk_backend_get_update_detail_thread:
+ */
+static gboolean
+pk_backend_get_update_detail_thread (PkBackend *backend)
+{
+ gboolean ret;
+ gchar **package_ids;
+ GError *error = NULL;
+ GPtrArray *store_array = NULL;
+ guint i;
+ guint j;
+ ZifPackage *package;
+ ZifState *state_local;
+ ZifState *state_loop;
+ ZifState *state_tmp;
+ ZifUpdate *update;
+
+ /* get the data */
+ package_ids = pk_backend_get_strv (backend, "package_ids");
+ ret = zif_state_set_steps (priv->state,
+ NULL,
+ 2, /* get stores */
+ 98, /* get update detail */
+ -1);
+ g_assert (ret);
+
+ /* get a store_array of remote stores */
+ store_array = zif_store_array_new ();
+ state_local = zif_state_get_child (priv->state);
+ ret = zif_store_array_add_remote_enabled (store_array,
+ state_local,
+ &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_INTERNAL_ERROR,
+ "failed to add enabled stores: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* this section done */
+ ret = zif_state_done (priv->state, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* get the update info */
+ state_local = zif_state_get_child (priv->state);
+ zif_state_set_number_steps (state_local, g_strv_length (package_ids));
+ for (i=0; package_ids[i] != NULL; i++) {
+
+ state_loop = zif_state_get_child (state_local);
+ ret = zif_state_set_steps (state_loop,
+ NULL,
+ 12, /* find package */
+ 88, /* get update detail */
+ -1);
+ g_assert (ret);
+
+ /* need to get the packages from the find_id */
+ state_tmp = zif_state_get_child (state_loop);
+ package = zif_store_array_find_package (store_array,
+ package_ids[i],
+ state_tmp,
+ &error);
+ if (package == NULL) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_PACKAGE_NOT_FOUND,
+ "failed to find package %s: %s",
+ zif_package_get_id (package),
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* this section done */
+ ret = zif_state_done (state_loop, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ state_tmp = zif_state_get_child (state_loop);
+ update = zif_package_remote_get_update_detail (ZIF_PACKAGE_REMOTE (package),
+ state_tmp,
+ &error);
+ if (update == NULL) {
+ g_debug ("failed to get updateinfo for %s",
+ zif_package_get_id (package));
+ g_clear_error (&error);
+ pk_backend_update_detail (backend, package_ids[i],
+ NULL, NULL, NULL, NULL, NULL,
+ PK_RESTART_ENUM_NONE,
+ "<none>",
+ "No description available",
+ PK_UPDATE_STATE_ENUM_UNKNOWN,
+ NULL, NULL);
+ } else {
+ gchar *changelog_text = NULL;
+ GPtrArray *array;
+ GPtrArray *changesets;
+ GString *string_cve;
+ GString *string_bugzilla;
+ ZifUpdateInfo *info;
+ array = zif_update_get_update_infos (update);
+ string_cve = g_string_new (NULL);
+ string_bugzilla = g_string_new (NULL);
+ for (j=0; j<array->len; j++) {
+ info = g_ptr_array_index (array, j);
+ switch (zif_update_info_get_kind (info)) {
+ case ZIF_UPDATE_INFO_KIND_CVE:
+ g_string_append_printf (string_cve, "%s\t%s\t",
+ zif_update_info_get_title (info),
+ zif_update_info_get_url (info));
+ break;
+ case ZIF_UPDATE_INFO_KIND_BUGZILLA:
+ g_string_append_printf (string_bugzilla, "%s\t%s\t",
+ zif_update_info_get_title (info),
+ zif_update_info_get_url (info));
+ break;
+ default:
+ break;
+ }
+ }
+
+ /* format changelog */
+ changesets = zif_update_get_changelog (update);
+ if (changesets != NULL)
+ changelog_text = pk_backend_get_changelog_text (changesets);
+ pk_backend_update_detail (backend, package_ids[i],
+ NULL, //updates,
+ NULL, //obsoletes,
+ NULL, //vendor_url,
+ string_bugzilla->str,
+ string_cve->str,
+ PK_RESTART_ENUM_NONE,
+ zif_update_get_description (update),
+ changelog_text,
+ zif_update_get_state (update),
+ zif_update_get_issued (update),
+ NULL);
+ if (changesets != NULL)
+ g_ptr_array_unref (changesets);
+ g_ptr_array_unref (array);
+ g_string_free (string_cve, TRUE);
+ g_string_free (string_bugzilla, TRUE);
+ g_free (changelog_text);
+ }
+
+ g_object_unref (package);
+
+ /* this section done */
+ ret = zif_state_done (state_loop, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* this section done */
+ ret = zif_state_done (state_local, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+ }
+
+ /* this section done */
+ ret = zif_state_done (priv->state, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+out:
+ pk_backend_finished (backend);
+ if (store_array != NULL)
+ g_ptr_array_unref (store_array);
+ return TRUE;
+}
+
+/**
+ * pk_backend_convert_transaction_reason_to_info_enum:
+ */
+static PkInfoEnum
+pk_backend_convert_transaction_reason_to_info_enum (ZifTransactionReason reason)
+{
+ switch (reason) {
+ case ZIF_TRANSACTION_REASON_INSTALL_DEPEND:
+ case ZIF_TRANSACTION_REASON_INSTALL_FOR_UPDATE:
+ case ZIF_TRANSACTION_REASON_INSTALL_USER_ACTION:
+ return PK_INFO_ENUM_INSTALLING;
+ case ZIF_TRANSACTION_REASON_REMOVE_AS_ONLYN:
+ case ZIF_TRANSACTION_REASON_REMOVE_FOR_DEP:
+ case ZIF_TRANSACTION_REASON_REMOVE_FOR_UPDATE:
+ case ZIF_TRANSACTION_REASON_REMOVE_OBSOLETE:
+ case ZIF_TRANSACTION_REASON_REMOVE_USER_ACTION:
+ return PK_INFO_ENUM_REMOVING;
+ case ZIF_TRANSACTION_REASON_UPDATE_DEPEND:
+ case ZIF_TRANSACTION_REASON_UPDATE_FOR_CONFLICT:
+ case ZIF_TRANSACTION_REASON_UPDATE_USER_ACTION:
+ return PK_INFO_ENUM_UPDATING;
+ default:
+ return PK_INFO_ENUM_AVAILABLE;
+ }
+}
+
+/**
+ * pk_backend_run_transaction:
+ */
+static gboolean
+pk_backend_run_transaction (PkBackend *backend, ZifState *state)
+{
+ gboolean only_trusted;
+ gboolean ret;
+ gboolean simulate;
+ GError *error = NULL;
+ GPtrArray *array_tmp;
+ GPtrArray *install = NULL;
+ GPtrArray *simulate_array = NULL;
+ guint i, j;
+ PkInfoEnum info_enum;
+ ZifPackage *package;
+ ZifPackageTrustKind trust_kind;
+ ZifState *state_local;
+
+ /* set steps */
+ simulate = pk_backend_get_bool (backend, "hint:simulate");
+ if (simulate) {
+ ret = zif_state_set_steps (state,
+ NULL,
+ 95, /* resolve */
+ 5, /* print packages */
+ -1);
+ } else {
+ ret = zif_state_set_steps (state,
+ NULL,
+ 30, /* resolve */
+ 30, /* prepare */
+ 40, /* commit */
+ -1);
+ }
+ g_assert (ret);
+
+ /* resolve the transaction */
+ state_local = zif_state_get_child (state);
+ ret = zif_transaction_resolve (priv->transaction,
+ state_local,
+ &error);
+ if (!ret) {
+ if (error->domain == ZIF_TRANSACTION_ERROR &&
+ error->code == ZIF_TRANSACTION_ERROR_NOTHING_TO_DO) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_ALL_PACKAGES_ALREADY_INSTALLED,
+ error->message);
+ } else {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_DEP_RESOLUTION_FAILED,
+ "failed to resolve transaction: %s",
+ error->message);
+ }
+ g_error_free (error);
+ goto out;
+ }
+
+ /* this section done */
+ ret = zif_state_done (state, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* list the packages in the transaction */
+ if (simulate) {
+ simulate_array = zif_object_array_new ();
+ for (i=0; i<ZIF_TRANSACTION_REASON_LAST; i++) {
+ if (i == ZIF_TRANSACTION_REASON_REMOVE_FOR_UPDATE)
+ continue;
+ info_enum = pk_backend_convert_transaction_reason_to_info_enum (i);
+ array_tmp = zif_transaction_get_array_for_reason (priv->transaction, i);
+ for (j=0; j<array_tmp->len; j++) {
+ package = g_ptr_array_index (array_tmp, j);
+ g_object_set_data (G_OBJECT(package),
+ "kind",
+ (gpointer)pk_info_enum_to_string (info_enum));
+ zif_object_array_add (simulate_array, package);
+ }
+ g_ptr_array_unref (array_tmp);
+ }
+ state_local = zif_state_get_child (state);
+ pk_backend_emit_package_array (backend, simulate_array, state_local);
+
+ /* this section done */
+ ret = zif_state_done (state, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+ goto out;
+ }
+
+ /* prepare the transaction */
+ state_local = zif_state_get_child (state);
+ ret = zif_transaction_prepare (priv->transaction,
+ state_local,
+ &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_DEP_RESOLUTION_FAILED,
+ "failed to prepare transaction: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* check if any are not trusted */
+ only_trusted = pk_backend_get_bool (backend, "only_trusted");
+ if (only_trusted) {
+ install = zif_transaction_get_install (priv->transaction);
+ for (i=0; i<install->len; i++) {
+ package = g_ptr_array_index (install, i);
+ trust_kind = zif_package_get_trust_kind (package);
+ if (trust_kind != ZIF_PACKAGE_TRUST_KIND_PUBKEY) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_NOT_AUTHORIZED,
+ "package %s is untrusted",
+ zif_package_get_id (package));
+ g_error_free (error);
+ goto out;
+ }
+ }
+ }
+
+ /* this section done */
+ ret = zif_state_done (state, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* commit the transaction */
+ state_local = zif_state_get_child (state);
+ ret = zif_transaction_commit (priv->transaction,
+ state_local,
+ &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_INTERNAL_ERROR,
+ "failed to commit transaction: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* this section done */
+ ret = zif_state_done (state, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+out:
+ if (simulate_array != NULL)
+ g_ptr_array_unref (simulate_array);
+ if (install != NULL)
+ g_ptr_array_unref (install);
+ return ret;
+}
+
+/**
+ * pk_backend_remove_packages_thread:
+ */
+static gboolean
+pk_backend_remove_packages_thread (PkBackend *backend)
+{
+ gboolean ret;
+ gchar **package_ids;
+ GError *error = NULL;
+ GPtrArray *store_array = NULL;
+ guint i;
+ ZifPackage *package;
+ ZifState *state_local;
+ ZifState *state_loop;
+
+ pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);
+ pk_backend_set_percentage (backend, 0);
+
+ /* setup steps */
+ ret = zif_state_set_steps (priv->state,
+ NULL,
+ 10, /* find packages */
+ 90, /* run transaction */
+ -1);
+ g_assert (ret);
+
+ 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));
+ for (i=0; package_ids[i] != NULL; i++) {
+
+ /* find package */
+ state_loop = zif_state_get_child (state_local);
+ package = zif_store_find_package (priv->store_local,
+ package_ids[i],
+ state_loop,
+ &error);
+ if (package == NULL) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_PACKAGE_NOT_FOUND,
+ "failed to find package: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* add it as a remove to the transaction */
+ ret = zif_transaction_add_remove (priv->transaction,
+ package,
+ &error);
+ g_object_unref (package);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_PACKAGE_NOT_FOUND,
+ "failed to add package %s: %s",
+ zif_package_get_id (package),
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* this section done */
+ ret = zif_state_done (state_local, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+ }
+
+ /* this section done */
+ ret = zif_state_done (priv->state, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* run transaction */
+ state_local = zif_state_get_child (priv->state);
+ ret = pk_backend_run_transaction (backend, state_local);
+ if (!ret)
+ goto out;
+
+ /* this section done */
+ ret = zif_state_done (priv->state, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+out:
+ pk_backend_finished (backend);
+ if (store_array != NULL)
+ g_ptr_array_unref (store_array);
+ return TRUE;
+}
+
+/**
+ * pk_backend_update_packages_thread:
+ */
+static gboolean
+pk_backend_update_packages_thread (PkBackend *backend)
+{
+ gboolean ret;
+ gchar **package_ids;
+ GError *error = NULL;
+ GPtrArray *store_array = NULL;
+ guint i;
+ ZifPackage *package;
+ ZifState *state_local;
+ ZifState *state_loop;
+
+ pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);
+ pk_backend_set_percentage (backend, 0);
+
+ /* setup steps */
+ ret = zif_state_set_steps (priv->state,
+ NULL,
+ 10, /* add remote */
+ 10, /* find packages */
+ 80, /* run transaction */
+ -1);
+ g_assert (ret);
+
+ /* get a store_array of remote stores */
+ store_array = zif_store_array_new ();
+ state_local = zif_state_get_child (priv->state);
+ ret = zif_store_array_add_remote_enabled (store_array,
+ state_local,
+ &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_INTERNAL_ERROR,
+ "failed to add enabled stores: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* use these stores for the transaction */
+ zif_transaction_set_stores_remote (priv->transaction, store_array);
+
+ /* this section done */
+ ret = zif_state_done (priv->state, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ 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));
+ for (i=0; package_ids[i] != NULL; i++) {
+
+ /* find package */
+ state_loop = zif_state_get_child (state_local);
+ package = zif_store_array_find_package (store_array,
+ package_ids[i],
+ state_loop,
+ &error);
+ if (package == NULL) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_PACKAGE_NOT_FOUND,
+ "failed to find package: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* add it as an update to the transaction */
+ ret = zif_transaction_add_install_as_update (priv->transaction,
+ package,
+ &error);
+ g_object_unref (package);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_PACKAGE_NOT_FOUND,
+ "failed to add package %s: %s",
+ zif_package_get_id (package),
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* this section done */
+ ret = zif_state_done (state_local, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+ }
+
+ /* this section done */
+ ret = zif_state_done (priv->state, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* run transaction */
+ state_local = zif_state_get_child (priv->state);
+ ret = pk_backend_run_transaction (backend, state_local);
+ if (!ret)
+ goto out;
+
+ /* this section done */
+ ret = zif_state_done (priv->state, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+out:
+ pk_backend_finished (backend);
+ if (store_array != NULL)
+ g_ptr_array_unref (store_array);
+ return TRUE;
+}
+
+/**
+ * pk_backend_install_packages_thread:
+ */
+static gboolean
+pk_backend_install_packages_thread (PkBackend *backend)
+{
+ gboolean ret;
+ gchar **package_ids;
+ GError *error = NULL;
+ GPtrArray *store_array = NULL;
+ guint i;
+ ZifPackage *package;
+ ZifState *state_local;
+ ZifState *state_loop;
+
+ pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);
+ pk_backend_set_percentage (backend, 0);
+
+ /* setup steps */
+ ret = zif_state_set_steps (priv->state,
+ NULL,
+ 10, /* add remote */
+ 10, /* find packages */
+ 80, /* run transaction */
+ -1);
+ g_assert (ret);
+
+ /* get a store_array of remote stores */
+ store_array = zif_store_array_new ();
+ state_local = zif_state_get_child (priv->state);
+ ret = zif_store_array_add_remote_enabled (store_array,
+ state_local,
+ &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_INTERNAL_ERROR,
+ "failed to add enabled stores: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* use these stores for the transaction */
+ zif_transaction_set_stores_remote (priv->transaction, store_array);
+
+ /* this section done */
+ ret = zif_state_done (priv->state, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ 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));
+ for (i=0; package_ids[i] != NULL; i++) {
+
+ /* find package */
+ state_loop = zif_state_get_child (state_local);
+ package = zif_store_array_find_package (store_array,
+ package_ids[i],
+ state_loop,
+ &error);
+ if (package == NULL) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_PACKAGE_NOT_FOUND,
+ "failed to find package: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* add it as an install to the transaction */
+ ret = zif_transaction_add_install (priv->transaction,
+ package,
+ &error);
+ g_object_unref (package);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_PACKAGE_NOT_FOUND,
+ "failed to add package %s: %s",
+ zif_package_get_id (package),
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* this section done */
+ ret = zif_state_done (state_local, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+ }
+
+ /* this section done */
+ ret = zif_state_done (priv->state, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* run transaction */
+ state_local = zif_state_get_child (priv->state);
+ ret = pk_backend_run_transaction (backend, state_local);
+ if (!ret)
+ goto out;
+
+ /* this section done */
+ ret = zif_state_done (priv->state, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+out:
+ pk_backend_finished (backend);
+ if (store_array != NULL)
+ g_ptr_array_unref (store_array);
+ return TRUE;
+}
+
+/**
+ * pk_backend_install_files_thread:
+ */
+static gboolean
+pk_backend_install_files_thread (PkBackend *backend)
+{
+ gboolean ret;
+ gchar **full_paths;
+ GError *error = NULL;
+ GPtrArray *store_array = NULL;
+ guint i;
+ ZifPackage *package;
+ ZifState *state_local;
+
+ pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);
+ pk_backend_set_percentage (backend, 0);
+
+ /* setup steps */
+ ret = zif_state_set_steps (priv->state,
+ NULL,
+ 10, /* add remote */
+ 10, /* find packages */
+ 80, /* run transaction */
+ -1);
+ g_assert (ret);
+
+ /* get a store_array of remote stores */
+ store_array = zif_store_array_new ();
+ state_local = zif_state_get_child (priv->state);
+ ret = zif_store_array_add_remote_enabled (store_array,
+ state_local,
+ &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_INTERNAL_ERROR,
+ "failed to add enabled stores: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* use these stores for the transaction */
+ zif_transaction_set_stores_remote (priv->transaction, store_array);
+
+ /* this section done */
+ ret = zif_state_done (priv->state, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ state_local = zif_state_get_child (priv->state);
+ full_paths = pk_backend_get_strv (backend, "full_paths");
+ zif_state_set_number_steps (state_local, g_strv_length (full_paths));
+ for (i=0; full_paths[i] != NULL; i++) {
+
+ /* find package */
+ package = zif_package_local_new ();
+ ret = zif_package_local_set_from_filename (ZIF_PACKAGE_LOCAL (package),
+ full_paths[i],
+ &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_PACKAGE_NOT_FOUND,
+ "failed to create package for %s: %s",
+ full_paths[i], error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* add it as an install to the transaction */
+ ret = zif_transaction_add_install (priv->transaction,
+ package,
+ &error);
+ g_object_unref (package);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_PACKAGE_NOT_FOUND,
+ "failed to add package %s: %s",
+ zif_package_get_id (package),
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* this section done */
+ ret = zif_state_done (state_local, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+ }
+
+ /* this section done */
+ ret = zif_state_done (priv->state, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* run transaction */
+ state_local = zif_state_get_child (priv->state);
+ ret = pk_backend_run_transaction (backend, state_local);
+ if (!ret)
+ goto out;
+
+ /* this section done */
+ ret = zif_state_done (priv->state, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+out:
+ pk_backend_finished (backend);
+ if (store_array != NULL)
+ g_ptr_array_unref (store_array);
+ return TRUE;
+}
+
+/**
+ * pk_backend_refresh_cache_thread:
+ */
+static gboolean
+pk_backend_refresh_cache_thread (PkBackend *backend)
+{
+ gboolean force = pk_backend_get_bool (backend, "force");
+ gboolean ret;
+ GError *error = NULL;
+ GPtrArray *store_array = NULL;
+ ZifState *state_local;
+
+ /* set steps */
+ ret = zif_state_set_steps (priv->state,
+ NULL,
+ 50, /* get stores */
+ 50, /* refresh them */
+ -1);
+ g_assert (ret);
+
+ pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);
+ pk_backend_set_percentage (backend, 0);
+
+ /* don't nuke the metadata */
+ if (!force) {
+ g_debug ("not supported yet");
+ goto out;
+ }
+
+ /* get a store_array of remote stores */
+ store_array = zif_store_array_new ();
+ state_local = zif_state_get_child (priv->state);
+ ret = zif_store_array_add_remote_enabled (store_array,
+ state_local,
+ &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_INTERNAL_ERROR,
+ "failed to add enabled stores: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* this section done */
+ ret = zif_state_done (priv->state, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* clean all the repos */
+ state_local = zif_state_get_child (priv->state);
+ zif_state_set_error_handler (priv->state, (ZifStateErrorHandlerCb) pk_backend_error_handler_cb, backend);
+ ret = zif_store_array_clean (store_array, state_local, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_INTERNAL_ERROR,
+ "failed to clean: %s", error->message);
+ g_error_free (error);
+ goto out;
+ }
+out:
+ pk_backend_finished (backend);
+ if (store_array != NULL)
+ g_ptr_array_unref (store_array);
+ return TRUE;
+}
+
+/**
+ * pk_backend_get_repo_list_thread:
+ */
+static gboolean
+pk_backend_get_repo_list_thread (PkBackend *backend)
+{
+ gboolean ret;
+ PkBitfield filters = (PkBitfield) pk_backend_get_uint (backend, "filters");
+ guint i;
+ GPtrArray *array = NULL;
+ ZifStoreRemote *store;
+ ZifState *state_local;
+ ZifState *state_loop;
+ ZifState *state_tmp;
+ const gchar *repo_id;
+ const gchar *name;
+ gboolean enabled;
+ gboolean devel;
+ GError *error = NULL;
+
+ pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);
+ pk_backend_set_percentage (backend, 0);
+
+ /* set steps */
+ ret = zif_state_set_steps (priv->state,
+ NULL,
+ 50, /* get stores */
+ 50, /* process and emit */
+ -1);
+ g_assert (ret);
+
+ state_local = zif_state_get_child (priv->state);
+ array = zif_repos_get_stores (priv->repos, state_local, &error);
+ if (array == NULL) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_REPO_NOT_FOUND,
+ "failed to find repos: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* none? */
+ if (array->len == 0) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_REPO_NOT_FOUND,
+ "failed to find any repos");
+ goto out;
+ }
+
+ /* this section done */
+ ret = zif_state_done (priv->state, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* looks at each store */
+ state_local = zif_state_get_child (priv->state);
+ zif_state_set_number_steps (state_local, array->len);
+ for (i=0; i<array->len; i++) {
+ store = g_ptr_array_index (array, i);
+
+ /* allow filtering on devel */
+ state_loop = zif_state_get_child (state_local);
+ if (pk_bitfield_contain (filters, PK_FILTER_ENUM_NOT_DEVELOPMENT)) {
+
+ /* devel, name, enabled */
+ ret = zif_state_set_steps (state_loop,
+ NULL,
+ 50, /* is store devel? */
+ 50, /* get name */
+ 50, /* get enabled */
+ -1);
+ g_assert (ret);
+
+ state_tmp = zif_state_get_child (state_loop);
+ devel = zif_store_remote_is_devel (store, state_tmp, NULL);
+ if (devel)
+ goto skip;
+
+ /* this section done */
+ ret = zif_state_done (state_loop, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+ } else {
+ /* name, enabled */
+ ret = zif_state_set_steps (state_loop,
+ NULL,
+ 50, /* get name */
+ 50, /* get enabled */
+ -1);
+ g_assert (ret);
+ }
+
+ /* get name */
+ state_tmp = zif_state_get_child (state_loop);
+ name = zif_store_remote_get_name (store, state_tmp, NULL);
+
+ /* this section done */
+ ret = zif_state_done (state_loop, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* get state */
+ state_tmp = zif_state_get_child (state_loop);
+ enabled = zif_store_remote_get_enabled (store, state_tmp, NULL);
+
+ /* this section done */
+ ret = zif_state_done (state_loop, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ repo_id = zif_store_get_id (ZIF_STORE (store));
+ pk_backend_repo_detail (backend, repo_id, name, enabled);
+skip:
+ /* this section done */
+ ret = zif_state_done (state_local, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+ }
+
+ /* this section done */
+ ret = zif_state_done (priv->state, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+out:
+ pk_backend_finished (backend);
+ if (array != NULL)
+ g_ptr_array_unref (array);
+ return TRUE;
+}
+
+/**
+ * pk_backend_repo_enable_thread:
+ */
+static gboolean
+pk_backend_repo_enable_thread (PkBackend *backend)
+{
+ ZifStoreRemote *repo = NULL;
+ gboolean ret;
+ GError *error = NULL;
+ gchar *warning = NULL;
+ gboolean enabled = pk_backend_get_bool (backend, "enabled");
+ const gchar *repo_id = pk_backend_get_string (backend, "repo_id");
+
+ pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);
+ pk_backend_set_percentage (backend, 0);
+
+ /* find the right repo */
+ repo = zif_repos_get_store (priv->repos,
+ repo_id, priv->state,
+ &error);
+ if (repo == NULL) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_REPO_NOT_FOUND,
+ "failed to find repo: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* set the state */
+ ret = zif_store_remote_set_enabled (repo, enabled, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_CANNOT_DISABLE_REPOSITORY,
+ "failed to set enable: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* warn if rawhide */
+ if (g_strstr_len (repo_id, -1, "rawhide") != NULL) {
+ warning = g_strdup_printf ("These packages are untested and still under development."
+ "This repository is used for development of new releases.\n\n"
+ "This repository can see significant daily turnover and major "
+ "functionality changes which cause unexpected problems with "
+ "other development packages.\n"
+ "Please use these packages if you want to work with the "
+ "Fedora developers by testing these new development packages.\n\n"
+ "If this is not correct, please disable the %s software source.",
+ repo_id);
+ pk_backend_message (backend,
+ PK_MESSAGE_ENUM_REPO_FOR_DEVELOPERS_ONLY,
+ warning);
+ }
+out:
+ pk_backend_finished (backend);
+ g_free (warning);
+ if (repo != NULL)
+ g_object_unref (repo);
+ return TRUE;
+}
+
+/**
+ * pk_backend_get_categories_thread:
+ */
+static gboolean
+pk_backend_get_categories_thread (PkBackend *backend)
+{
+ gboolean ret;
+ gchar *cat_id;
+ GPtrArray *array = NULL;
+ GPtrArray *stores = NULL;
+ guint i;
+ ZifCategory *cat;
+
+ ZifState *state_local;
+ GError *error = NULL;
+
+ /* set steps */
+ ret = zif_state_set_steps (priv->state,
+ NULL,
+ 25, /* get stores */
+ 60, /* get cats */
+ 15, /* emit */
+ -1);
+ g_assert (ret);
+
+ pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);
+ pk_backend_set_percentage (backend, 0);
+
+ /* get enabled repos */
+ state_local = zif_state_get_child (priv->state);
+ stores = zif_repos_get_stores_enabled (priv->repos,
+ state_local,
+ &error);
+ if (stores == NULL) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_REPO_CONFIGURATION_ERROR,
+ "failed to add remote stores: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* this section done */
+ ret = zif_state_done (priv->state, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* get sorted list of unique categories */
+ state_local = zif_state_get_child (priv->state);
+ zif_state_set_error_handler (priv->state,
+ (ZifStateErrorHandlerCb) pk_backend_error_handler_cb,
+ backend);
+ array = zif_store_array_get_categories (stores, state_local, &error);
+ if (array == NULL) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_GROUP_LIST_INVALID,
+ "failed to add get categories: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* this section done */
+ ret = zif_state_done (priv->state, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* emit each cat obj */
+ for (i=0; i<array->len; i++) {
+ cat = g_ptr_array_index (array, i);
+ /* in the yum backend, we signify a group with a '@' prefix */
+ if (zif_category_get_parent_id (cat) != NULL)
+ cat_id = g_strdup_printf ("@%s", zif_category_get_id (cat));
+ else
+ cat_id = g_strdup (zif_category_get_id (cat));
+ pk_backend_category (backend,
+ zif_category_get_parent_id (cat),
+ cat_id,
+ zif_category_get_name (cat),
+ zif_category_get_summary (cat),
+ zif_category_get_icon (cat));
+ g_free (cat_id);
+ }
+
+ /* this section done */
+ ret = zif_state_done (priv->state, &error);
+ if (!ret) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_TRANSACTION_CANCELLED,
+ "cancelled: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+out:
+ pk_backend_finished (backend);
+ if (array != NULL)
+ g_ptr_array_unref (array);
+ if (stores != NULL)
+ g_ptr_array_unref (stores);
+ return TRUE;
+}
+
+/**
+ * pk_backend_upgrade_system_thread:
+ */
+static gboolean
+pk_backend_upgrade_system_thread (PkBackend *backend)
+{
+ gchar **distro_id_split = NULL;
+ guint version;
+ gboolean ret;
+ PkErrorEnum error_code;
+ GError *error = NULL;
+ ZifReleaseUpgradeKind upgrade_kind_zif = ZIF_RELEASE_UPGRADE_KIND_DEFAULT;
+ PkUpgradeKindEnum upgrade_kind = pk_backend_get_uint (backend, "upgrade_kind");
+ const gchar *distro_id = pk_backend_get_string (backend, "distro_id");
+
+ /* check valid */
+ distro_id_split = g_strsplit (distro_id, "-", -1);
+ if (g_strv_length (distro_id_split) != 2) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_FAILED_CONFIG_PARSING,
+ "distribution id %s invalid",
+ distro_id);
+ goto out;
+ }
+
+ /* check fedora */
+ if (g_strcmp0 (distro_id_split[0], "fedora") != 0) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_FAILED_CONFIG_PARSING,
+ "only 'fedora' is supported");
+ goto out;
+ }
+
+ /* map PK enum to Zif enumerated types */
+ if (upgrade_kind == PK_UPGRADE_KIND_ENUM_MINIMAL)
+ upgrade_kind_zif = ZIF_RELEASE_UPGRADE_KIND_MINIMAL;
+ else if (upgrade_kind == PK_UPGRADE_KIND_ENUM_COMPLETE)
+ upgrade_kind_zif = ZIF_RELEASE_UPGRADE_KIND_COMPLETE;
+
+ /* do the upgrade */
+ version = atoi (distro_id_split[1]);
+ ret = zif_release_upgrade_version (priv->release,
+ version,
+ upgrade_kind_zif,
+ priv->state,
+ &error);
+ if (!ret) {
+ /* convert the ZifRelease error code into a PK error enum */
+ switch (error->code) {
+ case ZIF_RELEASE_ERROR_DOWNLOAD_FAILED:
+ error_code = PK_ERROR_ENUM_PACKAGE_DOWNLOAD_FAILED;
+ break;
+ case ZIF_RELEASE_ERROR_FILE_INVALID:
+ error_code = PK_ERROR_ENUM_FAILED_CONFIG_PARSING;
+ break;
+ case ZIF_RELEASE_ERROR_LOW_DISKSPACE:
+ error_code = PK_ERROR_ENUM_NO_SPACE_ON_DEVICE;
+ break;
+ case ZIF_RELEASE_ERROR_NOT_FOUND:
+ error_code = PK_ERROR_ENUM_PACKAGE_NOT_FOUND;
+ break;
+ case ZIF_RELEASE_ERROR_NOT_SUPPORTED:
+ error_code = PK_ERROR_ENUM_NOT_SUPPORTED;
+ break;
+ case ZIF_RELEASE_ERROR_NO_UUID_FOR_ROOT:
+ case ZIF_RELEASE_ERROR_SETUP_INVALID:
+ case ZIF_RELEASE_ERROR_SPAWN_FAILED:
+ case ZIF_RELEASE_ERROR_WRITE_FAILED:
+ error_code = PK_ERROR_ENUM_INTERNAL_ERROR;
+ break;
+ default:
+ error_code = PK_ERROR_ENUM_INTERNAL_ERROR;
+ }
+ pk_backend_error_code (backend,
+ error_code,
+ "failed to upgrade: %s",
+ error->message);
+ g_error_free (error);
+ goto out;
+ }
+out:
+ pk_backend_finished (backend);
+ g_strfreev (distro_id_split);
+ return TRUE;
+}
+
+/**
+ * pk_backend_download_packages:
+ */
+void
+pk_backend_download_packages (PkBackend *backend, gchar **package_ids,
+ const gchar *directory)
+{
+ pk_backend_thread_create (backend, pk_backend_download_packages_thread);
+}
+
+/**
+ * pk_backend_get_categories:
+ */
+void
+pk_backend_get_categories (PkBackend *backend)
+{
+ pk_backend_thread_create (backend, pk_backend_get_categories_thread);
+}
+
+/**
+ * pk_backend_get_depends:
+ */
+void
+pk_backend_get_depends (PkBackend *backend, PkBitfield filters,
+ gchar **package_ids, gboolean recursive)
+{
+ pk_backend_thread_create (backend, pk_backend_get_depends_thread);
+}
+
+/**
+ * pk_backend_get_details:
+ */
+void
+pk_backend_get_details (PkBackend *backend, gchar **package_ids)
+{
+ pk_backend_thread_create (backend, pk_backend_get_details_thread);
+}
+
+/**
+ * pk_backend_get_distro_upgrades:
+ */
+void
+pk_backend_get_distro_upgrades (PkBackend *backend)
+{
+ pk_backend_thread_create (backend, pk_backend_get_distro_upgrades_thread);
+}
+
+/**
+ * pk_backend_get_files:
+ */
+void
+pk_backend_get_files (PkBackend *backend, gchar **package_ids)
+{
+ pk_backend_thread_create (backend, pk_backend_get_files_thread);
+}
+
+/**
+ * pk_backend_get_packages:
+ */
+void
+pk_backend_get_packages (PkBackend *backend, PkBitfield filters)
+{
+ pk_backend_thread_create (backend, pk_backend_search_thread);
+}
+
+/**
+ * pk_backend_get_repo_list:
+ */
+void
+pk_backend_get_repo_list (PkBackend *backend, PkBitfield filters)
+{
+ pk_backend_thread_create (backend, pk_backend_get_repo_list_thread);
+}
+
+/**
+ * pk_backend_get_requires:
+ */
+void
+pk_backend_get_requires (PkBackend *backend, PkBitfield filters,
+ gchar **package_ids, gboolean recursive)
+{
+ pk_backend_thread_create (backend, pk_backend_get_requires_thread);
+}
+
+/**
+ * pk_backend_get_update_detail:
+ */
+void
+pk_backend_get_update_detail (PkBackend *backend, gchar **package_ids)
+{
+ pk_backend_thread_create (backend, pk_backend_get_update_detail_thread);
+}
+
+/**
+ * pk_backend_get_updates:
+ */
+void
+pk_backend_get_updates (PkBackend *backend, PkBitfield filters)
+{
+ pk_backend_thread_create (backend, pk_backend_get_updates_thread);
+}
+
+/**
+ * pk_backend_install_files:
+ */
+void
+pk_backend_install_files (PkBackend *backend, gboolean only_trusted,
+ gchar **full_paths)
+{
+ pk_backend_thread_create (backend, pk_backend_install_files_thread);
+}
+
+/**
+ * pk_backend_install_packages:
+ */
+void
+pk_backend_install_packages (PkBackend *backend, gboolean only_trusted,
+ gchar **package_ids)
+{
+ pk_backend_thread_create (backend, pk_backend_install_packages_thread);
+}
+
+/**
+ * pk_backend_refresh_cache:
+ */
+void
+pk_backend_refresh_cache (PkBackend *backend, gboolean force)
+{
+ /* check network state */
+ if (!pk_backend_is_online (backend)) {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_NO_NETWORK,
+ "Cannot refresh cache whilst offline");
+ pk_backend_finished (backend);
+ return;
+ }
+ pk_backend_thread_create (backend, pk_backend_refresh_cache_thread);
+}
+
+/**
+ * pk_backend_remove_packages:
+ */
+void
+pk_backend_remove_packages (PkBackend *backend, gchar **package_ids,
+ gboolean allow_deps, gboolean autoremove)
+{
+ pk_backend_thread_create (backend, pk_backend_remove_packages_thread);
+}
+
+/**
+ * pk_backend_repo_enable:
+ */
+void
+pk_backend_repo_enable (PkBackend *backend, const gchar *repo_id, gboolean enabled)
+{
+ pk_backend_thread_create (backend, pk_backend_repo_enable_thread);
+}
+
+/**
+ * pk_backend_resolve:
+ */
+void
+pk_backend_resolve (PkBackend *backend, PkBitfield filters, gchar **packages)
+{
+ pk_backend_set_strv (backend, "search", packages);
+ pk_backend_thread_create (backend, pk_backend_search_thread);
+}
+
+/**
+ * pk_backend_search_details:
+ */
+void
+pk_backend_search_details (PkBackend *backend, PkBitfield filters, gchar **values)
+{
+ pk_backend_thread_create (backend, pk_backend_search_thread);
+}
+
+/**
+ * pk_backend_search_files:
+ */
+void
+pk_backend_search_files (PkBackend *backend, PkBitfield filters, gchar **values)
+{
+ pk_backend_thread_create (backend, pk_backend_search_thread);
+}
+
+/**
+ * pk_backend_search_groups:
+ */
+void
+pk_backend_search_groups (PkBackend *backend, PkBitfield filters, gchar **values)
+{
+ pk_backend_thread_create (backend, pk_backend_search_thread);
+}
+
+/**
+ * pk_backend_search_names:
+ */
+void
+pk_backend_search_names (PkBackend *backend, PkBitfield filters, gchar **values)
+{
+ pk_backend_thread_create (backend, pk_backend_search_thread);
+}
+
+/**
+ * pk_backend_simulate_install_files:
+ */
+void
+pk_backend_simulate_install_files (PkBackend *backend, gchar **full_paths)
+{
+ pk_backend_thread_create (backend, pk_backend_install_files_thread);
+}
+
+/**
+ * pk_backend_simulate_install_packages:
+ */
+void
+pk_backend_simulate_install_packages (PkBackend *backend, gchar **package_ids)
+{
+ pk_backend_thread_create (backend, pk_backend_install_packages_thread);
+}
+
+/**
+ * pk_backend_simulate_remove_packages:
+ */
+void
+pk_backend_simulate_remove_packages (PkBackend *backend, gchar **package_ids,
+ gboolean autoremove)
+{
+ pk_backend_thread_create (backend, pk_backend_remove_packages_thread);
+}
+
+/**
+ * pk_backend_simulate_update_packages:
+ */
+void
+pk_backend_simulate_update_packages (PkBackend *backend, gchar **package_ids)
+{
+ pk_backend_thread_create (backend, pk_backend_update_packages_thread);
+}
+
+/**
+ * pk_backend_update_packages:
+ */
+void
+pk_backend_update_packages (PkBackend *backend, gboolean only_trusted, gchar **package_ids)
+{
+ pk_backend_thread_create (backend, pk_backend_update_packages_thread);
+}
+
+/**
+ * pk_backend_upgrade_system:
+ */
+void
+pk_backend_upgrade_system (PkBackend *backend,
+ const gchar *distro_id,
+ PkUpgradeKindEnum upgrade_kind)
+{
+ pk_backend_thread_create (backend, pk_backend_upgrade_system_thread);
+}
+
+/**
+ * pk_backend_what_provides:
+ */
+void
+pk_backend_what_provides (PkBackend *backend, PkBitfield filters,
+ PkProvidesEnum provides, gchar **values)
+{
+ guint i;
+ guint len;
+ gchar **search = NULL;
+ GPtrArray *array = NULL;
+
+ /* iter on each provide string, and wrap it with the fedora prefix */
+ len = g_strv_length (values);
+ array = g_ptr_array_new_with_free_func (g_free);
+ for (i=0; i<len; i++) {
+ /* compatibility with previous versions of GPK */
+ if (g_str_has_prefix (values[i], "gstreamer0.10(")) {
+ g_ptr_array_add (array, g_strdup (values[i]));
+ } else if (provides == PK_PROVIDES_ENUM_CODEC) {
+ g_ptr_array_add (array, g_strdup_printf ("gstreamer0.10(%s)", values[i]));
+ } else if (provides == PK_PROVIDES_ENUM_FONT) {
+ g_ptr_array_add (array, g_strdup_printf ("font(%s)", values[i]));
+ } else if (provides == PK_PROVIDES_ENUM_MIMETYPE) {
+ g_ptr_array_add (array, g_strdup_printf ("mimehandler(%s)", values[i]));
+ } else if (provides == PK_PROVIDES_ENUM_POSTSCRIPT_DRIVER) {
+ g_ptr_array_add (array, g_strdup_printf ("postscriptdriver(%s)", values[i]));
+ } else if (provides == PK_PROVIDES_ENUM_ANY) {
+ g_ptr_array_add (array, g_strdup_printf ("gstreamer0.10(%s)", values[i]));
+ g_ptr_array_add (array, g_strdup_printf ("font(%s)", values[i]));
+ g_ptr_array_add (array, g_strdup_printf ("mimehandler(%s)", values[i]));
+ g_ptr_array_add (array, g_strdup_printf ("postscriptdriver(%s)", values[i]));
+ } else {
+ pk_backend_error_code (backend,
+ PK_ERROR_ENUM_PROVIDE_TYPE_NOT_SUPPORTED,
+ "provide type %s not supported", pk_provides_enum_to_string (provides));
+ }
+ }
+
+ /* set the search terms and run */
+ search = pk_ptr_array_to_strv (array);
+ pk_backend_set_strv (backend, "search", search);
+ pk_backend_thread_create (backend, pk_backend_search_thread);
+ g_strfreev (search);
+ g_ptr_array_unref (array);
+}
diff --git a/backends/zif/zif-comps-groups.conf b/backends/zif/zif-comps-groups.conf
new file mode 120000
index 0000000..815b263
--- /dev/null
+++ b/backends/zif/zif-comps-groups.conf
@@ -0,0 +1 @@
+../yum/yum-comps-groups.conf
\ No newline at end of file
diff --git a/configure.ac b/configure.ac
index d044d05..bb4b1c7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -497,6 +497,7 @@ AC_ARG_ENABLE(slapt, AS_HELP_STRING([--enable-slapt],[use the slapt backend]),en
AC_ARG_ENABLE(smart, AS_HELP_STRING([--enable-smart],[use the SMART backend]),enable_smart=$enableval,enable_smart=no)
AC_ARG_ENABLE(urpmi, AS_HELP_STRING([--enable-urpmi],[use the URPMI backend]),enable_urpmi=$enableval,enable_urpmi=no)
AC_ARG_ENABLE(yum, AS_HELP_STRING([--enable-yum],[use the YUM backend]),enable_yum=$enableval,enable_yum=no)
+AC_ARG_ENABLE(zif, AS_HELP_STRING([--enable-zif],[use the Zif backend]),enable_zif=$enableval,enable_zif=no)
AC_ARG_ENABLE(zypp, AS_HELP_STRING([--enable-zypp],[use the Zypp backend]),enable_zypp=$enableval,enable_zypp=no)
# export to Makefile.am's
@@ -518,6 +519,7 @@ AM_CONDITIONAL(BACKEND_TYPE_SLAPT, [test x$enable_slapt = xyes])
AM_CONDITIONAL(BACKEND_TYPE_SMART, [test x$enable_smart = xyes])
AM_CONDITIONAL(BACKEND_TYPE_URPMI, [test x$enable_urpmi = xyes])
AM_CONDITIONAL(BACKEND_TYPE_YUM, [test x$enable_yum = xyes])
+AM_CONDITIONAL(BACKEND_TYPE_ZIF, [test x$enable_zif = xyes])
AM_CONDITIONAL(BACKEND_TYPE_ZYPP, [test x$enable_zypp = xyes])
dnl ---------------------------------------------------------------------------
@@ -589,11 +591,13 @@ dnl ---------------------------------------------------------------------------
AC_ARG_WITH([default_backend],
AS_HELP_STRING([--with-default-backend=<option>],
[Default backend to use
- alpm,apt,aptcc,box,conary,dummy,entropy,opkg,pisi,portage,ports,razor,slapt,smart,urpmi,yum,zypp (dummy)]))
+ alpm,apt,aptcc,box,conary,dummy,entropy,opkg,pisi,portage,ports,razor,slapt,smart,urpmi,yum,zif,zypp (dummy)]))
# default to a sane option for the installed tool
if test x$with_default_backend = x; then
if test -f /usr/bin/yum ; then
with_default_backend=yum
+ elif test -f /usr/bin/zif; then
+ with_default_backend=zif
elif test -f /usr/lib/libalpm.so; then
with_default_backend=alpm
elif test -f /usr/bin/apt-get ; then
@@ -633,7 +637,7 @@ AC_DEFINE_UNQUOTED(DEFAULT_BACKEND, "$with_default_backend", [default backend pr
AC_SUBST(DEFAULT_BACKEND, "$with_default_backend")
build_zif=no
-if test x$enable_yum = xyes; then
+if test x$enable_zif = xyes; then
dnl ---------------------------------------------------------------------------
dnl - Zif is an experimental library for direct metadata access
dnl ---------------------------------------------------------------------------
@@ -801,6 +805,7 @@ backends/urpmi/helpers/perl_packagekit/Makefile
backends/urpmi/helpers/urpmi_backend/Makefile
backends/razor/Makefile
backends/yum/Makefile
+backends/zif/Makefile
backends/pisi/Makefile
backends/poldek/Makefile
backends/portage/Makefile
@@ -874,7 +879,7 @@ echo "
SMART backend: ${enable_smart}
URPMI backend: ${enable_urpmi}
YUM backend: ${enable_yum}
- (with zif): ${build_zif}
+ Zif backend: ${enable_zif}
Zypp backend: ${enable_zypp}
Default backend: ${with_default_backend}
"
diff --git a/contrib/PackageKit.spec.in b/contrib/PackageKit.spec.in
index 28bb44b..619fc64 100644
--- a/contrib/PackageKit.spec.in
+++ b/contrib/PackageKit.spec.in
@@ -48,6 +48,7 @@ BuildRequires: pango-devel
BuildRequires: pm-utils-devel
BuildRequires: fontconfig-devel
BuildRequires: gobject-introspection-devel
+BuildRequires: zif-devel >= 0.1.3
# functionality moved to udev itself
Obsoletes: PackageKit-udev-helper < %{version}-%{release}
@@ -238,6 +239,7 @@ user to restart the computer or remove and re-insert the device.
%configure \
--disable-static \
--enable-yum \
+ --enable-zif \
%if 0%{?rhel} == 0
--enable-smart \
--enable-introspection \
commit f55217c77383c3eaf1aa4bbf5cbae529dca2c32c
Author: Matthias Klumpp <matthias at nlinux.org>
Date: Sun Nov 28 19:12:50 2010 +0100
trivial: Point to Gitorious repo on download page
Set the new Gitorious repos as place for PackageKit
daemon development.
diff --git a/docs/html/pk-download.html b/docs/html/pk-download.html
index aae23a9..e6547f4 100644
--- a/docs/html/pk-download.html
+++ b/docs/html/pk-download.html
@@ -178,11 +178,11 @@ Just make sure you install PackageKit before gnome-packagekit!
<h2>Compiling the latest code</h2>
<p>
You can get the latest PackageKit daemon and GNOME frontend from the
-<a href="http://cgit.freedesktop.org/packagekit/">public git repositories</a>
-on <a href="http://www.freedesktop.org">freedesktop.org</a>:
+<a href="http://gitorious.org/packagekit/packagekit">public git repositories</a>
+on <a href="http://gitorious.org/">gitorious.org</a>:
</p>
<pre>
-git clone git://anongit.freedesktop.org/git/packagekit/PackageKit
+git clone git://gitorious.org/packagekit/packagekit.git
git clone git://git.gnome.org/gnome-packagekit
</pre>
<p>
commit 3edf4f46e219372f8a73d572977565c443193c3e
Author: Jonathan Conder <jonno.conder at gmail.com>
Date: Sat Nov 27 22:58:53 2010 +1300
pacman: actually fix recursive logging
diff --git a/backends/pacman/backend-pacman.c b/backends/pacman/backend-pacman.c
index 6ed13a0..d22333e 100644
--- a/backends/pacman/backend-pacman.c
+++ b/backends/pacman/backend-pacman.c
@@ -42,23 +42,26 @@ pacman_message_cb (const gchar *domain, GLogLevelFlags level, const gchar *messa
g_return_if_fail (message != NULL);
g_return_if_fail (user_data != NULL);
+/* disable due to recursive logging, will fix via improving alpm backend */
+#if 0
/* report important output to PackageKit */
switch (level) {
case G_LOG_LEVEL_WARNING:
case G_LOG_LEVEL_MESSAGE:
- /*g_warning ("pacman: %s", message);*/
+ g_warning ("pacman: %s", message);
backend_message ((PkBackend *) user_data, message);
break;
case G_LOG_LEVEL_INFO:
case G_LOG_LEVEL_DEBUG:
- /*g_debug ("pacman: %s", message);*/
+ g_debug ("pacman: %s", message);
break;
default:
- /*g_warning ("pacman: %s", message);*/
+ g_warning ("pacman: %s", message);
break;
}
+#endif
}
/**
commit f99d2b4dfe0e51b0eb9c3579e8ed7b54a49ddbcb
Author: Yuri Chornoivan <yurchor at ukr.net>
Date: Fri Nov 26 13:51:07 2010 +0000
l10n: Updated Ukrainian (uk) translation to 100%
New status: 375 messages complete with 0 fuzzies and 0 untranslated.
Transmitted-via: Transifex (www.transifex.net).
diff --git a/po/uk.po b/po/uk.po
index fdc263c..ee68575 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -7,128 +7,131 @@ msgid ""
msgstr ""
"Project-Id-Version: packagekit.master\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-07-01 12:08+0000\n"
-"PO-Revision-Date: 2010-07-01 21:13+0300\n"
+"POT-Creation-Date: 2010-11-26 08:16+0000\n"
+"PO-Revision-Date: 2010-11-26 15:48+0200\n"
"Last-Translator: Yuri Chornoivan <yurchor at ukr.net>\n"
"Language-Team: Ukrainian <translation at linux.org.ua>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
-"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Lokalize 1.1\n"
#. TRANSLATORS: this is an atomic transaction
#. TRANSLATORS: the role is the point of the transaction, e.g. update-system
-#: ../client/pk-console.c:176 ../client/pk-console.c:598
+#: ../client/pk-console.c:174
+#: ../client/pk-console.c:596
msgid "Transaction"
msgstr "ÐпеÑаÑÑÑ"
#. TRANSLATORS: this is the time the transaction was started in system timezone
-#: ../client/pk-console.c:178
+#: ../client/pk-console.c:176
msgid "System time"
msgstr "СиÑÑемний ÑаÑ"
#. TRANSLATORS: this is if the transaction succeeded or not
-#: ../client/pk-console.c:180
+#: ../client/pk-console.c:178
msgid "Succeeded"
msgstr "УÑпÑÑне"
-#: ../client/pk-console.c:180
+#: ../client/pk-console.c:178
msgid "True"
msgstr "Так"
-#: ../client/pk-console.c:180
+#: ../client/pk-console.c:178
msgid "False"
msgstr "ÐÑ"
#. TRANSLATORS: this is the transactions role, e.g. "update-system"
#. TRANSLATORS: the trasaction role, e.g. update-system
-#: ../client/pk-console.c:182 ../src/pk-polkit-action-lookup.c:332
+#: ../client/pk-console.c:180
+#: ../src/pk-polkit-action-lookup.c:332
msgid "Role"
msgstr "РолÑ"
#. TRANSLATORS: this is The duration of the transaction
-#: ../client/pk-console.c:187
+#: ../client/pk-console.c:185
msgid "Duration"
msgstr "ТÑивалÑÑÑÑ"
-#: ../client/pk-console.c:187
+#: ../client/pk-console.c:185
msgid "(seconds)"
msgstr "(ÑекÑнд)"
#. TRANSLATORS: this is The command line used to do the action
#. TRANSLATORS: the command line of the thing that wants the authentication
-#: ../client/pk-console.c:191 ../src/pk-polkit-action-lookup.c:346
+#: ../client/pk-console.c:189
+#: ../src/pk-polkit-action-lookup.c:346
msgid "Command line"
msgstr "Ðомандний ÑÑдок"
#. TRANSLATORS: this is the user ID of the user that started the action
-#: ../client/pk-console.c:193
+#: ../client/pk-console.c:191
msgid "User ID"
msgstr "ÐРкоÑиÑÑÑваÑа"
#. TRANSLATORS: this is the username, e.g. hughsie
-#: ../client/pk-console.c:200
+#: ../client/pk-console.c:198
msgid "Username"
msgstr "ÐоÑиÑÑÑваÑ"
#. TRANSLATORS: this is the users real name, e.g. "Richard Hughes"
-#: ../client/pk-console.c:204
+#: ../client/pk-console.c:202
msgid "Real name"
msgstr "СпÑÐ°Ð²Ð¶Ð½Ñ ÑмâÑ"
-#: ../client/pk-console.c:212
+#: ../client/pk-console.c:210
msgid "Affected packages:"
msgstr "ÐадÑÑÐ½Ñ Ð¿Ð°ÐºÑнки:"
-#: ../client/pk-console.c:214
+#: ../client/pk-console.c:212
msgid "Affected packages: None"
msgstr "ÐадÑÑÐ½Ñ Ð¿Ð°ÐºÑнки: ÐемаÑ"
#. TRANSLATORS: this is the distro, e.g. Fedora 10
-#: ../client/pk-console.c:249
+#: ../client/pk-console.c:247
msgid "Distribution"
msgstr "ÐиÑÑÑибÑÑив"
#. TRANSLATORS: this is type of update, stable or testing
-#: ../client/pk-console.c:251
+#: ../client/pk-console.c:249
msgid "Type"
msgstr "Тип"
#. TRANSLATORS: this is any summary text describing the upgrade
#. TRANSLATORS: this is the summary of the group
-#: ../client/pk-console.c:253 ../client/pk-console.c:292
+#: ../client/pk-console.c:251
+#: ../client/pk-console.c:290
msgid "Summary"
msgstr "РезÑме"
#. TRANSLATORS: this is the group category name
-#: ../client/pk-console.c:281
+#: ../client/pk-console.c:279
msgid "Category"
msgstr "ÐаÑегоÑÑÑ"
#. TRANSLATORS: this is group identifier
-#: ../client/pk-console.c:283
+#: ../client/pk-console.c:281
msgid "ID"
msgstr "ÐÐ"
#. TRANSLATORS: this is the parent group
-#: ../client/pk-console.c:286
+#: ../client/pk-console.c:284
msgid "Parent"
msgstr "ÐаÑÑкÑвÑÑка"
#. TRANSLATORS: this is the name of the parent group
-#: ../client/pk-console.c:289
+#: ../client/pk-console.c:287
msgid "Name"
msgstr "Ðазва"
#. TRANSLATORS: this is preferred icon for the group
-#: ../client/pk-console.c:295
+#: ../client/pk-console.c:293
msgid "Icon"
msgstr "ÐнаÑок"
#. TRANSLATORS: this is a header for the package that can be updated
-#: ../client/pk-console.c:341
+#: ../client/pk-console.c:339
msgid "Details about the update:"
msgstr "ÐодÑобиÑÑ Ñодо оновленнÑ:"
@@ -137,9 +140,10 @@ msgstr "ÐодÑобиÑÑ Ñодо оновленнÑ:"
#. TRANSLATORS: the package that is not signed by a known key
#. TRANSLATORS: the package name that was trying to be installed
#. TRANSLATORS: title, the names of the packages that the method is processing
-#: ../client/pk-console.c:347 ../client/pk-console.c:617
-#: ../lib/packagekit-glib2/pk-task-text.c:126
-#: ../lib/packagekit-glib2/pk-task-text.c:208
+#: ../client/pk-console.c:345
+#: ../client/pk-console.c:615
+#: ../lib/packagekit-glib2/pk-task-text.c:124
+#: ../lib/packagekit-glib2/pk-task-text.c:206
#: ../src/pk-polkit-action-lookup.c:357
msgid "Package"
msgid_plural "Packages"
@@ -148,204 +152,200 @@ msgstr[1] "ÐакÑнки"
msgstr[2] "ÐакÑнки"
#. TRANSLATORS: details about the update, any packages that this update updates
-#: ../client/pk-console.c:350
+#: ../client/pk-console.c:348
msgid "Updates"
msgstr "ÐновлÑÑ"
#. TRANSLATORS: details about the update, any packages that this update obsoletes
-#: ../client/pk-console.c:354
+#: ../client/pk-console.c:352
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:358 ../lib/packagekit-glib2/pk-task-text.c:211
+#: ../client/pk-console.c:356
+#: ../lib/packagekit-glib2/pk-task-text.c:209
msgid "Vendor"
msgstr "ÐоÑÑаÑалÑник"
#. TRANSLATORS: details about the update, the bugzilla URLs
-#: ../client/pk-console.c:362
+#: ../client/pk-console.c:360
msgid "Bugzilla"
msgstr "Bugzilla"
#. TRANSLATORS: details about the update, the CVE URLs
-#: ../client/pk-console.c:366
+#: ../client/pk-console.c:364
msgid "CVE"
msgstr "CVE"
#. TRANSLATORS: details about the update, if the package requires a restart
-#: ../client/pk-console.c:370
+#: ../client/pk-console.c:368
msgid "Restart"
msgstr "ÐеÑезапÑÑк"
#. TRANSLATORS: details about the update, any description of the update
-#: ../client/pk-console.c:374
+#: ../client/pk-console.c:372
msgid "Update text"
msgstr "ТекÑÑ Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ"
#. TRANSLATORS: details about the update, the changelog for the package
-#: ../client/pk-console.c:378
+#: ../client/pk-console.c:376
msgid "Changes"
msgstr "ÐмÑни"
#. TRANSLATORS: details about the update, the ongoing state of the update
-#: ../client/pk-console.c:382
+#: ../client/pk-console.c:380
msgid "State"
msgstr "СÑан"
#. TRANSLATORS: details about the update, date the update was issued
-#: ../client/pk-console.c:386
+#: ../client/pk-console.c:384
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:390 ../lib/packagekit-glib2/pk-console-shared.c:517
+#: ../client/pk-console.c:388
+#: ../lib/packagekit-glib2/pk-console-shared.c:515
msgid "Updated"
msgstr "Ðновлено"
#. TRANSLATORS: if the repo is enabled
-#: ../client/pk-console.c:426
+#: ../client/pk-console.c:424
msgid "Enabled"
msgstr "УвÑмкнено"
#. TRANSLATORS: if the repo is disabled
-#: ../client/pk-console.c:429
+#: ../client/pk-console.c:427
msgid "Disabled"
msgstr "Ðимкнено"
#. TRANSLATORS: a package requires the system to be restarted
-#: ../client/pk-console.c:461
+#: ../client/pk-console.c:459
msgid "System restart required by:"
msgstr "ÐеÑезаванÑÐ°Ð¶ÐµÐ½Ð½Ñ ÑиÑÑеми поÑÑÑбне длÑ:"
#. TRANSLATORS: a package requires the session to be restarted
-#: ../client/pk-console.c:464
+#: ../client/pk-console.c:462
msgid "Session restart required:"
msgstr "ÐеÑезапÑÑк ÑеанÑÑ Ð¿Ð¾ÑÑÑбен:"
#. TRANSLATORS: a package requires the system to be restarted due to a security update
-#: ../client/pk-console.c:467
+#: ../client/pk-console.c:465
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:470
+#: ../client/pk-console.c:468
msgid "Session restart (security) required:"
msgstr "ÐоÑÑÑбен пеÑезапÑÑк ÑеанÑÑ (безпека):"
#. TRANSLATORS: a package requires the application to be restarted
-#: ../client/pk-console.c:473
+#: ../client/pk-console.c:471
msgid "Application restart required by:"
msgstr "ÐоÑÑÑбен пеÑезапÑÑк пÑогÑами длÑ:"
#. TRANSLATORS: This a list of details about the package
-#: ../client/pk-console.c:508
+#: ../client/pk-console.c:506
msgid "Package description"
msgstr "ÐÐ¿Ð¸Ñ Ð¿Ð°ÐºÑнка"
#. TRANSLATORS: This a message (like a little note that may be of interest) from the transaction
-#: ../client/pk-console.c:539
+#: ../client/pk-console.c:537
msgid "Message:"
msgstr "ÐовÑдомленнÑ:"
#. TRANSLATORS: This where the package has no files
-#: ../client/pk-console.c:560
+#: ../client/pk-console.c:558
msgid "No files"
msgstr "Ðез ÑайлÑв"
#. TRANSLATORS: This a list files contained in the package
-#: ../client/pk-console.c:565
+#: ../client/pk-console.c:563
msgid "Package files"
msgstr "Файли пакÑнка"
#. TRANSLATORS: the percentage complete of the transaction
-#: ../client/pk-console.c:633
+#: ../client/pk-console.c:631
msgid "Percentage"
msgstr "ÐÑдÑоÑки"
#. TRANSLATORS: the status of the transaction (e.g. downloading)
-#: ../client/pk-console.c:651
+#: ../client/pk-console.c:649
msgid "Status"
msgstr "СÑан"
#. TRANSLATORS: the results from the transaction
-#: ../client/pk-console.c:680
+#: ../client/pk-console.c:678
msgid "Results:"
msgstr "РезÑлÑÑаÑ:"
#. TRANSLATORS: we failed to get any results, which is pretty fatal in my book
-#: ../client/pk-console.c:687
+#: ../client/pk-console.c:685
msgid "Fatal error"
msgstr "ÐÑиÑиÑна помилка"
+#. TRANSLATORS: the user asked to update everything, but there is nothing that can be updated
+#: ../client/pk-console.c:701
+msgid "There are no packages to update."
+msgstr "ÐакÑнкÑв Ð´Ð»Ñ Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð½Ðµ виÑвлено."
+
#. TRANSLATORS: the transaction failed in a way we could not expect
-#: ../client/pk-console.c:696
-#: ../contrib/command-not-found/pk-command-not-found.c:454
-#: ../contrib/command-not-found/pk-command-not-found.c:634
+#: ../client/pk-console.c:704
+#: ../contrib/command-not-found/pk-command-not-found.c:639
msgid "The transaction failed"
msgstr "СпÑоба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð¾Ð¿ÐµÑаÑÑÑ Ð·Ð°Ð·Ð½Ð°Ð»Ð° невдаÑÑ"
#. TRANSLATORS: print a message when there are no updates
-#: ../client/pk-console.c:727
+#: ../client/pk-console.c:733
msgid "There are no updates available at this time."
msgstr "Ðа поÑоÑний Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ñ Ð½Ðµ виÑвлено."
-#: ../client/pk-console.c:750
+#: ../client/pk-console.c:756
msgid "There are no upgrades available at this time."
msgstr "Ðа поÑоÑний Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ñ Ð½Ðµ виÑвлено."
#. TRANSLATORS: a package needs to restart their system
-#: ../client/pk-console.c:817
+#: ../client/pk-console.c:823
msgid "Please restart the computer to complete the update."
msgstr "Щоб завеÑÑиÑи оновленнÑ, пеÑезаванÑажÑе ÑиÑÑемÑ."
#. TRANSLATORS: a package needs to restart the session
-#: ../client/pk-console.c:820
+#: ../client/pk-console.c:826
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:823
-msgid ""
-"Please restart the computer to complete the update as important security "
-"updates have been installed."
-msgstr ""
-"пеÑезаванÑажÑе ÑиÑÑемÑ, Ñоб завеÑÑиÑи вÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð²Ð°Ð¶Ð»Ð¸Ð²Ð¸Ñ
Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ñ Ð±ÐµÐ·Ð¿ÐµÐºÐ¸."
+#: ../client/pk-console.c:829
+msgid "Please restart the computer to complete the update as important security updates have been installed."
+msgstr "пеÑезаванÑажÑе ÑиÑÑемÑ, Ñоб завеÑÑиÑи вÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð²Ð°Ð¶Ð»Ð¸Ð²Ð¸Ñ
Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ñ Ð±ÐµÐ·Ð¿ÐµÐºÐ¸."
#. TRANSLATORS: a package needs to restart the session (due to security)
-#: ../client/pk-console.c:826
-msgid ""
-"Please logout and login to complete the update as important security updates "
-"have been installed."
-msgstr ""
-"Щоб завеÑÑиÑи вÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð²Ð°Ð¶Ð»Ð¸Ð²Ð¸Ñ
Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ñ Ð±ÐµÐ·Ð¿ÐµÐºÐ¸ вийдÑÑÑ Ð· облÑкового "
-"запиÑÑ Ñ ÑвÑйдÑÑÑ Ð´Ð¾ нÑого зновÑ."
+#: ../client/pk-console.c:832
+msgid "Please logout and login to complete the update as important security updates have been installed."
+msgstr "Щоб завеÑÑиÑи вÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð²Ð°Ð¶Ð»Ð¸Ð²Ð¸Ñ
Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ñ Ð±ÐµÐ·Ð¿ÐµÐºÐ¸ вийдÑÑÑ Ð· облÑкового запиÑÑ Ñ ÑвÑйдÑÑÑ Ð´Ð¾ нÑого зновÑ."
#. TRANSLATORS: The user used 'pkcon install dave.rpm' rather than 'pkcon install-local dave.rpm'
-#: ../client/pk-console.c:852
+#: ../client/pk-console.c:858
#, c-format
-msgid ""
-"Expected package name, actually got file. Try using 'pkcon install-local %s' "
-"instead."
-msgstr ""
-"Ðало бÑÑи пеÑедано Ð½Ð°Ð·Ð²Ñ Ð¿Ð°ÐºÑнка, пеÑедано Ñайл. СпÑобÑйÑе ÑкоÑиÑÑаÑиÑÑ "
-"ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ñ Â«pkcon install-local %s»."
+msgid "Expected package name, actually got file. Try using 'pkcon install-local %s' instead."
+msgstr "Ðало бÑÑи пеÑедано Ð½Ð°Ð·Ð²Ñ Ð¿Ð°ÐºÑнка, пеÑедано Ñайл. СпÑобÑйÑе ÑкоÑиÑÑаÑиÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ñ Â«pkcon install-local %s»."
#. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
-#: ../client/pk-console.c:860
+#: ../client/pk-console.c:866
#, 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:888
+#: ../client/pk-console.c:894
#, 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:916 ../client/pk-console.c:944
+#: ../client/pk-console.c:922
+#: ../client/pk-console.c:950
#, c-format
msgid "This tool could not find the package: %s"
msgstr "ÐÑогÑÐ°Ð¼Ñ Ð½Ðµ вдалоÑÑ Ð·Ð½Ð°Ð¹Ñи пакÑнок: %s"
@@ -354,663 +354,680 @@ msgstr "ÐÑогÑÐ°Ð¼Ñ Ð½Ðµ вдалоÑÑ Ð·Ð½Ð°Ð¹Ñи пакÑнок: %s"
#. TRANSLATORS: There was an error getting the dependencies for the package. The detailed error follows
#. TRANSLATORS: There was an error getting the details about the package. The detailed error follows
#. TRANSLATORS: The package name was not found in any software sources. The detailed error follows
-#: ../client/pk-console.c:972 ../client/pk-console.c:1000
-#: ../client/pk-console.c:1028 ../client/pk-console.c:1056
-#: ../client/pk-console.c:1084
+#: ../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
#, 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:1113
+#: ../client/pk-console.c:1119
msgid "The daemon crashed mid-transaction!"
msgstr "ÐваÑÑйне завеÑÑÐµÐ½Ð½Ñ ÑÐ¾Ð½Ð¾Ð²Ð¾Ñ ÑлÑжби пÑд ÑÐ°Ñ Ð¾Ð¿ÐµÑаÑÑÑ!"
#. TRANSLATORS: This is the header to the --help menu
-#: ../client/pk-console.c:1147
+#: ../client/pk-console.c:1153
msgid "PackageKit Console Interface"
msgstr "ÐонÑолÑний ÑнÑеÑÑÐµÐ¹Ñ PackageKit"
#. these are commands we can use with pkcon
-#: ../client/pk-console.c:1149
+#: ../client/pk-console.c:1155
msgid "Subcommands:"
msgstr "ÐÑдкоманди:"
#. TRANSLATORS: we keep a database updated with the time that an action was last executed
-#: ../client/pk-console.c:1228
+#: ../client/pk-console.c:1234
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:1268 ../client/pk-monitor.c:373
+#: ../client/pk-console.c:1275
+#: ../client/pk-monitor.c:371
msgid "Show the program version and exit"
msgstr "ÐоказаÑи веÑÑÑÑ Ð¿ÑогÑами Ñ Ð·Ð°Ð²ÐµÑÑиÑи ÑобоÑÑ"
#. TRANSLATORS: command line argument, use a filter to narrow down results
-#: ../client/pk-console.c:1271
+#: ../client/pk-console.c:1278
msgid "Set the filter, e.g. installed"
msgstr "ÐÑÑановиÑи ÑÑлÑÑÑ, напÑиклад, вÑÑановленÑ"
#. TRANSLATORS: command line argument, use a non-standard install prefix
-#: ../client/pk-console.c:1274
+#: ../client/pk-console.c:1281
msgid "Set the install root, e.g. '/' or '/mnt/ltsp'"
-msgstr ""
-"ÐÑÑановиÑи коÑеневий каÑалог вÑÑановленнÑ, напÑиклад, '/' або '/mnt/ltsp'"
+msgstr "ÐÑÑановиÑи коÑеневий каÑалог вÑÑановленнÑ, напÑиклад, '/' або '/mnt/ltsp'"
#. TRANSLATORS: command line argument, work asynchronously
-#: ../client/pk-console.c:1277
+#: ../client/pk-console.c:1284
msgid "Exit without waiting for actions to complete"
msgstr "ÐавеÑÑиÑи ÑобоÑÑ, не ÑекаÑÑи на завеÑÑÐµÐ½Ð½Ñ Ð´ÑÑ"
#. command line argument, do we ask questions
-#: ../client/pk-console.c:1280
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:527
+#: ../client/pk-console.c:1287
+#: ../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:1283
+#: ../client/pk-console.c:1290
msgid "Run the command using idle network bandwidth and also using less power"
-msgstr ""
-"ÐиконаÑи ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð· мÑнÑмалÑним викоÑиÑÑаннÑм меÑежевого ÐºÐ°Ð½Ð°Ð»Ñ Ñ Ð¼ÐµÐ½ÑÐ¾Ñ "
-"виÑÑаÑÐ¾Ñ ÑеÑÑÑÑÑв ÑиÑÑеми"
+msgstr "ÐиконаÑи ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð· мÑнÑмалÑним викоÑиÑÑаннÑм меÑежевого ÐºÐ°Ð½Ð°Ð»Ñ Ñ Ð¼ÐµÐ½ÑÐ¾Ñ Ð²Ð¸ÑÑаÑÐ¾Ñ ÑеÑÑÑÑÑв ÑиÑÑеми"
#. TRANSLATORS: command line argument, just output without fancy formatting
-#: ../client/pk-console.c:1286
-msgid ""
-"Print to screen a machine readable output, rather than using animated widgets"
-msgstr ""
-"ÐивеÑÑи Ð´Ð°Ð½Ñ Ð¿Ñо поÑÑÑп Ñ Ð¿ÑоÑÑÐ¾Ð¼Ñ ÑекÑÑÐ¾Ð²Ð¾Ð¼Ñ ÑоÑмаÑÑ, без викоÑиÑÑÐ°Ð½Ð½Ñ "
-"анÑмованиÑ
вÑджеÑÑв"
+#: ../client/pk-console.c:1293
+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:1296
+msgid "The maximum metadata cache age. Use -1 for 'never'."
+msgstr "ÐакÑималÑна ÑÑивалÑÑÑÑ Ð·Ð±ÐµÑÑÐ³Ð°Ð½Ð½Ñ ÐºÐµÑÑ Ð¼ÐµÑаданиÑ
. ÐнаÑÐµÐ½Ð½Ñ -1 вÑдповÑÐ´Ð°Ñ Ð·Ð½ÑÑÑÑ Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ñ Ð½Ð° ÑÑивалÑÑÑÑ."
#. TRANSLATORS: we failed to contact the daemon
-#: ../client/pk-console.c:1308
+#: ../client/pk-console.c:1333
msgid "Failed to contact PackageKit"
msgstr "Ðе вдалоÑÑ Ð·Ð²âÑзаÑиÑÑ Ð· PackageKit"
#. TRANSLATORS: The user specified an incorrect filter
-#: ../client/pk-console.c:1369
+#: ../client/pk-console.c:1381
msgid "The proxy could not be set"
msgstr "Ðе вдалоÑÑ Ð²ÑÑановиÑи паÑамеÑÑи пÑокÑÑ-ÑеÑвеÑа"
#. TRANSLATORS: The user specified an incorrect filter
-#: ../client/pk-console.c:1381
+#: ../client/pk-console.c:1393
msgid "The install root could not be set"
msgstr "Ðе вдалоÑÑ Ð¿ÑизнаÑиÑи коÑеневий каÑалог вÑÑановленнÑ"
#. TRANSLATORS: The user specified an incorrect filter
-#: ../client/pk-console.c:1393
+#: ../client/pk-console.c:1405
msgid "The filter specified was invalid"
msgstr "Ðказано некоÑекÑний ÑÑлÑÑÑ"
#. TRANSLATORS: a search type can be name, details, file, etc
-#: ../client/pk-console.c:1412
+#: ../client/pk-console.c:1424
msgid "A search type is required, e.g. name"
msgstr "Тип поÑÑкÑ, ÑкÑо Ñакий поÑÑÑбен, напÑиклад, назва"
#. TRANSLATORS: the user needs to provide a search term
-#: ../client/pk-console.c:1419 ../client/pk-console.c:1431
-#: ../client/pk-console.c:1443 ../client/pk-console.c:1455
+#: ../client/pk-console.c:1431
+#: ../client/pk-console.c:1443
+#: ../client/pk-console.c:1455
+#: ../client/pk-console.c:1467
msgid "A search term is required"
msgstr "ÐоÑÑÑбен клÑÑ Ð¿Ð¾ÑÑкÑ"
#. TRANSLATORS: the search type was provided, but invalid
-#: ../client/pk-console.c:1465
+#: ../client/pk-console.c:1477
msgid "Invalid search type"
msgstr "ÐекоÑекÑний Ñип поÑÑкÑ"
#. TRANSLATORS: the user did not specify what they wanted to install
-#: ../client/pk-console.c:1471
+#: ../client/pk-console.c:1483
msgid "A package name to install is required"
msgstr "СлÑд вказаÑи Ð½Ð°Ð·Ð²Ñ Ð¿Ð°ÐºÑнка, Ñкий ÑлÑд вÑÑановиÑи"
#. TRANSLATORS: the user did not specify what they wanted to install
-#: ../client/pk-console.c:1480
+#: ../client/pk-console.c:1492
msgid "A filename to install is required"
msgstr "СлÑд вказаÑи Ð½Ð°Ð·Ð²Ñ Ñайла, Ñкий ÑлÑд вÑÑановиÑи"
#. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:1492
+#: ../client/pk-console.c:1503
msgid "A type, key_id and package_id are required"
msgstr "СлÑд вказаÑи Ñип, ÑденÑиÑÑкаÑÐ¾Ñ ÐºÐ»ÑÑа Ñ ÑденÑиÑÑкаÑÐ¾Ñ Ð¿Ð°ÐºÑнка"
#. TRANSLATORS: the user did not specify what they wanted to remove
-#: ../client/pk-console.c:1503
+#: ../client/pk-console.c:1514
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:1512
+#: ../client/pk-console.c:1523
msgid "A destination directory and the package names to download are required"
-msgstr ""
-"СлÑд вказаÑи каÑалог пÑизнаÑÐµÐ½Ð½Ñ Ñ Ð½Ð°Ð·Ð²Ð¸ пакÑнкÑв, ÑÐºÑ Ð¿Ð¾ÑÑÑбно званÑажиÑи"
+msgstr "СлÑд вказаÑи каÑалог пÑизнаÑÐµÐ½Ð½Ñ Ñ Ð½Ð°Ð·Ð²Ð¸ пакÑнкÑв, ÑÐºÑ Ð¿Ð¾ÑÑÑбно званÑажиÑи"
#. TRANSLATORS: the directory does not exist, so we can't continue
-#: ../client/pk-console.c:1519
+#: ../client/pk-console.c:1530
msgid "Directory not found"
msgstr "ÐаÑалог не знайдено"
#. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:1528
+#: ../client/pk-console.c:1539
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:1539
+#: ../client/pk-console.c:1550
msgid "A transaction identifier (tid) is required"
msgstr "СлÑд вказаÑи ÑденÑиÑÑкаÑÐ¾Ñ Ð¾Ð¿ÐµÑаÑÑÑ (tid)"
#. TRANSLATORS: The user did not specify a package name
-#: ../client/pk-console.c:1560
+#: ../client/pk-console.c:1571
msgid "A package name to resolve is required"
msgstr "СлÑд вказаÑи Ð½Ð°Ð·Ð²Ñ Ð¿Ð°ÐºÑнка Ð´Ð»Ñ ÑозвâÑÐ·Ð°Ð½Ð½Ñ ÐºÐ¾Ð½ÑлÑкÑÑ"
#. TRANSLATORS: The user did not specify a repository (software source) name
-#: ../client/pk-console.c:1571 ../client/pk-console.c:1582
+#: ../client/pk-console.c:1582
+#: ../client/pk-console.c:1593
msgid "A repository name is required"
msgstr "СлÑд вказаÑи Ð½Ð°Ð·Ð²Ñ ÑÑ
овиÑа"
#. TRANSLATORS: The user didn't provide any data
-#: ../client/pk-console.c:1593
+#: ../client/pk-console.c:1604
msgid "A repo name, parameter and value are required"
msgstr "СлÑд вказаÑи Ð½Ð°Ð·Ð²Ñ ÑÑ
овиÑа, паÑамеÑÑ Ñ Ð·Ð½Ð°ÑеннÑ"
#. TRANSLATORS: The user didn't specify what action to use
-#: ../client/pk-console.c:1610
+#: ../client/pk-console.c:1621
msgid "An action, e.g. 'update-system' is required"
msgstr "СлÑд вказаÑи дÑÑ, напÑиклад «update-system»"
#. TRANSLATORS: The user specified an invalid action
-#: ../client/pk-console.c:1617
+#: ../client/pk-console.c:1628
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:1627 ../client/pk-console.c:1642
-#: ../client/pk-console.c:1651 ../client/pk-console.c:1671
-#: ../client/pk-console.c:1680 ../client/pk-generate-pack.c:316
+#: ../client/pk-console.c:1638
+#: ../client/pk-console.c:1652
+#: ../client/pk-console.c:1661
+#: ../client/pk-console.c:1681
+#: ../client/pk-console.c:1690
+#: ../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:1660
+#: ../client/pk-console.c:1670
msgid "A package provide string is required"
msgstr "СлÑд вказаÑи ÑÑдок вмÑÑÑÑ"
+#. TRANSLATORS: The user did not provide a distro name
+#: ../client/pk-console.c:1714
+msgid "A distribution name is required"
+msgstr "СлÑд вказаÑи Ð½Ð°Ð·Ð²Ñ Ð´Ð¸ÑÑÑибÑÑива"
+
+#. TRANSLATORS: The user did not provide an upgrade type
+#: ../client/pk-console.c:1720
+msgid "An upgrade type is required, e.g. 'minimal', 'default' or 'complete'"
+msgstr "СлÑд вказаÑи Ñип оновленнÑ, напÑиклад, «minimal», «default» або «complete»"
+
#. TRANSLATORS: The user tried to use an unsupported option on the command line
-#: ../client/pk-console.c:1741
+#: ../client/pk-console.c:1770
#, c-format
msgid "Option '%s' is not supported"
msgstr "ÐÑдÑÑимки паÑамеÑÑа «%s» не пеÑедбаÑено"
#. TRANSLATORS: Generic failure of what they asked to do
-#: ../client/pk-console.c:1751
+#: ../client/pk-console.c:1780
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:255
+#: ../client/pk-generate-pack.c:253
msgid "Set the file name of dependencies to be excluded"
msgstr "ÐкажÑÑÑ Ð½Ð°Ð·Ð²Ð¸ ÑайлÑв залежноÑÑей, ÑÐºÑ ÑлÑд виклÑÑиÑи"
#. TRANSLATORS: the output location
-#: ../client/pk-generate-pack.c:258
+#: ../client/pk-generate-pack.c:256
msgid "The output file or directory (the current directory is used if omitted)"
-msgstr ""
-"Файл або каÑалог Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ
(ÑкÑо пÑопÑÑÑиÑи, бÑде викоÑиÑÑано поÑоÑний "
-"каÑалог)"
+msgstr "Файл або каÑалог Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ
(ÑкÑо пÑопÑÑÑиÑи, бÑде викоÑиÑÑано поÑоÑний каÑалог)"
#. TRANSLATORS: put a list of packages in the pack
-#: ../client/pk-generate-pack.c:261
+#: ../client/pk-generate-pack.c:259
msgid "The package to be put into the service pack"
msgstr "ÐакÑнок, пÑизнаÑений Ð´Ð»Ñ ÑÑвоÑÐµÐ½Ð½Ñ Ð¿Ð°ÐºÑнка обÑлÑговÑваннÑ"
#. TRANSLATORS: put all pending updates in the pack
-#: ../client/pk-generate-pack.c:264
+#: ../client/pk-generate-pack.c:262
msgid "Put all updates available in the service pack"
msgstr "ÐодаÑи вÑÑ Ð¼Ð¾Ð¶Ð»Ð¸Ð²Ñ Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð´Ð¾ пакÑнка з обÑлÑговÑваннÑ"
#. TRANSLATORS: This is when the user fails to supply the correct arguments
-#: ../client/pk-generate-pack.c:300
+#: ../client/pk-generate-pack.c:298
msgid "Neither --package or --updates option selected."
msgstr "Ðе обÑано Ð½Ñ Ð¿Ð°ÑамеÑÑа --package, Ð½Ñ Ð¿Ð°ÑамеÑÑа --updates."
#. TRANSLATORS: This is when the user fails to supply just one argument
-#: ../client/pk-generate-pack.c:308
+#: ../client/pk-generate-pack.c:306
msgid "Both options selected."
msgstr "ÐбÑано обидва паÑамеÑÑа."
#. TRANSLATORS: This is when the user fails to supply the output
-#: ../client/pk-generate-pack.c:324
+#: ../client/pk-generate-pack.c:322
msgid "A output directory or file name is required"
msgstr "СлÑд вказаÑи каÑалог або Ñайл Ð´Ð»Ñ Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ
"
#. TRANSLATORS: This is when the daemon is not-installed/broken and fails to startup
-#: ../client/pk-generate-pack.c:342
+#: ../client/pk-generate-pack.c:340
msgid "The daemon failed to startup"
msgstr "Ðе вдалоÑÑ Ð·Ð°Ð¿ÑÑÑиÑи ÑÐ¾Ð½Ð¾Ð²Ñ ÑлÑжбÑ"
#. TRANSLATORS: This is when the backend doesn't have the capability to get-depends
#. TRANSLATORS: This is when the backend doesn't have the capability to download
-#: ../client/pk-generate-pack.c:353 ../client/pk-generate-pack.c:359
+#: ../client/pk-generate-pack.c:351
+#: ../client/pk-generate-pack.c:357
msgid "The package manager cannot perform this type of operation."
msgstr "ÐеÑÑÐ²Ð°Ð½Ð½Ñ Ð¿Ð°ÐºÑнками не може виконÑваÑи дÑÑ ÑÑого ÑипÑ."
#. TRANSLATORS: This is when the distro didn't include libarchive support into PK
-#: ../client/pk-generate-pack.c:366
-msgid ""
-"Service packs cannot be created as PackageKit was not built with libarchive "
-"support."
-msgstr ""
-"СÑвоÑÐµÐ½Ð½Ñ Ð¿Ð°ÐºÑнкÑв з обÑлÑговÑÐ²Ð°Ð½Ð½Ñ Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ðµ, оÑкÑлÑки PackageKit бÑло "
-"зÑбÑано без пÑдÑÑимки libarchive."
+#: ../client/pk-generate-pack.c:364
+msgid "Service packs cannot be created as PackageKit was not built with libarchive support."
+msgstr "СÑвоÑÐµÐ½Ð½Ñ Ð¿Ð°ÐºÑнкÑв з обÑлÑговÑÐ²Ð°Ð½Ð½Ñ Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ðµ, оÑкÑлÑки PackageKit бÑло зÑбÑано без пÑдÑÑимки libarchive."
#. TRANSLATORS: the user specified an absolute path, but didn't get the extension correct
-#: ../client/pk-generate-pack.c:377
+#: ../client/pk-generate-pack.c:375
msgid "If specifying a file, the service pack name must end with"
msgstr "ЯкÑо вказано Ñайл, назва пакÑнка з обÑлÑговÑÐ²Ð°Ð½Ð½Ñ Ð¼Ð°Ñ Ð·Ð°Ð²ÐµÑÑÑваÑиÑÑ Ð½Ð°"
#. TRANSLATORS: This is when file already exists
-#: ../client/pk-generate-pack.c:393
+#: ../client/pk-generate-pack.c:391
msgid "A pack with the same name already exists, do you want to overwrite it?"
msgstr "Ðже ÑÑнÑÑ Ð¿Ð°ÐºÑнок з ÑÑÑÑ ÑÐ°Ð¼Ð¾Ñ Ð½Ð°Ð·Ð²Ð¾Ñ, бажаÑÑе пеÑезапиÑаÑи його?"
#. TRANSLATORS: This is when the pack was not overwritten
-#: ../client/pk-generate-pack.c:396
+#: ../client/pk-generate-pack.c:394
msgid "The pack was not overwritten."
msgstr "ÐакÑнок не бÑло пеÑезапиÑано."
#. TRANSLATORS: This is when the temporary directory cannot be created, the directory name follows
-#: ../client/pk-generate-pack.c:409
+#: ../client/pk-generate-pack.c:407
msgid "Failed to create directory:"
msgstr "СпÑоба ÑÑвоÑÐµÐ½Ð½Ñ ÐºÐ°ÑÐ°Ð»Ð¾Ð³Ñ Ð·Ð°Ð²ÐµÑÑилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾:"
#. TRANSLATORS: This is when the list of packages from the remote computer cannot be opened
-#: ../client/pk-generate-pack.c:421
+#: ../client/pk-generate-pack.c:419
msgid "Failed to open package list."
msgstr "Ðе вдалоÑÑ Ð²ÑдкÑиÑи ÑпиÑок пакÑнкÑв."
#. TRANSLATORS: The package name is being matched up to available packages
-#: ../client/pk-generate-pack.c:430
+#: ../client/pk-generate-pack.c:428
msgid "Finding package name."
msgstr "ÐоÑÑк назви пакÑнка."
#. TRANSLATORS: This is when the package cannot be found in any software source. The detailed error follows
-#: ../client/pk-generate-pack.c:434
+#: ../client/pk-generate-pack.c:432
#, c-format
msgid "Failed to find package '%s': %s"
msgstr "Ðе вдалоÑÑ Ð·Ð½Ð°Ð¹Ñи пакÑнок «%s»: %s"
#. TRANSLATORS: This is telling the user we are in the process of making the pack
-#: ../client/pk-generate-pack.c:442
+#: ../client/pk-generate-pack.c:440
msgid "Creating service pack..."
msgstr "СÑвоÑÐµÐ½Ð½Ñ Ð¿Ð°ÐºÑнка з обÑлÑговÑваннÑ..."
#. TRANSLATORS: we succeeded in making the file
-#: ../client/pk-generate-pack.c:457
+#: ../client/pk-generate-pack.c:455
#, c-format
msgid "Service pack created '%s'"
msgstr "СÑвоÑено пакÑнок з обÑлÑговÑÐ²Ð°Ð½Ð½Ñ Â«%s»"
#. TRANSLATORS: we failed to make te file
-#: ../client/pk-generate-pack.c:462
+#: ../client/pk-generate-pack.c:460
#, c-format
msgid "Failed to create '%s': %s"
msgstr "Ðе вдалоÑÑ ÑÑвоÑиÑи «%s»: %s"
-#: ../client/pk-monitor.c:286
+#: ../client/pk-monitor.c:284
msgid "Failed to get daemon state"
msgstr "СпÑоба визнаÑÐµÐ½Ð½Ñ ÑÑÐ°Ð½Ñ ÑÐ¾Ð½Ð¾Ð²Ð¾Ñ ÑлÑжби завеÑÑилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾"
-#: ../client/pk-monitor.c:351
+#: ../client/pk-monitor.c:349
msgid "Failed to get properties"
msgstr "Ðе вдалоÑÑ Ð·Ð²Ð°Ð½ÑажиÑи Ð´Ð°Ð½Ñ Ñодо влаÑÑивоÑÑей"
#. TRANSLATORS: this is a program that monitors PackageKit
-#: ../client/pk-monitor.c:389
+#: ../client/pk-monitor.c:387
msgid "PackageKit Monitor"
msgstr "ÐонÑÑÐ¾Ñ PackageKit"
#. TRANSLATORS: when we are getting data from the daemon
-#: ../contrib/browser-plugin/pk-plugin-install.c:497
+#: ../contrib/browser-plugin/pk-plugin-install.c:499
msgid "Getting package information..."
msgstr "ÐÑÑÐ¸Ð¼Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ
Ñодо пакÑнка..."
#. TRANSLATORS: run an applicaiton
-#: ../contrib/browser-plugin/pk-plugin-install.c:503
+#: ../contrib/browser-plugin/pk-plugin-install.c:505
#, c-format
msgid "Run %s"
msgstr "ÐиконаÑи %s"
#. TRANSLATORS: show the installed version of a package
-#: ../contrib/browser-plugin/pk-plugin-install.c:509
+#: ../contrib/browser-plugin/pk-plugin-install.c:511
msgid "Installed version"
msgstr "ÐÑÑановлена веÑÑÑÑ"
#. TRANSLATORS: run the application now
-#: ../contrib/browser-plugin/pk-plugin-install.c:517
+#: ../contrib/browser-plugin/pk-plugin-install.c:519
#, c-format
msgid "Run version %s now"
msgstr "ÐиконаÑи веÑÑÑÑ %s"
#. TRANSLATORS: run the application now
-#: ../contrib/browser-plugin/pk-plugin-install.c:523
+#: ../contrib/browser-plugin/pk-plugin-install.c:525
msgid "Run now"
msgstr "ÐиконаÑи заÑаз"
#. TRANSLATORS: update to a new version of the package
-#: ../contrib/browser-plugin/pk-plugin-install.c:529
+#: ../contrib/browser-plugin/pk-plugin-install.c:531
#, c-format
msgid "Update to version %s"
msgstr "ÐновиÑи до веÑÑÑÑ %s"
#. TRANSLATORS: To install a package
-#: ../contrib/browser-plugin/pk-plugin-install.c:535
+#: ../contrib/browser-plugin/pk-plugin-install.c:537
#, c-format
msgid "Install %s now"
msgstr "ÐÑÑановиÑи %s"
#. TRANSLATORS: the version of the package
-#: ../contrib/browser-plugin/pk-plugin-install.c:538
+#: ../contrib/browser-plugin/pk-plugin-install.c:540
msgid "Version"
msgstr "ÐеÑÑÑÑ"
#. TRANSLATORS: noting found, so can't install
-#: ../contrib/browser-plugin/pk-plugin-install.c:543
+#: ../contrib/browser-plugin/pk-plugin-install.c:545
msgid "No packages found for your system"
msgstr "ÐÐ»Ñ Ð²Ð°ÑÐ¾Ñ ÑиÑÑеми пакÑнкÑв не знайдено"
#. TRANSLATORS: package is being installed
-#: ../contrib/browser-plugin/pk-plugin-install.c:548
+#: ../contrib/browser-plugin/pk-plugin-install.c:550
msgid "Installing..."
msgstr "ÐÑÑановленнÑ..."
#. TRANSLATORS: downloading repo data so we can search
-#: ../contrib/command-not-found/pk-command-not-found.c:367
+#: ../contrib/command-not-found/pk-command-not-found.c:366
msgid "Downloading details about the software sources."
msgstr "ÐванÑÐ°Ð¶ÐµÐ½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ
Ñодо джеÑел пÑогÑамного забезпеÑеннÑ."
#. TRANSLATORS: downloading file lists so we can search
-#: ../contrib/command-not-found/pk-command-not-found.c:371
+#: ../contrib/command-not-found/pk-command-not-found.c:370
msgid "Downloading filelists (this may take some time to complete)."
-msgstr ""
-"ÐванÑÐ°Ð¶ÐµÐ½Ð½Ñ ÑпиÑкÑв ÑайлÑв (Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ ÑÑÑÑ Ð´ÑÑ Ð¼Ð¾Ð¶Ðµ бÑÑи доÑиÑÑ ÑÑивалим)."
+msgstr "ÐванÑÐ°Ð¶ÐµÐ½Ð½Ñ ÑпиÑкÑв ÑайлÑв (Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ ÑÑÑÑ Ð´ÑÑ Ð¼Ð¾Ð¶Ðµ бÑÑи доÑиÑÑ ÑÑивалим)."
#. TRANSLATORS: waiting for native lock
-#: ../contrib/command-not-found/pk-command-not-found.c:375
+#: ../contrib/command-not-found/pk-command-not-found.c:374
msgid "Waiting for package manager lock."
msgstr "ÐÑÑкÑÐ²Ð°Ð½Ð½Ñ Ð½Ð° знÑÑÑÑ Ð±Ð»Ð¾ÐºÑÐ²Ð°Ð½Ð½Ñ ÐºÐµÑÑÐ²Ð°Ð½Ð½Ñ Ð¿Ð°ÐºÑнками."
#. TRANSLATORS: loading package cache so we can search
-#: ../contrib/command-not-found/pk-command-not-found.c:379
+#: ../contrib/command-not-found/pk-command-not-found.c:378
msgid "Loading list of packages."
msgstr "ÐаванÑÐ°Ð¶ÐµÐ½Ð½Ñ ÑпиÑÐºÑ Ð¿Ð°ÐºÑнкÑв."
#. TRANSLATORS: we failed to find the package, this shouldn't happen
-#: ../contrib/command-not-found/pk-command-not-found.c:445
+#: ../contrib/command-not-found/pk-command-not-found.c:444
msgid "Failed to search for file"
msgstr "Ðе вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñи поÑÑк Ñайла"
+#. TRANSLATORS: the transaction failed in a way we could not expect
+#: ../contrib/command-not-found/pk-command-not-found.c:456
+msgid "Getting the list of files failed"
+msgstr "СпÑоба оÑÑÐ¸Ð¼Ð°Ð½Ð½Ñ ÑпиÑÐºÑ ÑайлÑв зазнала невдаÑÑ"
+
#. TRANSLATORS: we failed to launch the executable, the error follows
-#: ../contrib/command-not-found/pk-command-not-found.c:597
+#: ../contrib/command-not-found/pk-command-not-found.c:602
msgid "Failed to launch:"
msgstr "Ðе вдалоÑÑ Ð·Ð°Ð¿ÑÑÑиÑи:"
#. TRANSLATORS: we failed to install the package
-#: ../contrib/command-not-found/pk-command-not-found.c:625
+#: ../contrib/command-not-found/pk-command-not-found.c:630
msgid "Failed to install packages"
msgstr "Ðе вдалоÑÑ Ð²ÑÑановиÑи пакÑнки"
#. TRANSLATORS: tool that gets called when the command is not found
-#: ../contrib/command-not-found/pk-command-not-found.c:701
+#: ../contrib/command-not-found/pk-command-not-found.c:706
msgid "PackageKit Command Not Found"
msgstr "Ðоманди PackageKit не знайдено"
-#. TRANSLATORS: the prefix of all the output telling the user why it's not executing
-#: ../contrib/command-not-found/pk-command-not-found.c:727
-msgid "Command not found."
-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:739
+msgid "command not found"
+msgstr "ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð½Ðµ знайдено"
#. TRANSLATORS: tell the user what we think the command is
-#: ../contrib/command-not-found/pk-command-not-found.c:745
+#: ../contrib/command-not-found/pk-command-not-found.c:757
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:771
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:785
+#: ../contrib/command-not-found/pk-command-not-found.c:794
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:801
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:819
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:808
+#: ../contrib/command-not-found/pk-command-not-found.c:826
#, 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:832
+#: ../contrib/command-not-found/pk-command-not-found.c:853
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:842
+#: ../contrib/command-not-found/pk-command-not-found.c:863
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:851
+#: ../contrib/command-not-found/pk-command-not-found.c:872
msgid "Please choose a package to install"
msgstr "ÐÑÐ´Ñ Ð»Ð°Ñка, обеÑÑÑÑ Ð¿Ð°ÐºÑнок, Ñкий ÑлÑд вÑÑановиÑи"
#. TRANSLATORS: we are starting to install the packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:197
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:195
msgid "Starting install"
msgstr "РозпоÑинаÑмо вÑÑановленнÑ"
#. TRANSLATORS: we couldn't find the package name, non-fatal
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:409
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:407
#, c-format
msgid "Failed to find the package %s, or already installed: %s"
msgstr "Ðе вдалоÑÑ Ð·Ð½Ð°Ð¹Ñи пакÑнок %s або пакÑнок вже вÑÑановлено: %s"
#. command line argument, simulate what would be done, but don't actually do it
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:518
-msgid ""
-"Don't actually install any packages, only simulate what would be installed"
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:516
+msgid "Don't actually install any packages, only simulate what would be installed"
msgstr "Ðе вÑÑановлÑваÑи пакÑнкÑв, лиÑе ÑмÑÑÑваÑи ÑÑ
вÑÑановленнÑ"
#. command line argument, do we skip packages that depend on the ones specified
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:521
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:519
msgid "Do not install dependencies of the core packages"
msgstr "Ðе вÑÑановлÑваÑи залежноÑÑей оÑновниÑ
пакÑнкÑв"
#. command line argument, do we operate quietly
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:524
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:522
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:542
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:540
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:556
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:554
#, c-format
msgid "ERROR: Specify package names to install."
msgstr "ÐÐÐÐÐÐÐ: вкажÑÑÑ Ð½Ð°Ð·Ð²Ð¸ пакÑнкÑв, ÑÐºÑ ÑлÑд вÑÑановиÑи."
#. TRANSLATORS: we are getting the list of repositories
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:592
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:590
#, c-format
msgid "Getting sources list"
msgstr "ÐÑÑÐ¸Ð¼Ð°Ð½Ð½Ñ ÑпиÑÐºÑ Ð´Ð¶ÐµÑел"
#. TRANSLATORS: operation was not successful
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c: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
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:600
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:675
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:759
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:803
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:870
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:914
msgid "FAILED."
msgstr "ÐÐÐÐÐÐÐ."
#. TRANSLATORS: all completed 100%
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c: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
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:615
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:655
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:690
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:774
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:818
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:885
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:929
#, c-format
msgid "OK."
msgstr "ÐаÑазд."
#. TRANSLATORS: tell the user what we found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:620
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:618
#, c-format
msgid "Found %i enabled and %i disabled sources."
msgstr "Ðнайдено %i ÑвÑмкнениÑ
Ñ %i вимкнениÑ
джеÑела."
#. TRANSLATORS: we're finding repositories that match out pattern
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:627
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:625
#, c-format
msgid "Finding debugging sources"
msgstr "ÐоÑÑк джеÑел даниÑ
Ð´Ð»Ñ ÑÑÑÐ²Ð°Ð½Ð½Ñ Ð²Ð°Ð´"
#. TRANSLATORS: tell the user what we found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:660
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:658
#, c-format
msgid "Found %i disabled debuginfo repos."
msgstr "Ðнайдено %i вимкнениÑ
ÑÑ
овиÑа даниÑ
Ð´Ð»Ñ ÑÑÑÐ²Ð°Ð½Ð½Ñ Ð²Ð°Ð´."
#. TRANSLATORS: we're now enabling all the debug sources we found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:667
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:665
#, c-format
msgid "Enabling debugging sources"
msgstr "ÐÐ¼Ð¸ÐºÐ°Ð½Ð½Ñ Ð´Ð¶ÐµÑел даниÑ
Ð´Ð»Ñ ÑÑÑÐ²Ð°Ð½Ð½Ñ Ð²Ð°Ð´"
#. TRANSLATORS: tell the user how many we enabled
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:695
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:693
#, c-format
msgid "Enabled %i debugging sources."
msgstr "УвÑмкнено %i джеÑел даниÑ
Ð´Ð»Ñ ÑÑÑÐ²Ð°Ð½Ð½Ñ Ð²Ð°Ð´."
#. TRANSLATORS: we're now finding packages that match in all the repos
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:702
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:700
#, c-format
msgid "Finding debugging packages"
msgstr "ÐоÑÑк пакÑнкÑв Ð´Ð»Ñ ÑÑÑÐ²Ð°Ð½Ð½Ñ Ð²Ð°Ð´"
#. TRANSLATORS: we couldn't find the package name, non-fatal
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:714
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:712
#, c-format
msgid "Failed to find the package %s: %s"
msgstr "Ðе вдалоÑÑ Ð·Ð½Ð°Ð¹Ñи пакÑнок %s: %s"
#. TRANSLATORS: we couldn't find the debuginfo package name, non-fatal
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:737
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:735
#, c-format
msgid "Failed to find the debuginfo package %s: %s"
msgstr "Ðе вдалоÑÑ Ð·Ð½Ð°Ð¹Ñи пакÑнок з даними Ð´Ð»Ñ ÑÑÑÐ²Ð°Ð½Ð½Ñ Ð²Ð°Ð´ %s: %s"
#. TRANSLATORS: no debuginfo packages could be found to be installed
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:765
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:763
#, c-format
msgid "Found no packages to install."
msgstr "Ðе знайдено жодного пакÑнка Ð´Ð»Ñ Ð²ÑÑановленнÑ."
#. TRANSLATORS: tell the user we found some packages, and then list them
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:779
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:777
#, c-format
msgid "Found %i packages:"
msgstr "Ðнайдено %i пакÑнкÑв:"
#. TRANSLATORS: tell the user we are searching for deps
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:795
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:793
#, c-format
msgid "Finding packages that depend on these packages"
msgstr "ÐоÑÑк пакÑнкÑв, ÑÐºÑ Ð·Ð°Ð»ÐµÐ¶Ð°ÑÑ Ð²Ñд ÑиÑ
пакÑнкÑв"
#. TRANSLATORS: could not install, detailed error follows
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:808
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:806
#, c-format
msgid "Could not find dependant packages: %s"
msgstr "Ðе вдалоÑÑ Ð·Ð½Ð°Ð¹Ñи залежниÑ
пакÑнкÑв: %s"
#. TRANSLATORS: tell the user we found some more packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:824
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:822
#, c-format
msgid "Found %i extra packages."
msgstr "Ðнайдено %i додаÑковиÑ
пакÑнкÑв."
#. TRANSLATORS: tell the user we found some more packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:828
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:826
#, c-format
msgid "No extra packages required."
msgstr "ÐоÑÑеби Ñ Ð´Ð¾Ð´Ð°ÑковиÑ
пакÑнкаÑ
немаÑ."
#. TRANSLATORS: tell the user we found some packages (and deps), and then list them
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:837
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:835
#, c-format
msgid "Found %i packages to install:"
msgstr "Ðнайдено %i пакÑнкÑв Ð´Ð»Ñ Ð²ÑÑановленнÑ:"
#. TRANSLATORS: simulate mode is a testing mode where we quit before the action
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:850
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:848
#, c-format
msgid "Not installing packages in simulate mode"
msgstr "Ðе вÑÑановлÑваÑи пакÑнки Ñ ÑÐµÐ¶Ð¸Ð¼Ñ ÑмÑÑаÑÑÑ"
#. TRANSLATORS: we are now installing the debuginfo packages we found earlier
#. TRANSLATORS: transaction state, installing packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:862
-#: ../lib/packagekit-glib2/pk-console-shared.c:289
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:860
+#: ../lib/packagekit-glib2/pk-console-shared.c:287
#, c-format
msgid "Installing packages"
msgstr "ÐÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ð°ÐºÑнкÑв"
#. TRANSLATORS: could not install, detailed error follows
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:875
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:873
#, c-format
msgid "Could not install packages: %s"
msgstr "Ðе вдалоÑÑ Ð²ÑÑановиÑи пакÑнки: %s"
#. TRANSLATORS: we are now disabling all debuginfo repos we previously enabled
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:907
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:905
#, c-format
msgid "Disabling sources previously enabled"
msgstr "ÐÐ¸Ð¼Ð¸ÐºÐ°Ð½Ð½Ñ ÑанÑÑе ÑвÑмкнениÑ
джеÑел"
#. TRANSLATORS: no debuginfo packages could be found to be installed, detailed error follows
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:919
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:917
#, c-format
msgid "Could not disable the debugging sources: %s"
msgstr "Ðе вдалоÑÑ Ð²Ð¸Ð¼ÐºÐ½ÑÑи джеÑела Ð´Ð»Ñ ÑÑÑÐ²Ð°Ð½Ð½Ñ Ð²Ð°Ð´: %s"
#. TRANSLATORS: we disabled all the debugging repos that we enabled before
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:934
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:932
#, c-format
msgid "Disabled %i debugging sources."
msgstr "Ðимкнено %i джеÑел Ð´Ð»Ñ ÑÑÑÐ²Ð°Ð½Ð½Ñ Ð²Ð°Ð´."
@@ -1117,605 +1134,617 @@ msgstr "СпиÑок пакÑнкÑв PackageKit"
msgid "PackageKit Service Pack"
msgstr "ÐакÑнок з обÑлÑговÑÐ²Ð°Ð½Ð½Ñ PackageKit"
-#: ../lib/packagekit-glib2/pk-console-shared.c:65
+#: ../lib/packagekit-glib2/pk-console-shared.c:63
#, 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:191
+#: ../lib/packagekit-glib2/pk-console-shared.c:189
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:202
+#: ../lib/packagekit-glib2/pk-console-shared.c:200
msgid "Please choose the correct package: "
msgstr "ÐÑÐ´Ñ Ð»Ð°Ñка, обеÑÑÑÑ Ð½Ð°Ð»ÐµÐ¶Ð½Ð¸Ð¹ пакÑнок:"
#. TRANSLATORS: This is when the transaction status is not known
-#: ../lib/packagekit-glib2/pk-console-shared.c:257
+#: ../lib/packagekit-glib2/pk-console-shared.c:255
msgid "Unknown state"
msgstr "ÐевÑдомий ÑÑан"
#. TRANSLATORS: transaction state, the daemon is in the process of starting
-#: ../lib/packagekit-glib2/pk-console-shared.c:261
+#: ../lib/packagekit-glib2/pk-console-shared.c:259
msgid "Starting"
msgstr "ÐапÑÑк"
#. TRANSLATORS: transaction state, the transaction is waiting for another to complete
-#: ../lib/packagekit-glib2/pk-console-shared.c:265
+#: ../lib/packagekit-glib2/pk-console-shared.c:263
msgid "Waiting in queue"
msgstr "ÐÑÑкÑÐ²Ð°Ð½Ð½Ñ Ñ ÑеÑзÑ"
#. TRANSLATORS: transaction state, just started
-#: ../lib/packagekit-glib2/pk-console-shared.c:269
+#: ../lib/packagekit-glib2/pk-console-shared.c:267
msgid "Running"
msgstr "ÐиконаннÑ"
#. TRANSLATORS: transaction state, is querying data
-#: ../lib/packagekit-glib2/pk-console-shared.c:273
+#: ../lib/packagekit-glib2/pk-console-shared.c:271
msgid "Querying"
msgstr "ÐÐ¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð·Ð°Ð¿Ð¸ÑÑ"
#. TRANSLATORS: transaction state, getting data from a server
-#: ../lib/packagekit-glib2/pk-console-shared.c:277
+#: ../lib/packagekit-glib2/pk-console-shared.c:275
msgid "Getting information"
msgstr "ÐÑÑÐ¸Ð¼Ð°Ð½Ð½Ñ ÑнÑоÑмаÑÑÑ"
#. TRANSLATORS: transaction state, removing packages
-#: ../lib/packagekit-glib2/pk-console-shared.c:281
+#: ../lib/packagekit-glib2/pk-console-shared.c:279
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:285
-#: ../lib/packagekit-glib2/pk-console-shared.c:663
+#: ../lib/packagekit-glib2/pk-console-shared.c:283
+#: ../lib/packagekit-glib2/pk-console-shared.c:661
msgid "Downloading packages"
msgstr "ÐванÑÐ°Ð¶ÐµÐ½Ð½Ñ Ð¿Ð°ÐºÑнкÑв"
#. TRANSLATORS: transaction state, refreshing internal lists
-#: ../lib/packagekit-glib2/pk-console-shared.c:293
+#: ../lib/packagekit-glib2/pk-console-shared.c:291
msgid "Refreshing software list"
msgstr "ÐÑвÑÐ¶ÐµÐ½Ð½Ñ ÑпиÑÐºÑ Ð¿ÑогÑам"
#. TRANSLATORS: transaction state, installing updates
-#: ../lib/packagekit-glib2/pk-console-shared.c:297
+#: ../lib/packagekit-glib2/pk-console-shared.c:295
msgid "Installing updates"
msgstr "ÐÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ñ"
#. TRANSLATORS: transaction state, removing old packages, and cleaning config files
-#: ../lib/packagekit-glib2/pk-console-shared.c:301
+#: ../lib/packagekit-glib2/pk-console-shared.c:299
msgid "Cleaning up packages"
msgstr "ÐилÑÑÐµÐ½Ð½Ñ Ð·Ð°Ð¹Ð²Ð¸Ñ
пакÑнкÑв"
#. TRANSLATORS: transaction state, obsoleting old packages
-#: ../lib/packagekit-glib2/pk-console-shared.c:305
+#: ../lib/packagekit-glib2/pk-console-shared.c:303
msgid "Obsoleting packages"
msgstr "ÐилÑÑÐµÐ½Ð½Ñ Ð·Ð°ÑÑаÑÑлиÑ
пакÑнкÑв"
#. TRANSLATORS: transaction state, checking the transaction before we do it
-#: ../lib/packagekit-glib2/pk-console-shared.c:309
+#: ../lib/packagekit-glib2/pk-console-shared.c:307
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:313
+#: ../lib/packagekit-glib2/pk-console-shared.c:311
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:317
-#: ../lib/packagekit-glib2/pk-console-shared.c:623
+#: ../lib/packagekit-glib2/pk-console-shared.c:315
+#: ../lib/packagekit-glib2/pk-console-shared.c:621
msgid "Rolling back"
msgstr "ÐовеÑÐ½ÐµÐ½Ð½Ñ Ð´Ð¾ попеÑеднÑого"
#. TRANSLATORS: transaction state, when we're doing a test transaction
-#: ../lib/packagekit-glib2/pk-console-shared.c:321
+#: ../lib/packagekit-glib2/pk-console-shared.c:319
msgid "Testing changes"
msgstr "ÐипÑобÑÐ²Ð°Ð½Ð½Ñ Ð·Ð¼Ñн"
#. TRANSLATORS: transaction state, when we're writing to the system package database
-#: ../lib/packagekit-glib2/pk-console-shared.c:325
+#: ../lib/packagekit-glib2/pk-console-shared.c:323
msgid "Committing changes"
msgstr "ÐаÑÑоÑÑÐ²Ð°Ð½Ð½Ñ Ð·Ð¼Ñн"
#. TRANSLATORS: transaction state, requesting data from a server
-#: ../lib/packagekit-glib2/pk-console-shared.c:329
+#: ../lib/packagekit-glib2/pk-console-shared.c:327
msgid "Requesting data"
msgstr "ÐÐ°Ð¿Ð¸Ñ Ñодо даниÑ
"
#. TRANSLATORS: transaction state, all done!
-#: ../lib/packagekit-glib2/pk-console-shared.c:333
+#: ../lib/packagekit-glib2/pk-console-shared.c:331
msgid "Finished"
msgstr "ÐавеÑÑено"
#. TRANSLATORS: transaction state, in the process of cancelling
-#: ../lib/packagekit-glib2/pk-console-shared.c:337
+#: ../lib/packagekit-glib2/pk-console-shared.c:335
msgid "Cancelling"
msgstr "СкаÑÑваннÑ"
#. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:341
+#: ../lib/packagekit-glib2/pk-console-shared.c:339
msgid "Downloading repository information"
msgstr "ÐванÑÐ°Ð¶ÐµÐ½Ð½Ñ ÑнÑоÑмаÑÑÑ Ð¿Ñо ÑÑ
овиÑе"
#. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:345
+#: ../lib/packagekit-glib2/pk-console-shared.c:343
msgid "Downloading list of packages"
msgstr "ÐванÑÐ°Ð¶ÐµÐ½Ð½Ñ ÑпиÑÐºÑ Ð¿Ð°ÐºÑнкÑв"
#. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:349
+#: ../lib/packagekit-glib2/pk-console-shared.c:347
msgid "Downloading file lists"
msgstr "ÐванÑÐ°Ð¶ÐµÐ½Ð½Ñ ÑпиÑкÑв ÑайлÑв"
#. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:353
+#: ../lib/packagekit-glib2/pk-console-shared.c:351
msgid "Downloading lists of changes"
msgstr "ÐванÑÐ°Ð¶ÐµÐ½Ð½Ñ ÑпиÑкÑв змÑн"
#. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:357
+#: ../lib/packagekit-glib2/pk-console-shared.c:355
msgid "Downloading groups"
msgstr "ÐванÑÐ°Ð¶ÐµÐ½Ð½Ñ Ð³ÑÑп"
#. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:361
+#: ../lib/packagekit-glib2/pk-console-shared.c:359
msgid "Downloading update information"
msgstr "ÐванÑÐ°Ð¶ÐµÐ½Ð½Ñ ÑнÑоÑмаÑÑÑ Ð¿Ñо оновленнÑ"
#. TRANSLATORS: transaction state, repackaging delta files
-#: ../lib/packagekit-glib2/pk-console-shared.c:365
+#: ../lib/packagekit-glib2/pk-console-shared.c:363
msgid "Repackaging files"
msgstr "ÐеÑепакÑÐ²Ð°Ð½Ð½Ñ ÑайлÑв"
#. TRANSLATORS: transaction state, loading databases
-#: ../lib/packagekit-glib2/pk-console-shared.c:369
+#: ../lib/packagekit-glib2/pk-console-shared.c:367
msgid "Loading cache"
msgstr "ÐаванÑÐ°Ð¶ÐµÐ½Ð½Ñ ÐºÐµÑÑ"
#. TRANSLATORS: transaction state, scanning for running processes
-#: ../lib/packagekit-glib2/pk-console-shared.c:373
+#: ../lib/packagekit-glib2/pk-console-shared.c:371
msgid "Scanning applications"
msgstr "ÐоÑÑк пÑогÑам"
#. TRANSLATORS: transaction state, generating a list of packages installed on the system
-#: ../lib/packagekit-glib2/pk-console-shared.c:377
+#: ../lib/packagekit-glib2/pk-console-shared.c:375
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:381
+#: ../lib/packagekit-glib2/pk-console-shared.c:379
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:385
+#: ../lib/packagekit-glib2/pk-console-shared.c:383
msgid "Waiting for authentication"
msgstr "ÐÑÑкÑÐ²Ð°Ð½Ð½Ñ Ð½Ð° завеÑÑÐµÐ½Ð½Ñ ÑозпÑзнаваннÑ"
#. TRANSLATORS: transaction state, we are updating the list of processes
-#: ../lib/packagekit-glib2/pk-console-shared.c:389
+#: ../lib/packagekit-glib2/pk-console-shared.c:387
msgid "Updating running applications"
msgstr "ÐÐ½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ ÑпиÑÐºÑ Ð·Ð°Ð¿ÑÑенний пÑогÑам"
#. TRANSLATORS: transaction state, we are checking executable files currently in use
-#: ../lib/packagekit-glib2/pk-console-shared.c:393
+#: ../lib/packagekit-glib2/pk-console-shared.c:391
msgid "Checking applications in use"
msgstr "ÐиÑÐ²Ð»ÐµÐ½Ð½Ñ Ð¿ÑогÑам, Ñо викоÑиÑÑовÑÑÑÑÑÑ"
#. TRANSLATORS: transaction state, we are checking for libraries currently in use
-#: ../lib/packagekit-glib2/pk-console-shared.c:397
+#: ../lib/packagekit-glib2/pk-console-shared.c:395
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:401
+#: ../lib/packagekit-glib2/pk-console-shared.c:399
msgid "Copying files"
msgstr "ÐопÑÑÐ²Ð°Ð½Ð½Ñ ÑайлÑв"
#. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:419
+#: ../lib/packagekit-glib2/pk-console-shared.c:417
msgid "Trivial"
msgstr "ÐезнаÑне"
#. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:423
+#: ../lib/packagekit-glib2/pk-console-shared.c:421
msgid "Normal"
msgstr "ÐвиÑайне"
#. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:427
+#: ../lib/packagekit-glib2/pk-console-shared.c:425
msgid "Important"
msgstr "Ðажливе"
#. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:431
+#: ../lib/packagekit-glib2/pk-console-shared.c:429
msgid "Security"
msgstr "Ðезпека"
#. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:435
+#: ../lib/packagekit-glib2/pk-console-shared.c:433
msgid "Bug fix "
msgstr "ÐипÑÐ°Ð²Ð»ÐµÐ½Ð½Ñ Ð²Ð°Ð´"
#. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:439
+#: ../lib/packagekit-glib2/pk-console-shared.c:437
msgid "Enhancement"
msgstr "ÐокÑаÑеннÑ"
#. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:443
+#: ../lib/packagekit-glib2/pk-console-shared.c:441
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:448
-#: ../lib/packagekit-glib2/pk-console-shared.c:521
+#: ../lib/packagekit-glib2/pk-console-shared.c:446
+#: ../lib/packagekit-glib2/pk-console-shared.c:519
msgid "Installed"
msgstr "ÐÑÑановлене"
#. TRANSLATORS: The state of a package, i.e. not installed
-#: ../lib/packagekit-glib2/pk-console-shared.c:453
+#: ../lib/packagekit-glib2/pk-console-shared.c:451
msgid "Available"
msgstr "ÐоÑÑÑпний"
#. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:471
+#: ../lib/packagekit-glib2/pk-console-shared.c:469
msgid "Downloading"
msgstr "ÐванÑаженнÑ"
#. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:475
+#: ../lib/packagekit-glib2/pk-console-shared.c:473
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:479
-#: ../lib/packagekit-glib2/pk-console-shared.c:599
+#: ../lib/packagekit-glib2/pk-console-shared.c:477
+#: ../lib/packagekit-glib2/pk-console-shared.c:597
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:483
-#: ../lib/packagekit-glib2/pk-console-shared.c:595
+#: ../lib/packagekit-glib2/pk-console-shared.c:481
+#: ../lib/packagekit-glib2/pk-console-shared.c:593
msgid "Removing"
msgstr "ÐилÑÑеннÑ"
#. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:487
+#: ../lib/packagekit-glib2/pk-console-shared.c:485
msgid "Cleaning up"
msgstr "ÐÑиÑеннÑ"
#. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:491
+#: ../lib/packagekit-glib2/pk-console-shared.c:489
msgid "Obsoleting"
msgstr "РобиÑÑ Ð·Ð°ÑÑаÑÑлим"
#. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:495
+#: ../lib/packagekit-glib2/pk-console-shared.c:493
msgid "Reinstalling"
msgstr "ÐеÑевÑÑановленнÑ"
#. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:513
+#: ../lib/packagekit-glib2/pk-console-shared.c:511
msgid "Downloaded"
msgstr "ÐванÑажено"
#. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:525
+#: ../lib/packagekit-glib2/pk-console-shared.c:523
msgid "Removed"
msgstr "ÐилÑÑено"
#. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:529
+#: ../lib/packagekit-glib2/pk-console-shared.c:527
msgid "Cleaned up"
msgstr "ÐÑиÑено"
#. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:533
+#: ../lib/packagekit-glib2/pk-console-shared.c:531
msgid "Obsoleted"
msgstr "СÑав заÑÑаÑÑлим"
#. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:537
+#: ../lib/packagekit-glib2/pk-console-shared.c:535
msgid "Reinstalled"
msgstr "ÐеÑевÑÑановлено"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:555
+#: ../lib/packagekit-glib2/pk-console-shared.c:553
msgid "Unknown role type"
msgstr "ÐевÑдомий Ñип"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:559
+#: ../lib/packagekit-glib2/pk-console-shared.c:557
msgid "Getting dependencies"
msgstr "ÐÑÑÐ¸Ð¼Ð°Ð½Ð½Ñ Ð·Ð°Ð»ÐµÐ¶Ð½Ð¾ÑÑей"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:563
+#: ../lib/packagekit-glib2/pk-console-shared.c:561
msgid "Getting update details"
msgstr "ÐÑÑÐ¸Ð¼Ð°Ð½Ð½Ñ Ð¿Ð¾Ð´ÑобиÑÑ Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:567
+#: ../lib/packagekit-glib2/pk-console-shared.c:565
msgid "Getting details"
msgstr "ÐÑÑÐ¸Ð¼Ð°Ð½Ð½Ñ Ð¿Ð¾Ð´ÑобиÑÑ"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:571
+#: ../lib/packagekit-glib2/pk-console-shared.c:569
msgid "Getting requires"
msgstr "ÐÑÑÐ¸Ð¼Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ
пÑо вимоги"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:575
+#: ../lib/packagekit-glib2/pk-console-shared.c:573
msgid "Getting updates"
msgstr "ÐÑÑÐ¸Ð¼Ð°Ð½Ð½Ñ Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ñ"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:579
+#: ../lib/packagekit-glib2/pk-console-shared.c:577
msgid "Searching by details"
msgstr "ÐоÑÑк за подÑобиÑÑми"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:583
+#: ../lib/packagekit-glib2/pk-console-shared.c:581
msgid "Searching by file"
msgstr "ÐоÑÑк за Ñайлом"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:587
+#: ../lib/packagekit-glib2/pk-console-shared.c:585
msgid "Searching groups"
msgstr "ÐоÑÑк гÑÑп"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:591
+#: ../lib/packagekit-glib2/pk-console-shared.c:589
msgid "Searching by name"
msgstr "ÐоÑÑк за назвоÑ"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:603
+#: ../lib/packagekit-glib2/pk-console-shared.c:601
msgid "Installing files"
msgstr "ÐÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ ÑайлÑв"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:607
+#: ../lib/packagekit-glib2/pk-console-shared.c:605
msgid "Refreshing cache"
msgstr "ÐÑвÑÐ¶ÐµÐ½Ð½Ñ ÐºÐµÑÑ"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:611
+#: ../lib/packagekit-glib2/pk-console-shared.c:609
msgid "Updating packages"
msgstr "ÐÐ½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ð°ÐºÑнкÑв"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:615
+#: ../lib/packagekit-glib2/pk-console-shared.c:613
msgid "Updating system"
msgstr "ÐÐ½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ ÑиÑÑеми"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:619
+#: ../lib/packagekit-glib2/pk-console-shared.c:617
msgid "Canceling"
msgstr "СкаÑÑваннÑ"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:627
+#: ../lib/packagekit-glib2/pk-console-shared.c:625
msgid "Getting repositories"
msgstr "ÐÑÑÐ¸Ð¼Ð°Ð½Ð½Ñ ÑпиÑÐºÑ ÑÑ
овиÑ"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:631
+#: ../lib/packagekit-glib2/pk-console-shared.c:629
msgid "Enabling repository"
msgstr "УвÑÐ¼ÐºÐ½ÐµÐ½Ð½Ñ ÑÑ
овиÑа"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:635
+#: ../lib/packagekit-glib2/pk-console-shared.c:633
msgid "Setting data"
msgstr "ÐÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ
"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:639
+#: ../lib/packagekit-glib2/pk-console-shared.c:637
msgid "Resolving"
msgstr "РозвâÑзаннÑ"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:643
+#: ../lib/packagekit-glib2/pk-console-shared.c:641
msgid "Getting file list"
msgstr "ÐÑÑÐ¸Ð¼Ð°Ð½Ð½Ñ ÑпиÑÐºÑ ÑайлÑв"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:647
+#: ../lib/packagekit-glib2/pk-console-shared.c:645
msgid "Getting provides"
msgstr "ÐÑÑÐ¸Ð¼Ð°Ð½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ
пÑо вмÑÑÑ"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:651
+#: ../lib/packagekit-glib2/pk-console-shared.c:649
msgid "Installing signature"
msgstr "ÐÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿ÑдпиÑÑ"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:655
+#: ../lib/packagekit-glib2/pk-console-shared.c:653
msgid "Getting packages"
msgstr "ÐÑÑÐ¸Ð¼Ð°Ð½Ð½Ñ ÑпиÑÐºÑ Ð¿Ð°ÐºÑнкÑв"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:659
+#: ../lib/packagekit-glib2/pk-console-shared.c:657
msgid "Accepting EULA"
msgstr "Ðгода з EULA"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:667
+#: ../lib/packagekit-glib2/pk-console-shared.c:665
msgid "Getting upgrades"
msgstr "ÐÑÑÐ¸Ð¼Ð°Ð½Ð½Ñ Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ñ"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:671
+#: ../lib/packagekit-glib2/pk-console-shared.c:669
msgid "Getting categories"
msgstr "ÐÑÑÐ¸Ð¼Ð°Ð½Ð½Ñ ÐºÐ°ÑегоÑÑй"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:675
+#: ../lib/packagekit-glib2/pk-console-shared.c:673
msgid "Getting transactions"
msgstr "ÐÑÑÐ¸Ð¼Ð°Ð½Ð½Ñ ÑпиÑÐºÑ Ð´Ñй"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:679
-#: ../lib/packagekit-glib2/pk-console-shared.c:683
+#: ../lib/packagekit-glib2/pk-console-shared.c:677
+#: ../lib/packagekit-glib2/pk-console-shared.c:681
msgid "Simulating install"
msgstr "ÐмÑÑаÑÑÑ Ð²ÑÑановленнÑ"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:687
+#: ../lib/packagekit-glib2/pk-console-shared.c:685
msgid "Simulating remove"
msgstr "ÐмÑÑаÑÑÑ Ð²Ð¸Ð»ÑÑеннÑ"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:691
+#: ../lib/packagekit-glib2/pk-console-shared.c:689
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:69
+#: ../lib/packagekit-glib2/pk-task-text.c:67
msgid "Do you want to allow installing of unsigned software?"
msgstr "ÐажаÑÑе дозволиÑи вÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð½ÐµÐ¿ÑдпиÑаного пÑогÑамного забезпеÑеннÑ?"
#. TRANSLATORS: tell the user we've not done anything
-#: ../lib/packagekit-glib2/pk-task-text.c:74
+#: ../lib/packagekit-glib2/pk-task-text.c:72
msgid "The unsigned software will not be installed."
msgstr "ÐепÑдпиÑане пÑогÑамне забезпеÑÐµÐ½Ð½Ñ Ð²ÑÑановлено не бÑде."
#. TRANSLATORS: the package repository is signed by a key that is not recognised
-#: ../lib/packagekit-glib2/pk-task-text.c:123
+#: ../lib/packagekit-glib2/pk-task-text.c:121
msgid "Software source signature required"
msgstr "ÐоÑÑÑбен пÑÐ´Ð¿Ð¸Ñ Ð´Ð¶ÐµÑела пÑогÑамного забезпеÑеннÑ"
#. TRANSLATORS: the package repository name
-#: ../lib/packagekit-glib2/pk-task-text.c:129
+#: ../lib/packagekit-glib2/pk-task-text.c:127
msgid "Software source name"
msgstr "Ðазва джеÑела пÑогÑамного забезпеÑеннÑ"
#. TRANSLATORS: the key URL
-#: ../lib/packagekit-glib2/pk-task-text.c:132
+#: ../lib/packagekit-glib2/pk-task-text.c:130
msgid "Key URL"
msgstr "ÐдÑеÑа URL клÑÑа"
#. TRANSLATORS: the username of the key
-#: ../lib/packagekit-glib2/pk-task-text.c:135
+#: ../lib/packagekit-glib2/pk-task-text.c:133
msgid "Key user"
msgstr "ÐоÑиÑÑÑÐ²Ð°Ñ ÐºÐ»ÑÑа"
#. TRANSLATORS: the key ID, usually a few hex digits
-#: ../lib/packagekit-glib2/pk-task-text.c:138
+#: ../lib/packagekit-glib2/pk-task-text.c:136
msgid "Key ID"
msgstr "ÐденÑиÑÑкаÑÐ¾Ñ ÐºÐ»ÑÑа"
#. TRANSLATORS: the key fingerprint, again, yet more hex
-#: ../lib/packagekit-glib2/pk-task-text.c:141
+#: ../lib/packagekit-glib2/pk-task-text.c:139
msgid "Key fingerprint"
msgstr "ÐÑдбиÑок клÑÑа"
#. TRANSLATORS: the timestamp (a bit like a machine readable time)
-#: ../lib/packagekit-glib2/pk-task-text.c:144
+#: ../lib/packagekit-glib2/pk-task-text.c:142
msgid "Key Timestamp"
msgstr "ЧаÑова познаÑка клÑÑа"
#. TRANSLATORS: ask the user if they want to import
-#: ../lib/packagekit-glib2/pk-task-text.c:157
+#: ../lib/packagekit-glib2/pk-task-text.c:155
msgid "Do you accept this signature?"
msgstr "Чи пÑдÑвеÑджÑÑÑе ви Ñей пÑдпиÑ?"
#. TRANSLATORS: tell the user we've not done anything
-#: ../lib/packagekit-glib2/pk-task-text.c:162
+#: ../lib/packagekit-glib2/pk-task-text.c:160
msgid "The signature was not accepted."
msgstr "ÐÑÐ´Ð¿Ð¸Ñ Ð½Ðµ бÑло пÑдÑвеÑджено."
#. TRANSLATORS: this is another name for a software licence that has to be read before installing
-#: ../lib/packagekit-glib2/pk-task-text.c:205
+#: ../lib/packagekit-glib2/pk-task-text.c:203
msgid "End user licence agreement required"
-msgstr ""
-"ÐоÑÑÑбне пÑдÑвеÑÐ´Ð¶ÐµÐ½Ð½Ñ Ð»ÑÑензÑÐ¹Ð½Ð¾Ñ Ñгоди з кÑнÑевим коÑиÑÑÑваÑем (EULA)"
+msgstr "ÐоÑÑÑбне пÑдÑвеÑÐ´Ð¶ÐµÐ½Ð½Ñ Ð»ÑÑензÑÐ¹Ð½Ð¾Ñ Ñгоди з кÑнÑевим коÑиÑÑÑваÑем (EULA)"
#. TRANSLATORS: the EULA text itself (long and boring)
-#: ../lib/packagekit-glib2/pk-task-text.c:214
+#: ../lib/packagekit-glib2/pk-task-text.c:212
msgid "Agreement"
msgstr "Угода"
#. TRANSLATORS: ask the user if they've read and accepted the EULA
-#: ../lib/packagekit-glib2/pk-task-text.c:223
+#: ../lib/packagekit-glib2/pk-task-text.c:221
msgid "Do you accept this agreement?"
msgstr "Чи Ð·Ð³Ð¾Ð´Ð²Ð½Ñ Ð²Ð¸ доÑÑимÑваÑиÑÑ ÑÑÑÑ Ñгоди?"
#. TRANSLATORS: tell the user we've not done anything
-#: ../lib/packagekit-glib2/pk-task-text.c:228
+#: ../lib/packagekit-glib2/pk-task-text.c:226
msgid "The agreement was not accepted."
msgstr "Ð£Ð³Ð¾Ð´Ñ Ð½Ðµ бÑло пÑдÑвеÑджено."
#. TRANSLATORS: the user needs to change media inserted into the computer
-#: ../lib/packagekit-glib2/pk-task-text.c:267
+#: ../lib/packagekit-glib2/pk-task-text.c:265
msgid "Media change required"
msgstr "ÐоÑÑÑбна змÑна ноÑÑÑ"
#. TRANSLATORS: the type, e.g. DVD, CD, etc
-#: ../lib/packagekit-glib2/pk-task-text.c:270
+#: ../lib/packagekit-glib2/pk-task-text.c:268
msgid "Media type"
msgstr "Тип ноÑÑÑ"
#. TRANSLATORS: the media label, usually like 'disk-1of3'
-#: ../lib/packagekit-glib2/pk-task-text.c:273
+#: ../lib/packagekit-glib2/pk-task-text.c:271
msgid "Media label"
msgstr "ÐÑÑка ноÑÑÑ"
#. TRANSLATORS: the media description, usually like 'Fedora 12 disk 5'
-#: ../lib/packagekit-glib2/pk-task-text.c:276
+#: ../lib/packagekit-glib2/pk-task-text.c:274
msgid "Text"
msgstr "ТекÑÑ"
#. TRANSLATORS: ask the user to insert the media
-#: ../lib/packagekit-glib2/pk-task-text.c:282
+#: ../lib/packagekit-glib2/pk-task-text.c:280
msgid "Please insert the correct media"
msgstr "ÐÑÐ´Ñ Ð»Ð°Ñка, вÑÑавÑе вÑдповÑдний ноÑÑй"
#. TRANSLATORS: tell the user we've not done anything as they are lazy
-#: ../lib/packagekit-glib2/pk-task-text.c:287
+#: ../lib/packagekit-glib2/pk-task-text.c:285
msgid "The correct media was not inserted."
msgstr "Ðе бÑло вÑÑавлено вÑдповÑдного ноÑÑÑ."
#. TRANSLATORS: When processing, we might have to remove other dependencies
-#: ../lib/packagekit-glib2/pk-task-text.c:302
+#: ../lib/packagekit-glib2/pk-task-text.c:300
msgid "The following packages have to be removed:"
msgstr "ÐÐ°Ð²ÐµÐ´ÐµÐ½Ñ Ð½Ð¸Ð¶Ñе пакÑнки бÑде вилÑÑено:"
#. TRANSLATORS: When processing, we might have to install other dependencies
-#: ../lib/packagekit-glib2/pk-task-text.c:307
+#: ../lib/packagekit-glib2/pk-task-text.c:305
msgid "The following packages have to be installed:"
msgstr "СлÑд вÑÑановиÑи ÑÐ°ÐºÑ Ð¿Ð°ÐºÑнки:"
#. TRANSLATORS: When processing, we might have to update other dependencies
-#: ../lib/packagekit-glib2/pk-task-text.c:312
+#: ../lib/packagekit-glib2/pk-task-text.c:310
msgid "The following packages have to be updated:"
msgstr "СлÑд оновиÑи ÑÐ°ÐºÑ Ð¿Ð°ÐºÑнки:"
#. TRANSLATORS: When processing, we might have to reinstall other dependencies
-#: ../lib/packagekit-glib2/pk-task-text.c:317
+#: ../lib/packagekit-glib2/pk-task-text.c:315
msgid "The following packages have to be reinstalled:"
msgstr "СлÑд пеÑевÑÑановиÑи ÑÐ°ÐºÑ Ð¿Ð°ÐºÑнки:"
#. TRANSLATORS: When processing, we might have to downgrade other dependencies
-#: ../lib/packagekit-glib2/pk-task-text.c:322
+#: ../lib/packagekit-glib2/pk-task-text.c:320
msgid "The following packages have to be downgraded:"
msgstr "СлÑд вÑÑановиÑи ÑÑаÑÑÑÑ Ð²ÐµÑÑÑÑ ÑакиÑ
пакÑнкÑв:"
#. TRANSLATORS: ask the user if the proposed changes are okay
-#: ../lib/packagekit-glib2/pk-task-text.c:382
+#: ../lib/packagekit-glib2/pk-task-text.c:380
msgid "Proceed with changes?"
msgstr "ÐнеÑÑи змÑни:"
#. TRANSLATORS: tell the user we didn't do anything
-#: ../lib/packagekit-glib2/pk-task-text.c:387
+#: ../lib/packagekit-glib2/pk-task-text.c:385
msgid "The transaction did not proceed."
msgstr "ÐпеÑаÑÑÑ Ð½Ðµ бÑло пÑодовжено."
@@ -1734,30 +1763,20 @@ msgid "Authentication is required to accept a EULA"
msgstr "ÐÐ»Ñ Ð¿ÑдÑвеÑÐ´Ð¶ÐµÐ½Ð½Ñ EULA ÑлÑд виконаÑи ÑозпÑзнаваннÑ"
#: ../policy/org.freedesktop.packagekit.policy.in.h:9
-msgid ""
-"Authentication is required to cancel a task that was not started by yourself"
+msgid "Authentication is required to cancel a task that was not started by yourself"
msgstr "ÐÐ»Ñ ÑкаÑÑÐ²Ð°Ð½Ð½Ñ Ð´ÑÑ, запоÑаÑÐºÐ¾Ð²Ð°Ð½Ð¾Ñ Ð½Ðµ вами, ÑлÑд пÑойÑи ÑозпÑзнаваннÑ"
#: ../policy/org.freedesktop.packagekit.policy.in.h:10
msgid "Authentication is required to change software source parameters"
-msgstr ""
-"ÐÐ»Ñ Ð·Ð¼Ñни паÑамеÑÑÑв джеÑел пÑогÑамного забезпеÑÐµÐ½Ð½Ñ ÑлÑд пÑойÑи "
-"ÑозпÑзнаваннÑ"
+msgstr "ÐÐ»Ñ Ð·Ð¼Ñни паÑамеÑÑÑв джеÑел пÑогÑамного забезпеÑÐµÐ½Ð½Ñ ÑлÑд пÑойÑи ÑозпÑзнаваннÑ"
#: ../policy/org.freedesktop.packagekit.policy.in.h:11
-msgid ""
-"Authentication is required to change the location used to decompress packages"
-msgstr ""
-"ÐÐ»Ñ Ð²Ð¸Ð·Ð½Ð°ÑÐµÐ½Ð½Ñ Ð°Ð´ÑеÑи каÑалогÑ, кÑди бÑде видобÑÑо вмÑÑÑ Ð¿Ð°ÐºÑнкÑв, ÑлÑд "
-"пÑойÑи ÑозпÑзнаваннÑ"
+msgid "Authentication is required to change the location used to decompress packages"
+msgstr "ÐÐ»Ñ Ð²Ð¸Ð·Ð½Ð°ÑÐµÐ½Ð½Ñ Ð°Ð´ÑеÑи каÑалогÑ, кÑди бÑде видобÑÑо вмÑÑÑ Ð¿Ð°ÐºÑнкÑв, ÑлÑд пÑойÑи ÑозпÑзнаваннÑ"
#: ../policy/org.freedesktop.packagekit.policy.in.h:12
-msgid ""
-"Authentication is required to consider a key used for signing packages as "
-"trusted"
-msgstr ""
-"ÐÐ»Ñ Ð²Ð¸Ð·Ð½Ð°Ð½Ð½Ñ ÐºÐ»ÑÑа, викоÑиÑÑаного Ð´Ð»Ñ Ð¿ÑдпиÑÑÐ²Ð°Ð½Ð½Ñ Ð¿Ð°ÐºÑнкÑв, Ñк надÑйного "
-"ÑлÑд пÑойÑи ÑозпÑзнаваннÑ"
+msgid "Authentication is required to consider a key used for signing packages as trusted"
+msgstr "ÐÐ»Ñ Ð²Ð¸Ð·Ð½Ð°Ð½Ð½Ñ ÐºÐ»ÑÑа, викоÑиÑÑаного Ð´Ð»Ñ Ð¿ÑдпиÑÑÐ²Ð°Ð½Ð½Ñ Ð¿Ð°ÐºÑнкÑв, Ñк надÑйного ÑлÑд пÑойÑи ÑозпÑзнаваннÑ"
#: ../policy/org.freedesktop.packagekit.policy.in.h:13
msgid "Authentication is required to install a signed package"
@@ -1773,8 +1792,7 @@ msgstr "ÐÐ»Ñ Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ ÑпиÑÐºÑ Ð´Ð¶ÐµÑел ÑиÑÑеми Ñл
#: ../policy/org.freedesktop.packagekit.policy.in.h:16
msgid "Authentication is required to reload the device with a new driver"
-msgstr ""
-"ÐÐ»Ñ Ð¿ÐµÑезаванÑÐ°Ð¶ÐµÐ½Ð½Ñ Ð¿ÑиÑÑÑÐ¾Ñ Ð· новим дÑайвеÑом ÑлÑд пÑойÑи ÑозпÑзнаваннÑ"
+msgstr "ÐÐ»Ñ Ð¿ÐµÑезаванÑÐ°Ð¶ÐµÐ½Ð½Ñ Ð¿ÑиÑÑÑÐ¾Ñ Ð· новим дÑайвеÑом ÑлÑд пÑойÑи ÑозпÑзнаваннÑ"
#: ../policy/org.freedesktop.packagekit.policy.in.h:17
msgid "Authentication is required to remove packages"
@@ -1785,23 +1803,23 @@ msgid "Authentication is required to rollback a transaction"
msgstr "ÐÐ»Ñ ÑкаÑÑÐ²Ð°Ð½Ð½Ñ Ð´ÑÑ ÑлÑд пÑойÑи ÑозпÑзнаваннÑ"
#: ../policy/org.freedesktop.packagekit.policy.in.h:19
-msgid ""
-"Authentication is required to set the network proxy used for downloading "
-"packages"
-msgstr ""
-"ÐÐ»Ñ Ð²Ð¸Ð·Ð½Ð°ÑÐµÐ½Ð½Ñ Ð¿ÑокÑÑ-ÑеÑвеÑа, Ñкий бÑде викоÑиÑÑано Ð´Ð»Ñ Ð·Ð²Ð°Ð½ÑÐ°Ð¶ÐµÐ½Ð½Ñ "
-"пакÑнкÑв, ÑлÑд пÑойÑи ÑозпÑзнаваннÑ"
+msgid "Authentication is required to set the network proxy used for downloading packages"
+msgstr "ÐÐ»Ñ Ð²Ð¸Ð·Ð½Ð°ÑÐµÐ½Ð½Ñ Ð¿ÑокÑÑ-ÑеÑвеÑа, Ñкий бÑде викоÑиÑÑано Ð´Ð»Ñ Ð·Ð²Ð°Ð½ÑÐ°Ð¶ÐµÐ½Ð½Ñ Ð¿Ð°ÐºÑнкÑв, ÑлÑд пÑойÑи ÑозпÑзнаваннÑ"
#: ../policy/org.freedesktop.packagekit.policy.in.h:20
msgid "Authentication is required to update packages"
msgstr "ÐÐ»Ñ Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ð°ÐºÑнкÑв ÑлÑд пÑойÑи ÑозпÑзнаваннÑ"
+#: ../policy/org.freedesktop.packagekit.policy.in.h:21
+msgid "Authentication is required to upgrade the operating system"
+msgstr "ÐÐ»Ñ Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð²ÐµÑÑÑÑ Ð¾Ð¿ÐµÑаÑÑÐ¹Ð½Ð¾Ñ ÑиÑÑеми ÑлÑд пÑойÑи ÑозпÑзнаваннÑ"
+
#. SECURITY:
#. - Normal users are allowed to cancel their own task without
#. authentication, but a different user id needs the admin password
#. to cancel another users task.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:26
+#: ../policy/org.freedesktop.packagekit.policy.in.h:27
msgid "Cancel foreign task"
msgstr "СкаÑÑÐ²Ð°Ð½Ð½Ñ ÑÑоÑоннÑÑ
завданÑ"
@@ -1811,7 +1829,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:33
+#: ../policy/org.freedesktop.packagekit.policy.in.h:34
msgid "Change location that packages are installed"
msgstr "ÐмÑниÑи каÑалог, кÑди вÑÑановлÑваÑимÑÑÑÑÑ Ð¿Ð°ÐºÑнки"
@@ -1820,7 +1838,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:39
+#: ../policy/org.freedesktop.packagekit.policy.in.h:40
msgid "Change software source parameters"
msgstr "ÐмÑна паÑамеÑÑÑв джеÑела пÑогÑам"
@@ -1830,7 +1848,7 @@ msgstr "ÐмÑна паÑамеÑÑÑв джеÑела пÑогÑам"
#. - Paranoid users (or parents!) can change this to 'auth_admin' or
#. 'auth_admin_keep'.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:46
+#: ../policy/org.freedesktop.packagekit.policy.in.h:47
msgid "Install signed package"
msgstr "ÐÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿ÑдпиÑаного пакÑнка"
@@ -1840,7 +1858,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:53
+#: ../policy/org.freedesktop.packagekit.policy.in.h:54
msgid "Install untrusted local file"
msgstr "ÐÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð½ÐµÐ½Ð°Ð´Ñйного локалÑного Ñайла"
@@ -1848,7 +1866,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:58
+#: ../policy/org.freedesktop.packagekit.policy.in.h:59
msgid "Refresh system sources"
msgstr "ÐÐ½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ ÑпиÑкÑв джеÑел ÑиÑÑеми"
@@ -1859,7 +1877,7 @@ msgstr "ÐÐ½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ ÑпиÑкÑв джеÑел ÑиÑÑеми"
#. try to rebind drivers in use, for instance security authentication
#. devices.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:66
+#: ../policy/org.freedesktop.packagekit.policy.in.h:67
msgid "Reload a device"
msgstr "ÐеÑезаванÑÐ°Ð¶ÐµÐ½Ð½Ñ Ð¿ÑиÑÑÑоÑ"
@@ -1872,7 +1890,7 @@ msgstr "ÐеÑезаванÑÐ°Ð¶ÐµÐ½Ð½Ñ Ð¿ÑиÑÑÑоÑ"
#. be removed. If this is not possible, change this authentication to
#. 'auth_admin'.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:76
+#: ../policy/org.freedesktop.packagekit.policy.in.h:77
msgid "Remove package"
msgstr "ÐилÑÑÐµÐ½Ð½Ñ Ð¿Ð°ÐºÑнка"
@@ -1881,7 +1899,7 @@ msgstr "ÐилÑÑÐµÐ½Ð½Ñ Ð¿Ð°ÐºÑнка"
#. as this will change a large number of packages, and could expose the
#. system to previously patched security vulnerabilities.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:82
+#: ../policy/org.freedesktop.packagekit.policy.in.h:83
msgid "Rollback to a previous transaction"
msgstr "ÐовеÑÐ½ÐµÐ½Ð½Ñ Ð´Ð¾ попеÑеднÑÐ¾Ñ Ð¾Ð¿ÐµÑаÑÑÑ"
@@ -1889,7 +1907,7 @@ msgstr "ÐовеÑÐ½ÐµÐ½Ð½Ñ Ð´Ð¾ попеÑеднÑÐ¾Ñ Ð¾Ð¿ÐµÑаÑÑÑ"
#. - Normal users do not require admin authentication to set the proxy
#. used for downloading packages.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:87
+#: ../policy/org.freedesktop.packagekit.policy.in.h:88
msgid "Set network proxy"
msgstr "ÐÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿ÑокÑÑ-ÑеÑвеÑ"
@@ -1899,7 +1917,7 @@ msgstr "ÐÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿ÑокÑÑ-ÑеÑвеÑ"
#. without a secure authentication.
#. - This is not kept as each package should be authenticated.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:94
+#: ../policy/org.freedesktop.packagekit.policy.in.h:95
msgid "Trust a key used for signing packages"
msgstr "ÐизнаÑÐµÐ½Ð½Ñ Ð½Ð°Ð´ÑйноÑÑÑ ÐºÐ»ÑÑа, Ñким пÑдпиÑано пакÑнки"
@@ -1910,15 +1928,23 @@ msgstr "ÐизнаÑÐµÐ½Ð½Ñ Ð½Ð°Ð´ÑйноÑÑÑ ÐºÐ»ÑÑа, Ñким пÑдп
#. - Changing this to anything other than 'yes' will break unattended
#. updates.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:102
+#: ../policy/org.freedesktop.packagekit.policy.in.h:103
msgid "Update packages"
msgstr "ÐÐ½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ð°ÐºÑнкÑв"
+#. SECURITY:
+#. - Normal users require admin authentication to upgrade the disto as
+#. this can make the system unbootable or stop other applications from
+#. working.
+#.
+#: ../policy/org.freedesktop.packagekit.policy.in.h:109
+msgid "Upgrade System"
+msgstr "ÐÐ½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ ÑиÑÑеми"
+
#. TRANSLATORS: failed due to DBus security
#: ../src/pk-main.c:87
msgid "Startup failed due to security policies on this machine."
-msgstr ""
-"СпÑоба запÑÑÐºÑ Ð·Ð°Ð·Ð½Ð°Ð»Ð° невдаÑÑ ÑеÑез Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð±ÐµÐ·Ð¿ÐµÐºÐ¸ на ÑÑÐ¾Ð¼Ñ ÐºÐ¾Ð¼Ð¿âÑÑеÑÑ."
+msgstr "СпÑоба запÑÑÐºÑ Ð·Ð°Ð·Ð½Ð°Ð»Ð° невдаÑÑ ÑеÑез Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð±ÐµÐ·Ð¿ÐµÐºÐ¸ на ÑÑÐ¾Ð¼Ñ ÐºÐ¾Ð¼Ð¿âÑÑеÑÑ."
#. TRANSLATORS: only two ways this can fail...
#: ../src/pk-main.c:89
@@ -1928,16 +1954,12 @@ msgstr "Таке може ÑÑапиÑиÑÑ Ð· двоÑ
пÑиÑин:"
#. TRANSLATORS: only allowed to be owned by root
#: ../src/pk-main.c:91
msgid "The correct user is not launching the executable (usually root)"
-msgstr ""
-"ÐиконÑваний Ñайл бÑло запÑÑено не Ñим коÑиÑÑÑваÑем (його мав запÑÑÑиÑи root)"
+msgstr "ÐиконÑваний Ñайл бÑло запÑÑено не Ñим коÑиÑÑÑваÑем (його мав запÑÑÑиÑи root)"
#. TRANSLATORS: or we are installed in a prefix
#: ../src/pk-main.c:93
-msgid ""
-"The org.freedesktop.PackageKit.conf file is not installed in the system "
-"directory:"
-msgstr ""
-"У ÑиÑÑÐµÐ¼Ð½Ð¾Ð¼Ñ ÐºÐ°ÑÐ°Ð»Ð¾Ð·Ñ Ñайл org.freedesktop.PackageKit.conf не вÑÑановлено:"
+msgid "The org.freedesktop.PackageKit.conf file is not installed in the system directory:"
+msgstr "У ÑиÑÑÐµÐ¼Ð½Ð¾Ð¼Ñ ÐºÐ°ÑÐ°Ð»Ð¾Ð·Ñ Ñайл org.freedesktop.PackageKit.conf не вÑÑановлено:"
#. TRANSLATORS: a backend is the system package tool, e.g. yum, apt
#: ../src/pk-main.c:200
@@ -1980,25 +2002,23 @@ msgid "Cannot connect to the system bus"
msgstr "Ðе вдалоÑÑ Ð·âÑднаÑиÑÑ Ð· ÑиÑÑÐµÐ¼Ð½Ð¾Ñ ÑиноÑ"
#. TRANSLATORS: cannot register on system bus, unknown reason -- geeky error follows
-#: ../src/pk-main.c:318
+#: ../src/pk-main.c:316
msgid "Error trying to start:"
msgstr "Ðомилка пÑд ÑÐ°Ñ ÑпÑоби запÑÑкÑ:"
#: ../src/pk-polkit-action-lookup.c:150
msgid "To install debugging packages, extra sources need to be enabled"
-msgstr ""
-"ÐÐ»Ñ Ð²ÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ð°ÐºÑнкÑв Ð´Ð»Ñ ÑÑÑÐ²Ð°Ð½Ð½Ñ Ð²Ð°Ð´ ÑлÑд ÑвÑмкнÑÑи додаÑÐºÐ¾Ð²Ñ Ð´Ð¶ÐµÑела "
-"пÑогÑамного забезпеÑеннÑ"
+msgstr "ÐÐ»Ñ Ð²ÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ð°ÐºÑнкÑв Ð´Ð»Ñ ÑÑÑÐ²Ð°Ð½Ð½Ñ Ð²Ð°Ð´ ÑлÑд ÑвÑмкнÑÑи додаÑÐºÐ¾Ð²Ñ Ð´Ð¶ÐµÑела пÑогÑамного забезпеÑеннÑ"
#. TRANSLATORS: is not GPG signed
-#: ../src/pk-polkit-action-lookup.c:171 ../src/pk-polkit-action-lookup.c:190
+#: ../src/pk-polkit-action-lookup.c:171
+#: ../src/pk-polkit-action-lookup.c:190
msgid "The software is not from a trusted source."
msgstr "ÐÑогÑамне забезпеÑÐµÐ½Ð½Ñ Ð½Ð°Ð´ÑйÑло з ненадÑйного джеÑела."
#: ../src/pk-polkit-action-lookup.c:176
msgid "Do not update this package unless you are sure it is safe to do so."
-msgstr ""
-"Ðе оновлÑйÑе Ñей пакÑнок, ÑкÑо не певнÑ, Ñо Ñаке Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ Ð±ÐµÐ·Ð¿ÐµÑним."
+msgstr "Ðе оновлÑйÑе Ñей пакÑнок, ÑкÑо не певнÑ, Ñо Ñаке Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ Ð±ÐµÐ·Ð¿ÐµÑним."
#: ../src/pk-polkit-action-lookup.c:177
msgid "Do not update these packages unless you are sure it is safe to do so."
@@ -2006,13 +2026,11 @@ msgstr "Ðе оновлÑйÑе ÑÑ Ð¿Ð°ÐºÑнки, ÑкÑо не певнÑ,
#: ../src/pk-polkit-action-lookup.c:195
msgid "Do not install this package unless you are sure it is safe to do so."
-msgstr ""
-"Ðе вÑÑановлÑйÑе Ñей пакÑнок, ÑкÑо не певнÑ, Ñо Ñаке вÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ Ð±ÐµÐ·Ð¿ÐµÑним."
+msgstr "Ðе вÑÑановлÑйÑе Ñей пакÑнок, ÑкÑо не певнÑ, Ñо Ñаке вÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ Ð±ÐµÐ·Ð¿ÐµÑним."
#: ../src/pk-polkit-action-lookup.c:196
msgid "Do not install these packages unless you are sure it is safe to do so."
-msgstr ""
-"Ðе вÑÑановлÑйÑе ÑÑ Ð¿Ð°ÐºÑнки, ÑкÑо не певнÑ, Ñо Ñаке вÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ Ð±ÐµÐ·Ð¿ÐµÑним."
+msgstr "Ðе вÑÑановлÑйÑе ÑÑ Ð¿Ð°ÐºÑнки, ÑкÑо не певнÑ, Ñо Ñаке вÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ Ð±ÐµÐ·Ð¿ÐµÑним."
#. TRANSLATORS: too many packages to list each one
#: ../src/pk-polkit-action-lookup.c:273
@@ -2024,173 +2042,107 @@ msgstr "ÐагаÑо пакÑнкÑв"
msgid "Only trusted"
msgstr "ÐиÑе надÑйнÑ"
-#. TRANSLATORS: turn on all debugging
-#: ../src/egg-debug.c:388
-msgid "Show debugging information for all files"
-msgstr "ÐоказÑваÑи дÑагноÑÑиÑÐ½Ñ Ð´Ð°Ð½Ñ Ð´Ð»Ñ Ð²ÑÑÑ
ÑайлÑв"
-
-#. TRANSLATORS: a list of modules to debug
-#: ../src/egg-debug.c:458
-msgid "Debug these specific modules"
-msgstr "ÐÑагноÑÑика вказаниÑ
модÑлÑв"
-
-#. TRANSLATORS: a list of functions to debug
-#: ../src/egg-debug.c:461
-msgid "Debug these specific functions"
-msgstr "ÐÑагноÑÑика вказаниÑ
ÑÑнкÑÑй"
-
-#. TRANSLATORS: save to a log
-#: ../src/egg-debug.c:464
-msgid "Log debugging data to a file"
-msgstr "ÐапиÑаÑи Ð´Ð°Ð½Ñ Ð´ÑагноÑÑики до Ñайла"
-
-#: ../src/egg-debug.c:468
-msgid "Debugging Options"
-msgstr "ÐаÑамеÑÑи дÑагноÑÑики"
-
-#: ../src/egg-debug.c:468
-msgid "Show debugging options"
-msgstr "ÐоказÑваÑи паÑамеÑÑи дÑагноÑÑики"
-
+#~ msgid "Debug these specific modules"
+#~ msgstr "ÐÑагноÑÑика вказаниÑ
модÑлÑв"
+#~ msgid "Debug these specific functions"
+#~ msgstr "ÐÑагноÑÑика вказаниÑ
ÑÑнкÑÑй"
+#~ msgid "Log debugging data to a file"
+#~ msgstr "ÐапиÑаÑи Ð´Ð°Ð½Ñ Ð´ÑагноÑÑики до Ñайла"
#~ msgid "Malicious software can damage your computer or cause other harm."
#~ msgstr ""
#~ "ÐловмиÑне пÑогÑамне забезпеÑÐµÐ½Ð½Ñ Ð¼Ð¾Ð¶Ðµ поÑкодиÑи Ð²Ð°Ñ ÐºÐ¾Ð¼Ð¿âÑÑÐµÑ Ð°Ð±Ð¾ завдаÑи "
#~ "ÑнÑиÑ
непÑиÑмноÑÑей."
-
#~ msgid "Transaction failed with no error"
#~ msgstr "СпÑоба Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð¾Ð¿ÐµÑаÑÑÑ Ð·Ð°Ð·Ð½Ð°Ð»Ð° невдаÑÑ, але помилок не бÑло"
-
#~ msgid "Failed to get transaction list"
#~ msgstr "СпÑоба оÑÑÐ¸Ð¼Ð°Ð½Ð½Ñ ÑпиÑÐºÑ Ð¾Ð¿ÐµÑаÑÑй завеÑÑилаÑÑ Ð½ÐµÐ²Ð´Ð°Ð»Ð¾"
-
#~ msgid "Please restart the application as it is being used."
#~ msgstr "ÐеÑезапÑÑÑÑÑÑ Ð¿ÑогÑамÑ, оÑкÑлÑки вона заÑаз викоÑиÑÑовÑÑÑÑÑÑ."
-
#~ msgid "The package %s is already installed"
#~ msgstr "ÐакÑнок %s вже вÑÑановлено"
-
#~ msgid "The package %s could not be installed: %s"
#~ msgstr "Ðе вдалоÑÑ Ð²ÑÑановиÑи пакÑнок %s: %s"
-
#~ msgid "The package install was canceled!"
#~ msgstr "ÐÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ð°ÐºÑнка ÑкаÑовано!"
-
#~ msgid "This tool could not install the packages: %s"
#~ msgstr "ÐÑогÑÐ°Ð¼Ñ Ð½Ðµ вдалоÑÑ Ð²ÑÑановиÑи пакÑнки: %s"
-
#~ msgid "This tool could not install the files: %s"
#~ msgstr "ÐÑогÑÐ°Ð¼Ñ Ð½Ðµ вдалоÑÑ Ð²ÑÑановиÑи Ñайли: %s"
-
#~ msgid "This tool could not remove %s: %s"
#~ msgstr "ÐÑогÑÐ°Ð¼Ñ Ð½Ðµ вдалоÑÑ Ð²Ð¸Ð»ÑÑиÑи %s: %s"
-
#~ msgid "This tool could not remove the packages: %s"
#~ msgstr "ÐÑогÑÐ°Ð¼Ñ Ð½Ðµ вдалоÑÑ Ð²Ð¸Ð»ÑÑиÑи пакÑнки: %s"
-
#~ msgid "Proceed with additional packages?"
#~ msgstr "ÐилÑÑиÑи додаÑÐºÐ¾Ð²Ñ Ð¿Ð°ÐºÑнки?"
-
#~ msgid "The package removal was canceled!"
#~ msgstr "ÐилÑÑÐµÐ½Ð½Ñ Ð¿Ð°ÐºÑнка ÑкаÑовано!"
-
#~ msgid "This tool could not download the package %s as it could not be found"
#~ msgstr ""
#~ "ÐÑогÑÐ°Ð¼Ñ Ð½Ðµ вдалоÑÑ Ð·Ð²Ð°Ð½ÑажиÑи пакÑнок %s, оÑкÑлÑки вÑдповÑдний пакÑнок "
#~ "не бÑло знайдено"
-
#~ msgid "This tool could not download the packages: %s"
#~ msgstr "ÐÑогÑÐ°Ð¼Ñ Ð½Ðµ вдалоÑÑ Ð·Ð²Ð°Ð½ÑажиÑи пакÑнки: %s"
-
#~ msgid "This tool could not update %s: %s"
#~ msgstr "ÐÑогÑÐ°Ð¼Ñ Ð½Ðµ вдалоÑÑ Ð¾Ð½Ð¾Ð²Ð¸Ñи %s: %s"
-
#~ msgid "The package update was canceled!"
#~ msgstr "ÐÐ½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ð°ÐºÑнка ÑкаÑовано!"
-
#~ msgid "This tool could not get the requirements for %s: %s"
#~ msgstr "ÐÑогÑÐ°Ð¼Ñ Ð½Ðµ вдалоÑÑ Ð¾ÑÑимаÑи ÑпиÑок ÑайлÑв Ð´Ð»Ñ %s: %s"
-
#~ msgid "This tool could not get the dependencies for %s: %s"
#~ msgstr "ÐÑогÑÐ°Ð¼Ñ Ð½Ðµ вдалоÑÑ Ð¾ÑÑимаÑи залежноÑÑÑ Ð´Ð»Ñ %s: %s"
-
#~ msgid "This tool could not get package details for %s: %s"
#~ msgstr "ÐÑогÑÐ°Ð¼Ñ Ð½Ðµ вдалоÑÑ Ð¾ÑÑимаÑи паÑамеÑÑи пакÑнка %s: %s"
-
#~ msgid "This tool could not find the files for %s: %s"
#~ msgstr "ÐÑогÑÐ°Ð¼Ñ Ð½Ðµ вдалоÑÑ Ð·Ð½Ð°Ð¹Ñи Ñайли %s: %s"
-
#~ msgid "This tool could not get the file list for %s: %s"
#~ msgstr "ÐÑогÑÐ°Ð¼Ñ Ð½Ðµ вдалоÑÑ Ð¾ÑÑимаÑи ÑпиÑок ÑайлÑв %s: %s"
-
#~ msgid "File already exists: %s"
#~ msgstr "Файл вже ÑÑнÑÑ: %s"
-
#~ msgid "This tool could not get package list: %s"
#~ msgstr "ÐÑогÑÐ°Ð¼Ñ Ð½Ðµ вдалоÑÑ Ð¾ÑÑимаÑи ÑпиÑок пакÑнкÑв: %s"
-
#~ msgid "Failed to save to disk"
#~ msgstr "Ðе вдалоÑÑ Ð·Ð±ÐµÑегÑи на диÑк"
-
#~ msgid "File does not exist: %s"
#~ msgstr "Файла не ÑÑнÑÑ: %s"
-
#~ msgid "Packages to add"
#~ msgstr "ÐакÑнки, ÑÐºÑ Ð±Ñде додано"
-
#~ msgid "Packages to remove"
#~ msgstr "ÐакÑнки, ÑÐºÑ Ð±Ñде вилÑÑено"
-
#~ msgid "No new packages need to be installed"
#~ msgstr "У вÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð½Ð¾Ð²Ð¸Ñ
пакÑнкÑв Ð½ÐµÐ¼Ð°Ñ Ð¿Ð¾ÑÑеби"
-
#~ msgid "not found."
#~ msgstr "не знайдено."
-
#~ msgid "No packages can be found to install"
#~ msgstr "ÐакÑнкÑв Ð´Ð»Ñ Ð²ÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð½Ðµ знайдено"
-
#~ msgid "This tool could not find the update details for %s: %s"
#~ msgstr "ÐÑогÑÐ°Ð¼Ñ Ð½Ðµ вдалоÑÑ Ð·Ð½Ð°Ð¹Ñи паÑамеÑÑи Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ %s: %s"
-
#~ msgid "This tool could not get the update details for %s: %s"
#~ msgstr "ÐÑогÑÐ°Ð¼Ñ Ð½Ðµ вдалоÑÑ Ð¾ÑÑимаÑи паÑамеÑÑи Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ %s: %s"
-
#~ msgid "Error:"
#~ msgstr "Ðомилка:"
-
#~ msgid "Repository signature required"
#~ msgstr "ÐоÑÑÑбен пÑÐ´Ð¿Ð¸Ñ ÑÑ
овиÑа"
-
#~ msgid "End user license agreement required"
#~ msgstr ""
#~ "ÐоÑÑÑбне пÑдÑвеÑÐ´Ð¶ÐµÐ½Ð½Ñ Ð»ÑÑензÑÐ¹Ð½Ð¾Ñ Ñгоди з кÑнÑевим коÑиÑÑÑваÑем (EULA)"
-
#~ msgid "Do you agree to this license?"
#~ msgstr "Чи погоджÑÑÑеÑÑ Ð²Ð¸ з Ñими Ñмовами лÑÑензÑваннÑ?"
-
#~ msgid "The license was refused."
#~ msgstr "Умови лÑÑензÑÐ²Ð°Ð½Ð½Ñ Ð±Ñло вÑдкинÑÑо."
-
#~ msgid "This tool could not connect to system DBUS."
#~ msgstr "ЦÑÐ¾Ð¼Ñ ÑнÑÑÑÑменÑÑ Ð½Ðµ вдалоÑÑ Ð·âÑднаÑиÑÑ Ð· DBUS ÑиÑÑеми."
-
#~ msgid "A package name or filename to install is required"
#~ msgstr "СлÑд вказаÑи Ð½Ð°Ð·Ð²Ñ Ð¿Ð°ÐºÑнка або Ð½Ð°Ð·Ð²Ñ Ñайла, Ñкий ÑлÑд вÑÑановиÑи"
-
#~ msgid "A list file name to create is required"
#~ msgstr "СлÑд вказаÑи ÑпиÑок назв ÑайлÑв, ÑÐºÑ ÑлÑд ÑÑвоÑиÑи"
-
#~ msgid "A list file to open is required"
#~ msgstr "СлÑд вказаÑи ÑпиÑок ÑайлÑв, ÑÐºÑ ÑлÑд вÑдкÑиÑи"
-
#~ msgid "Incorrect privileges for this operation"
#~ msgstr "ÐÐ»Ñ ÑÑÑÑ Ð¾Ð¿ÐµÑаÑÑÑ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾ непÑавилÑÐ½Ñ Ð¿Ñава доÑÑÑпÑ"
-
#~ msgid "Cannot show the list of transactions"
#~ msgstr "Ðоказ ÑпиÑÐºÑ Ð¾Ð¿ÐµÑаÑÑÑ Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ð¸Ð¹"
-
#~ msgid "EULA ID"
#~ msgstr "ÐденÑиÑÑкаÑÐ¾Ñ EULA"
-
#~ msgid "Media ID"
#~ msgstr "ÐденÑиÑÑкаÑÐ¾Ñ Ð½Ð¾ÑÑÑ"
+
commit 3bbdfd61998e515672c7d27867708d859265e774
Author: assar <asiersar at yahoo.com>
Date: Fri Nov 26 12:12:00 2010 +0000
l10n: Updated Basque (eu) translation to 100%
New status: 375 messages complete with 0 fuzzies and 0 untranslated.
Transmitted-via: Transifex (www.transifex.net).
diff --git a/po/eu.po b/po/eu.po
index a5bf3da..9326aa0 100644
--- a/po/eu.po
+++ b/po/eu.po
@@ -1,11 +1,12 @@
# Basque translation of PackageKit.
# This file is distributed under the same license as the PackageKit package.
# Asier Sarasua Garmendia <asiersar at yahoo.com>, 2010.
-#
+#
msgid ""
-msgstr "Project-Id-Version: packagekit\n"
+msgstr ""
+"Project-Id-Version: packagekit\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-11-07 07:14+0000\n"
+"POT-Creation-Date: 2010-11-26 08:16+0000\n"
"PO-Revision-Date: 2010-08-12 01:19+0100\n"
"Last-Translator: Asier Sarasua Garmendia <asiersar at yahoo.com>\n"
"Language-Team: Librezale <librezale at librezale.org>\n"
@@ -20,7 +21,8 @@ msgstr "Project-Id-Version: packagekit\n"
msgid "Transaction"
msgstr "Transakzioa"
-#. TRANSLATORS: this is the time the transaction was started in system timezone
+#. TRANSLATORS: this is the time the transaction was started in system
+#. timezone
#: ../client/pk-console.c:176
msgid "System time"
msgstr "Sistemaren ordua"
@@ -142,12 +144,14 @@ msgid_plural "Packages"
msgstr[0] "Paketea"
msgstr[1] "Paketeak"
-#. TRANSLATORS: details about the update, any packages that this update updates
+#. TRANSLATORS: details about the update, any packages that this update
+#. updates
#: ../client/pk-console.c:348
msgid "Updates"
msgstr "Eguneraketak"
-#. TRANSLATORS: details about the update, any packages that this update obsoletes
+#. TRANSLATORS: details about the update, any packages that this update
+#. obsoletes
#: ../client/pk-console.c:352
msgid "Obsoletes"
msgstr "Zaharkituak"
@@ -219,12 +223,14 @@ msgstr "Sistema berrabiaraztea eskatu du honek:"
msgid "Session restart required:"
msgstr "Sistema berrabiaraztea eskatua:"
-#. TRANSLATORS: a package requires the system to be restarted due to a security update
+#. TRANSLATORS: a package requires the system to be restarted due to a
+#. security update
#: ../client/pk-console.c:465
msgid "System restart (security) required by:"
msgstr "Sistema berrabiaraztea (segurtasunagatik) eskatu du honek:"
-#. TRANSLATORS: a package requires the session to be restarted due to a security update
+#. TRANSLATORS: a package requires the session to be restarted due to a
+#. security update
#: ../client/pk-console.c:468
msgid "Session restart (security) required:"
msgstr "Sistema berrabiaraztea (seguratasunagatik) eskatua:"
@@ -239,7 +245,8 @@ msgstr "Aplikazioa berrabiaraztea eskatu du honek:"
msgid "Package description"
msgstr "Paketearen deskribapena"
-#. TRANSLATORS: This a message (like a little note that may be of interest) from the transaction
+#. TRANSLATORS: This a message (like a little note that may be of interest)
+#. from the transaction
#: ../client/pk-console.c:537
msgid "Message:"
msgstr "Mezua:"
@@ -274,7 +281,8 @@ msgstr "Emaitzak:"
msgid "Fatal error"
msgstr "Errore larria"
-#. TRANSLATORS: the user asked to update everything, but there is nothing that can be updated
+#. TRANSLATORS: the user asked to update everything, but there is nothing that
+#. can be updated
#: ../client/pk-console.c:701
msgid "There are no packages to update."
msgstr "Ez da paketerik eguneratu behar."
@@ -306,48 +314,50 @@ msgstr "Amaitu saioa eta hasi saioa eguneraketa osatzeko."
#. TRANSLATORS: a package needs to restart their system (due to security)
#: ../client/pk-console.c:829
-msgid ""
-"Please restart the computer to complete the update as important security "
-"updates have been installed."
+msgid "Please restart the computer to complete the update as important security updates have been installed."
msgstr "Berrabiarazi ordenagailua eguneraketa osatzeko, segurtasun-eguneraketa garrantzitsuak instalatu baitira."
#. TRANSLATORS: a package needs to restart the session (due to security)
#: ../client/pk-console.c:832
-msgid ""
-"Please logout and login to complete the update as important security updates "
-"have been installed."
+msgid "Please logout and login to complete the update as important security updates have been installed."
msgstr "Amaitu saioa eta hasi berriro saioa eguneraketa osatzeko, segurtasun-eguneraketa garrantzitsuak instalatu baitira."
-#. TRANSLATORS: The user used 'pkcon install dave.rpm' rather than 'pkcon install-local dave.rpm'
+#. TRANSLATORS: The user used 'pkcon install dave.rpm' rather than 'pkcon
+#. install-local dave.rpm'
#: ../client/pk-console.c:858
#, c-format
-msgid ""
-"Expected package name, actually got file. Try using 'pkcon install-local %s' "
-"instead."
+msgid "Expected package name, actually got file. Try using 'pkcon install-local %s' instead."
msgstr "Pakete-izena espero zen, fitxategia eskuratu da. Saiatu 'pkcon install-local %s' erabiltzen."
-#. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
+#. TRANSLATORS: There was an error getting the list of files for the package.
+#. The detailed error follows
#: ../client/pk-console.c:866
#, c-format
msgid "This tool could not find any available package: %s"
msgstr "Tresna honek ez du aurkitu paketerik eskuragarri: %s"
-#. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
+#. TRANSLATORS: There was an error getting the list of files for the package.
+#. The detailed error follows
#: ../client/pk-console.c:894
#, c-format
msgid "This tool could not find the installed package: %s"
msgstr "Tresna honek ez du aurkitu instalatutako paketea: %s"
-#. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
+#. TRANSLATORS: There was an error getting the list of files for the package.
+#. The detailed error follows
#: ../client/pk-console.c:922 ../client/pk-console.c:950
#, c-format
msgid "This tool could not find the package: %s"
msgstr "Tresna honek ez du aurkitu paketea: %s"
-#. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
-#. TRANSLATORS: There was an error getting the dependencies for the package. The detailed error follows
-#. TRANSLATORS: There was an error getting the details about the package. The detailed error follows
-#. TRANSLATORS: The package name was not found in any software sources. The detailed error follows
+#. TRANSLATORS: There was an error getting the list of files for the package.
+#. The detailed error follows
+#. TRANSLATORS: There was an error getting the dependencies for the package.
+#. The detailed error follows
+#. TRANSLATORS: There was an error getting the details about the package. The
+#. detailed error follows
+#. TRANSLATORS: The package name was not found in any software sources. The
+#. detailed error follows
#: ../client/pk-console.c:978 ../client/pk-console.c:1006
#: ../client/pk-console.c:1034 ../client/pk-console.c:1062
#: ../client/pk-console.c:1090
@@ -355,7 +365,8 @@ msgstr "Tresna honek ez du aurkitu paketea: %s"
msgid "This tool could not find all the packages: %s"
msgstr "Tresna honek ez du aurkitu pakete guztiak: %s"
-#. TRANSLATORS: This is when the daemon crashed, and we are up shit creek without a paddle
+#. TRANSLATORS: This is when the daemon crashed, and we are up shit creek
+#. without a paddle
#: ../client/pk-console.c:1119
msgid "The daemon crashed mid-transaction!"
msgstr "Deabruak huts egin du transakzioaren erdian!"
@@ -370,7 +381,8 @@ msgstr "PackageKit-en kontsola-interfazea"
msgid "Subcommands:"
msgstr "Azpikomandoak:"
-#. TRANSLATORS: we keep a database updated with the time that an action was last executed
+#. TRANSLATORS: we keep a database updated with the time that an action was
+#. last executed
#: ../client/pk-console.c:1234
msgid "Failed to get the time since this action was last completed"
msgstr "Ezin izan da jakin ekintza hau azken aldiz egin zenetik igaro den denbora"
@@ -408,8 +420,7 @@ msgstr "Exekutatu komandoa banda-zabalera inaktiboa eta energia gutxiago erabili
#. TRANSLATORS: command line argument, just output without fancy formatting
#: ../client/pk-console.c:1293
-msgid ""
-"Print to screen a machine readable output, rather than using animated widgets"
+msgid "Print to screen a machine readable output, rather than using animated widgets"
msgstr "Idatzi pantailan makinak irakur dezakeen irteera, widget animatuak erabili ordez"
#. TRANSLATORS: command line argument, just output without fancy formatting
@@ -473,7 +484,8 @@ msgstr "Mota bat, key_id bat eta package_id bat behar dira"
msgid "A package name to remove is required"
msgstr "Pakete-izen bat behar da kendua izateko"
-#. TRANSLATORS: the user did not specify anything about what to download or where
+#. TRANSLATORS: the user did not specify anything about what to download or
+#. where
#: ../client/pk-console.c:1523
msgid "A destination directory and the package names to download are required"
msgstr "Helburu-direktorio bat eta pakete-izenak behar dira deskargarako"
@@ -526,7 +538,8 @@ msgstr "Eginkizun zuzena behar da"
msgid "A package name is required"
msgstr "Pakete-izen bat behar da"
-#. TRANSLATORS: each package "provides" certain things, e.g. mime(gstreamer-decoder-mp3), the user didn't specify it
+#. TRANSLATORS: each package "provides" certain things, e.g. mime(gstreamer-
+#. decoder-mp3), the user didn't specify it
#: ../client/pk-console.c:1670
msgid "A package provide string is required"
msgstr "Pakete-eskaintzaren kate bat behar da"
@@ -541,7 +554,8 @@ msgstr "Banaketa-izen bat behar da"
msgid "An upgrade type is required, e.g. 'minimal', 'default' or 'complete'"
msgstr "Bertsio-berritze mota bat behar da, adib. 'minimal', 'default' edo 'complete'"
-#. TRANSLATORS: The user tried to use an unsupported option on the command line
+#. TRANSLATORS: The user tried to use an unsupported option on the command
+#. line
#: ../client/pk-console.c:1770
#, c-format
msgid "Option '%s' is not supported"
@@ -552,7 +566,8 @@ msgstr "'%s' aukera ez dago onartuta"
msgid "Command failed"
msgstr "Komandoak huts egin du"
-#. TRANSLATORS: we can exclude certain packages (glibc) when we know they'll exist on the target
+#. TRANSLATORS: we can exclude certain packages (glibc) when we know they'll
+#. exist on the target
#: ../client/pk-generate-pack.c:253
msgid "Set the file name of dependencies to be excluded"
msgstr "Ezarri baztertuko diren mendekotasunen fitxategi-izena"
@@ -587,25 +602,28 @@ msgstr "Bi aukerak hautatu dira."
msgid "A output directory or file name is required"
msgstr "Irteerako direktorio edo fitxategi-izen bat behar da"
-#. TRANSLATORS: This is when the daemon is not-installed/broken and fails to startup
+#. TRANSLATORS: This is when the daemon is not-installed/broken and fails to
+#. startup
#: ../client/pk-generate-pack.c:340
msgid "The daemon failed to startup"
msgstr "Ezin izan da deabrua abiarazi"
-#. TRANSLATORS: This is when the backend doesn't have the capability to get-depends
-#. TRANSLATORS: This is when the backend doesn't have the capability to download
+#. TRANSLATORS: This is when the backend doesn't have the capability to get-
+#. depends
+#. TRANSLATORS: This is when the backend doesn't have the capability to
+#. download
#: ../client/pk-generate-pack.c:351 ../client/pk-generate-pack.c:357
msgid "The package manager cannot perform this type of operation."
msgstr "Pakete-kudeatzaileak ezin du mota honetako eragiketarik egin."
-#. TRANSLATORS: This is when the distro didn't include libarchive support into PK
+#. TRANSLATORS: This is when the distro didn't include libarchive support into
+#. PK
#: ../client/pk-generate-pack.c:364
-msgid ""
-"Service packs cannot be created as PackageKit was not built with libarchive "
-"support."
+msgid "Service packs cannot be created as PackageKit was not built with libarchive support."
msgstr "Zerbitzu-paketeak ezin dira sortu, PackageKit ez baita eraiki libarchive-ren euskarriarekin."
-#. TRANSLATORS: the user specified an absolute path, but didn't get the extension correct
+#. 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 "Fitxategi bat adierazten bada, zerbitzu-paketearen izenaren amaiera honek izan behar du:"
@@ -620,12 +638,14 @@ msgstr "Jadanik existitzen da izen bera duen pakete bat, gainidatzi nahi al duzu
msgid "The pack was not overwritten."
msgstr "Paketea ez da gainidatzi."
-#. TRANSLATORS: This is when the temporary directory cannot be created, the directory name follows
+#. TRANSLATORS: This is when the temporary directory cannot be created, the
+#. directory name follows
#: ../client/pk-generate-pack.c:407
msgid "Failed to create directory:"
msgstr "Direktorioaren sorrerak huts egin du:"
-#. TRANSLATORS: This is when the list of packages from the remote computer cannot be opened
+#. TRANSLATORS: This is when the list of packages from the remote computer
+#. cannot be opened
#: ../client/pk-generate-pack.c:419
msgid "Failed to open package list."
msgstr "Ezin iza da pakete-zerrenda ireki."
@@ -635,13 +655,15 @@ msgstr "Ezin iza da pakete-zerrenda ireki."
msgid "Finding package name."
msgstr "Pakete-izena bilatzen."
-#. TRANSLATORS: This is when the package cannot be found in any software source. The detailed error follows
+#. TRANSLATORS: This is when the package cannot be found in any software
+#. source. The detailed error follows
#: ../client/pk-generate-pack.c:432
#, c-format
msgid "Failed to find package '%s': %s"
msgstr "Ezin izan da '%s' paketea aurkitu: %s"
-#. TRANSLATORS: This is telling the user we are in the process of making the pack
+#. TRANSLATORS: This is telling the user we are in the process of making the
+#. pack
#: ../client/pk-generate-pack.c:440
msgid "Creating service pack..."
msgstr "Zerbitzu-paketea sortzen..."
@@ -804,7 +826,8 @@ msgstr "Hautatu exekutatuko den komandoa"
msgid "The package providing this file is:"
msgstr "Fitxategi honetaz hornitzen duen paketea hau da:"
-#. TRANSLATORS: as the user if we want to install a package to provide the command
+#. TRANSLATORS: as the user if we want to install a package to provide the
+#. command
#: ../contrib/command-not-found/pk-command-not-found.c:826
#, c-format
msgid "Install package '%s' to provide command '%s'?"
@@ -815,7 +838,8 @@ msgstr "Instalatu '%s' paketea '%s' komandoaz hornitzeko?"
msgid "Packages providing this file are:"
msgstr "Fitxategi honetaz hornitzen duten paketeak hauek dira:"
-#. TRANSLATORS: Show the user a list of packages that they can install to provide this command
+#. 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:863
msgid "Suitable packages are:"
msgstr "Pakete egokiak hauek dira:"
@@ -837,13 +861,14 @@ msgstr "Instalazioa abiarazten"
msgid "Failed to find the package %s, or already installed: %s"
msgstr "Ez da %s paketea aurkitu, edo jadanik instalatuta dago: %s"
-#. command line argument, simulate what would be done, but don't actually do it
+#. command line argument, simulate what would be done, but don't actually do
+#. it
#: ../contrib/debuginfo-install/pk-debuginfo-install.c:516
-msgid ""
-"Don't actually install any packages, only simulate what would be installed"
+msgid "Don't actually install any packages, only simulate what would be installed"
msgstr "Ez instalatu paketerik, instalatuko dela simulatu soilik"
-#. command line argument, do we skip packages that depend on the ones specified
+#. command line argument, do we skip packages that depend on the ones
+#. specified
#: ../contrib/debuginfo-install/pk-debuginfo-install.c:519
msgid "Do not install dependencies of the core packages"
msgstr "Ez instalatu oinarrizko paketeen mendekotasunak"
@@ -858,7 +883,8 @@ msgstr "Ez erakutsi ez informaziorik ez aurrerapenik"
msgid "PackageKit Debuginfo Installer"
msgstr "PackageKit-en arazketa-informazioko instalatzailea"
-#. TRANSLATORS: the use needs to specify a list of package names on the command line
+#. TRANSLATORS: the use needs to specify a list of package names on the
+#. command line
#: ../contrib/debuginfo-install/pk-debuginfo-install.c:554
#, c-format
msgid "ERROR: Specify package names to install."
@@ -976,13 +1002,15 @@ msgstr "%i pakete gehigarri aurkitu dira."
msgid "No extra packages required."
msgstr "Ez da pakete gehigarririk behar."
-#. TRANSLATORS: tell the user we found some packages (and deps), and then list them
+#. TRANSLATORS: tell the user we found some packages (and deps), and then list
+#. them
#: ../contrib/debuginfo-install/pk-debuginfo-install.c:835
#, c-format
msgid "Found %i packages to install:"
msgstr "Instalatzeko %i pakete aurkitu dira:"
-#. TRANSLATORS: simulate mode is a testing mode where we quit before the action
+#. TRANSLATORS: simulate mode is a testing mode where we quit before the
+#. action
#: ../contrib/debuginfo-install/pk-debuginfo-install.c:848
#, c-format
msgid "Not installing packages in simulate mode"
@@ -1008,7 +1036,8 @@ msgstr "Ezin dira paketeak instalatu: %s"
msgid "Disabling sources previously enabled"
msgstr "Aurretiaz gaitutako jatorriak desgaitzen"
-#. TRANSLATORS: no debuginfo packages could be found to be installed, detailed error follows
+#. TRANSLATORS: no debuginfo packages could be found to be installed, detailed
+#. error follows
#: ../contrib/debuginfo-install/pk-debuginfo-install.c:917
#, c-format
msgid "Could not disable the debugging sources: %s"
@@ -1065,7 +1094,8 @@ msgstr "Gailuaren bide-izena ez da zuzena"
msgid "Show extra debugging information"
msgstr "Erakutsi arazketa-informazio gehigarria"
-#. command line argument, simulate what would be done, but don't actually do it
+#. command line argument, simulate what would be done, but don't actually do
+#. it
#: ../contrib/device-rebind/pk-device-rebind.c:297
msgid "Don't actually touch the hardware, only simulate what would be done"
msgstr "Ez ukitu hardwarea, soilik simulatu zer egingo litzatekeen"
@@ -1075,7 +1105,8 @@ msgstr "Ez ukitu hardwarea, soilik simulatu zer egingo litzatekeen"
msgid "Device paths"
msgstr "Gailuen bide-izenak"
-#. TRANSLATORS: tool that gets called when the device needs reloading after installing firmware
+#. TRANSLATORS: tool that gets called when the device needs reloading after
+#. installing firmware
#: ../contrib/device-rebind/pk-device-rebind.c:315
msgid "PackageKit Device Reloader"
msgstr "PackageKit-en gailu-birkargatzailea"
@@ -1127,7 +1158,8 @@ msgstr "PackageKit zerbitzu-paketea"
msgid "Please enter a number from 1 to %i: "
msgstr "Sartu 1etik %i-(e)ra arteko zenbaki bat: "
-#. TRANSLATORS: more than one package could be found that matched, to follow is a list of possible packages
+#. 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:189
msgid "More than one package matches:"
msgstr "Pakete bat baino gehiago dator bat:"
@@ -1147,7 +1179,8 @@ msgstr "Egoera ezezaguna"
msgid "Starting"
msgstr "Abiarazten"
-#. TRANSLATORS: transaction state, the transaction is waiting for another to complete
+#. TRANSLATORS: transaction state, the transaction is waiting for another to
+#. complete
#: ../lib/packagekit-glib2/pk-console-shared.c:263
msgid "Waiting in queue"
msgstr "Ilaran itxaroten"
@@ -1189,7 +1222,8 @@ msgstr "Software-zerrenda freskatzen"
msgid "Installing updates"
msgstr "Eguneraketak instalatzen"
-#. TRANSLATORS: transaction state, removing old packages, and cleaning config files
+#. TRANSLATORS: transaction state, removing old packages, and cleaning config
+#. files
#: ../lib/packagekit-glib2/pk-console-shared.c:299
msgid "Cleaning up packages"
msgstr "Paketeak garbitzen"
@@ -1204,7 +1238,8 @@ msgstr "Paketeak zaharkitzen"
msgid "Resolving dependencies"
msgstr "Mendekotasunak ebazten"
-#. TRANSLATORS: transaction state, checking if we have all the security keys for the operation
+#. TRANSLATORS: transaction state, checking if we have all the security keys
+#. for the operation
#: ../lib/packagekit-glib2/pk-console-shared.c:311
msgid "Checking signatures"
msgstr "Sinadurak egiaztatzen"
@@ -1221,7 +1256,8 @@ msgstr "Aurreko transakzio batera itzultzen"
msgid "Testing changes"
msgstr "Aldaketak probatzen"
-#. TRANSLATORS: transaction state, when we're writing to the system package database
+#. TRANSLATORS: transaction state, when we're writing to the system package
+#. database
#: ../lib/packagekit-glib2/pk-console-shared.c:323
msgid "Committing changes"
msgstr "Aldaketak aplikatzen"
@@ -1286,12 +1322,14 @@ msgstr "Katxea kargatzen"
msgid "Scanning applications"
msgstr "Aplikazioak eskaneatzen"
-#. TRANSLATORS: transaction state, generating a list of packages installed on the system
+#. TRANSLATORS: transaction state, generating a list of packages installed on
+#. the system
#: ../lib/packagekit-glib2/pk-console-shared.c:375
msgid "Generating package lists"
msgstr "Pakete-zerrenda sortzen"
-#. TRANSLATORS: transaction state, when we're waiting for the native tools to exit
+#. TRANSLATORS: transaction state, when we're waiting for the native tools to
+#. exit
#: ../lib/packagekit-glib2/pk-console-shared.c:379
msgid "Waiting for package manager lock"
msgstr "Pakete-kudeatzailearen blokeoa itxaroten"
@@ -1306,17 +1344,20 @@ msgstr "Autentifikaziorako itxaroten"
msgid "Updating running applications"
msgstr "Abioan dauden aplikazioak eguneratzen"
-#. TRANSLATORS: transaction state, we are checking executable files currently in use
+#. TRANSLATORS: transaction state, we are checking executable files currently
+#. in use
#: ../lib/packagekit-glib2/pk-console-shared.c:391
msgid "Checking applications in use"
msgstr "Abioan dauden aplikazioak egiaztatzen"
-#. TRANSLATORS: transaction state, we are checking for libraries currently in use
+#. TRANSLATORS: transaction state, we are checking for libraries currently in
+#. use
#: ../lib/packagekit-glib2/pk-console-shared.c:395
msgid "Checking libraries in use"
msgstr "Erabiltzen ari diren liburutegiak egiaztatzen"
-#. TRANSLATORS: transaction state, we are copying package files before or after the transaction
+#. TRANSLATORS: transaction state, we are copying package files before or
+#. after the transaction
#: ../lib/packagekit-glib2/pk-console-shared.c:399
msgid "Copying files"
msgstr "Fitxategiak kopiatzen"
@@ -1596,7 +1637,8 @@ msgstr "Arazketa-aukerak"
msgid "Show debugging options"
msgstr "Erakutsi arazketa-aukerak"
-#. TRANSLATORS: ask the user if they are comfortable installing insecure packages
+#. TRANSLATORS: ask the user if they are comfortable installing insecure
+#. packages
#: ../lib/packagekit-glib2/pk-task-text.c:67
msgid "Do you want to allow installing of unsigned software?"
msgstr "Sinatu gabeko softwarea instala dadin baimendu nahi duzu?"
@@ -1606,7 +1648,8 @@ msgstr "Sinatu gabeko softwarea instala dadin baimendu nahi duzu?"
msgid "The unsigned software will not be installed."
msgstr "Sinatu gabeko softwarea ez da instalatuko."
-#. TRANSLATORS: the package repository is signed by a key that is not recognised
+#. TRANSLATORS: the package repository is signed by a key that is not
+#. recognised
#: ../lib/packagekit-glib2/pk-task-text.c:121
msgid "Software source signature required"
msgstr "Software-jatorriaren sinadura behar da"
@@ -1651,7 +1694,8 @@ msgstr "Onartzen al duzu sinadura hau?"
msgid "The signature was not accepted."
msgstr "Sinadura ez da onartu."
-#. TRANSLATORS: this is another name for a software licence that has to be read before installing
+#. TRANSLATORS: this is another name for a software licence that has to be
+#. read before installing
#: ../lib/packagekit-glib2/pk-task-text.c:203
msgid "End user licence agreement required"
msgstr "Azken erabiltzailearen lizentzia-kontratua behar da"
@@ -1741,7 +1785,7 @@ msgstr "Transakzioa ez da burutu."
#. licence agreements.
#. - Change this to 'auth_admin' for environments where users should not
#. be given the option to make legal decisions.
-#.
+#.
#: ../policy/org.freedesktop.packagekit.policy.in.h:7
msgid "Accept EULA"
msgstr "Onartu EULA"
@@ -1751,8 +1795,7 @@ msgid "Authentication is required to accept a EULA"
msgstr "Autentifikazioa behar da EULA bat onartzeko"
#: ../policy/org.freedesktop.packagekit.policy.in.h:9
-msgid ""
-"Authentication is required to cancel a task that was not started by yourself"
+msgid "Authentication is required to cancel a task that was not started by yourself"
msgstr "Autentifikazioa behar da zerorrek abiarazi ez duzun zeregin bat bertan behera uzteko"
#: ../policy/org.freedesktop.packagekit.policy.in.h:10
@@ -1760,14 +1803,11 @@ msgid "Authentication is required to change software source parameters"
msgstr "Autentifikazioa behar da software-jatorrien parametroak aldatzeko"
#: ../policy/org.freedesktop.packagekit.policy.in.h:11
-msgid ""
-"Authentication is required to change the location used to decompress packages"
+msgid "Authentication is required to change the location used to decompress packages"
msgstr "Autentifikazioa behar da paketeak destrinkotzeko erabiltzen den kokapena aldatzeko"
#: ../policy/org.freedesktop.packagekit.policy.in.h:12
-msgid ""
-"Authentication is required to consider a key used for signing packages as "
-"trusted"
+msgid "Authentication is required to consider a key used for signing packages as trusted"
msgstr "Autentifikazioa behar da paketeak sinatzeko erabilitako gakoa fidagarrizat hartzeko"
#: ../policy/org.freedesktop.packagekit.policy.in.h:13
@@ -1795,9 +1835,7 @@ msgid "Authentication is required to rollback a transaction"
msgstr "Autentifikazioa behar da transakzio bat atzera botatzeko"
#: ../policy/org.freedesktop.packagekit.policy.in.h:19
-msgid ""
-"Authentication is required to set the network proxy used for downloading "
-"packages"
+msgid "Authentication is required to set the network proxy used for downloading packages"
msgstr "Autentifikazioa behar da paketeak deskargatzeko erabiliko den sareko proxy-a ezartzeko"
#: ../policy/org.freedesktop.packagekit.policy.in.h:20
@@ -1812,7 +1850,7 @@ msgstr "Autentifikazioa behar da sistema eragilea bertsioz berritzeko"
#. - Normal users are allowed to cancel their own task without
#. authentication, but a different user id needs the admin password
#. to cancel another users task.
-#.
+#.
#: ../policy/org.freedesktop.packagekit.policy.in.h:27
msgid "Cancel foreign task"
msgstr "Utzi zeregin arrotza"
@@ -1822,7 +1860,7 @@ msgstr "Utzi zeregin arrotza"
#. instance to a LTSP image or a virtual machine.
#. - This could be used to overwrite files not owned by the user using
#. a carefully created package file.
-#.
+#.
#: ../policy/org.freedesktop.packagekit.policy.in.h:34
msgid "Change location that packages are installed"
msgstr "Aldatu paketeak instalatuko diren kokapena"
@@ -1831,7 +1869,7 @@ msgstr "Aldatu paketeak instalatuko diren kokapena"
#. - Normal users require admin authentication to enable or disable
#. software sources as this can be used to enable new updates or
#. install different versions of software.
-#.
+#.
#: ../policy/org.freedesktop.packagekit.policy.in.h:40
msgid "Change software source parameters"
msgstr "Aldatu software-jatorrien parametroak"
@@ -1841,7 +1879,7 @@ msgstr "Aldatu software-jatorrien parametroak"
#. from signed repositories, as this cannot exploit a system.
#. - Paranoid users (or parents!) can change this to 'auth_admin' or
#. 'auth_admin_keep'.
-#.
+#.
#: ../policy/org.freedesktop.packagekit.policy.in.h:47
msgid "Install signed package"
msgstr "Instalatu sinatutako paketea"
@@ -1851,7 +1889,7 @@ msgstr "Instalatu sinatutako paketea"
#. unrecognised packages, as allowing users to do this without a
#. 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
msgid "Install untrusted local file"
msgstr "Instalatu fidagarria ez den fitxategi lokala"
@@ -1859,7 +1897,7 @@ msgstr "Instalatu fidagarria ez den fitxategi lokala"
#. SECURITY:
#. - 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
msgid "Refresh system sources"
msgstr "Freskatu sistemaren jatorriak"
@@ -1870,17 +1908,21 @@ msgstr "Freskatu sistemaren jatorriak"
#. - This should not be set to 'yes' as unprivileged users could then
#. try to rebind drivers in use, for instance security authentication
#. devices.
-#.
+#.
#: ../policy/org.freedesktop.packagekit.policy.in.h:67
msgid "Reload a device"
msgstr "Birkargatu gailu bat"
#. SECURITY:
-#. - Normal users require admin authentication to upgrade the disto as
+#. - Normal users require admin authentication to remove packages as
#. this can make the system unbootable or stop other applications from
#. working.
-#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:73
+#. - Be sure to close the tool used to remove the packages after the
+#. admin authentication has been obtained, otherwise packages can still
+#. be removed. If this is not possible, change this authentication to
+#. 'auth_admin'.
+#.
+#: ../policy/org.freedesktop.packagekit.policy.in.h:77
msgid "Remove package"
msgstr "Kendu paketea"
@@ -1888,16 +1930,16 @@ msgstr "Kendu paketea"
#. - 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:79
+#.
+#: ../policy/org.freedesktop.packagekit.policy.in.h:83
msgid "Rollback to a previous transaction"
msgstr "Itzuli aurreko transakzio batera"
#. SECURITY:
#. - Normal users do not require admin authentication to set the proxy
#. used for downloading packages.
-#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:84
+#.
+#: ../policy/org.freedesktop.packagekit.policy.in.h:88
msgid "Set network proxy"
msgstr "Ezarri sarearen proxy-a"
@@ -1906,8 +1948,8 @@ msgstr "Ezarri sarearen proxy-a"
#. - This implies adding an explicit trust, and should not be granted
#. without a secure authentication.
#. - This is not kept as each package should be authenticated.
-#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:91
+#.
+#: ../policy/org.freedesktop.packagekit.policy.in.h:95
msgid "Trust a key used for signing packages"
msgstr "Fidatu paketeak sinatzeko erabili den gako batetaz"
@@ -1917,11 +1959,20 @@ msgstr "Fidatu paketeak sinatzeko erabili den gako batetaz"
#. to update the system when unattended.
#. - Changing this to anything other than 'yes' will break unattended
#. updates.
-#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:99
+#.
+#: ../policy/org.freedesktop.packagekit.policy.in.h:103
msgid "Update packages"
msgstr "Eguneratu paketeak"
+#. SECURITY:
+#. - Normal users require admin authentication to upgrade the disto as
+#. this can make the system unbootable or stop other applications from
+#. working.
+#.
+#: ../policy/org.freedesktop.packagekit.policy.in.h:109
+msgid "Upgrade System"
+msgstr "Eguneratu sistema"
+
#. TRANSLATORS: failed due to DBus security
#: ../src/pk-main.c:87
msgid "Startup failed due to security policies on this machine."
@@ -1939,9 +1990,7 @@ msgstr "Exekutagarria ez du erabiltzaile egokiak (normalean root) abiarazi"
#. TRANSLATORS: or we are installed in a prefix
#: ../src/pk-main.c:93
-msgid ""
-"The org.freedesktop.PackageKit.conf file is not installed in the system "
-"directory:"
+msgid "The org.freedesktop.PackageKit.conf file is not installed in the system directory:"
msgstr "org.freedesktop.PackageKit.conf fitxategia ez dago instalatuta sistemaren direktorioan:"
#. TRANSLATORS: a backend is the system package tool, e.g. yum, apt
@@ -1984,7 +2033,8 @@ msgstr "PackageKit zerbitzua"
msgid "Cannot connect to the system bus"
msgstr "Ezin izan da sistemaren busera konektatu"
-#. TRANSLATORS: cannot register on system bus, unknown reason -- geeky error follows
+#. TRANSLATORS: cannot register on system bus, unknown reason -- geeky error
+#. follows
#: ../src/pk-main.c:316
msgid "Error trying to start:"
msgstr "Errorea abiaraztean:"
commit 277acffc2e5adca25a31365cf73f8243b91651a5
Author: Daniel Nicoletti <dantti85-pk at yahoo.com.br>
Date: Thu Nov 25 16:51:15 2010 -0200
aptcc: Make sure the package is valid before some operations
diff --git a/backends/aptcc/pk-backend-aptcc.cpp b/backends/aptcc/pk-backend-aptcc.cpp
index 118c5df..a7e5d6d 100644
--- a/backends/aptcc/pk-backend-aptcc.cpp
+++ b/backends/aptcc/pk-backend-aptcc.cpp
@@ -552,6 +552,9 @@ backend_what_provides_thread (PkBackend *backend)
break;
}
pkgCache::PkgIterator pkg = m_apt->packageCache->FindPkg(i->c_str());
+ if (pkg.end() == true) {
+ continue;
+ }
pkgCache::VerIterator ver = m_apt->find_ver(pkg);
if (ver.end() == true) {
continue;
@@ -559,7 +562,7 @@ backend_what_provides_thread (PkBackend *backend)
output.push_back(pair<pkgCache::PkgIterator, pkgCache::VerIterator>(pkg, ver));
}
- if (error) {
+ if (error && provides == PK_PROVIDES_ENUM_MIMETYPE) {
// check if app-install-data is installed
pkgCache::PkgIterator pkg;
pkg = m_apt->packageCache->FindPkg("app-install-data");
@@ -909,6 +912,9 @@ pk_backend_search_files_thread (PkBackend *backend)
break;
}
pkgCache::PkgIterator pkg = m_apt->packageCache->FindPkg(i->c_str());
+ if (pkg.end() == true) {
+ continue;
+ }
pkgCache::VerIterator ver = m_apt->find_ver(pkg);
if (ver.end() == true)
{
commit 2690c25e6a0ba51c7bd809a421f87ff98995d6b5
Author: assar <asiersar at yahoo.com>
Date: Thu Nov 25 16:08:07 2010 +0000
l10n: Updated Basque (eu) translation to 100%
New status: 374 messages complete with 0 fuzzies and 0 untranslated.
Transmitted-via: Transifex (www.transifex.net).
diff --git a/po/eu.po b/po/eu.po
index 25ca0ad..a5bf3da 100644
--- a/po/eu.po
+++ b/po/eu.po
@@ -3,8 +3,7 @@
# Asier Sarasua Garmendia <asiersar at yahoo.com>, 2010.
#
msgid ""
-msgstr ""
-"Project-Id-Version: packagekit\n"
+msgstr "Project-Id-Version: packagekit\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-11-07 07:14+0000\n"
"PO-Revision-Date: 2010-08-12 01:19+0100\n"
@@ -384,7 +383,7 @@ msgstr "Erakutsi programaren bertsioa eta irten"
#. TRANSLATORS: command line argument, use a filter to narrow down results
#: ../client/pk-console.c:1278
msgid "Set the filter, e.g. installed"
-msgstr "Ezarri iragazkia, adib. instalatua"
+msgstr "Ezarri iragazkia, adib. 'instalatua'"
#. TRANSLATORS: command line argument, use a non-standard install prefix
#: ../client/pk-console.c:1281
@@ -405,7 +404,7 @@ msgstr "Instalatu paketeak baieztapena eskatu gabe"
#. TRANSLATORS: command line argument, this command is not a priority
#: ../client/pk-console.c:1290
msgid "Run the command using idle network bandwidth and also using less power"
-msgstr "Exekutatu komandoa banda-zabalera inaktiboa eta argindar gutxiago erabilita"
+msgstr "Exekutatu komandoa banda-zabalera inaktiboa eta energia gutxiago erabilita"
#. TRANSLATORS: command line argument, just output without fancy formatting
#: ../client/pk-console.c:1293
@@ -1203,7 +1202,7 @@ msgstr "Paketeak zaharkitzen"
#. TRANSLATORS: transaction state, checking the transaction before we do it
#: ../lib/packagekit-glib2/pk-console-shared.c:307
msgid "Resolving dependencies"
-msgstr "Mendekotasunak konpontzen"
+msgstr "Mendekotasunak ebazten"
#. TRANSLATORS: transaction state, checking if we have all the security keys for the operation
#: ../lib/packagekit-glib2/pk-console-shared.c:311
commit 200dd20cf1d90699f8180be60babc1d2329902c5
Author: assar <asiersar at yahoo.com>
Date: Thu Nov 25 15:44:15 2010 +0000
l10n: Basque translation added to PackageKit
New status: 374 messages complete with 0 fuzzies and 0 untranslated.
Transmitted-via: Transifex (www.transifex.net).
diff --git a/po/eu.po b/po/eu.po
new file mode 100644
index 0000000..25ca0ad
--- /dev/null
+++ b/po/eu.po
@@ -0,0 +1,2026 @@
+# Basque translation of PackageKit.
+# This file is distributed under the same license as the PackageKit package.
+# Asier Sarasua Garmendia <asiersar at yahoo.com>, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: packagekit\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-11-07 07:14+0000\n"
+"PO-Revision-Date: 2010-08-12 01:19+0100\n"
+"Last-Translator: Asier Sarasua Garmendia <asiersar at yahoo.com>\n"
+"Language-Team: Librezale <librezale at librezale.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. 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
+msgid "Transaction"
+msgstr "Transakzioa"
+
+#. TRANSLATORS: this is the time the transaction was started in system timezone
+#: ../client/pk-console.c:176
+msgid "System time"
+msgstr "Sistemaren ordua"
+
+#. TRANSLATORS: this is if the transaction succeeded or not
+#: ../client/pk-console.c:178
+msgid "Succeeded"
+msgstr "Arrakasta"
+
+#: ../client/pk-console.c:178
+msgid "True"
+msgstr "Egia"
+
+#: ../client/pk-console.c:178
+msgid "False"
+msgstr "Gezurra"
+
+#. TRANSLATORS: this is the transactions role, e.g. "update-system"
+#. TRANSLATORS: the trasaction role, e.g. update-system
+#: ../client/pk-console.c:180 ../src/pk-polkit-action-lookup.c:332
+msgid "Role"
+msgstr "Eginkizuna"
+
+#. TRANSLATORS: this is The duration of the transaction
+#: ../client/pk-console.c:185
+msgid "Duration"
+msgstr "Iraupena"
+
+#: ../client/pk-console.c:185
+msgid "(seconds)"
+msgstr "(segundo)"
+
+#. TRANSLATORS: this is The command line used to do the action
+#. TRANSLATORS: the command line of the thing that wants the authentication
+#: ../client/pk-console.c:189 ../src/pk-polkit-action-lookup.c:346
+msgid "Command line"
+msgstr "Komando-lerroa"
+
+#. TRANSLATORS: this is the user ID of the user that started the action
+#: ../client/pk-console.c:191
+msgid "User ID"
+msgstr "Erabiltzaile-IDa"
+
+#. TRANSLATORS: this is the username, e.g. hughsie
+#: ../client/pk-console.c:198
+msgid "Username"
+msgstr "Erabiltzaile-izena"
+
+#. TRANSLATORS: this is the users real name, e.g. "Richard Hughes"
+#: ../client/pk-console.c:202
+msgid "Real name"
+msgstr "Benetako izena"
+
+#: ../client/pk-console.c:210
+msgid "Affected packages:"
+msgstr "Aldatuko diren paketeak:"
+
+#: ../client/pk-console.c:212
+msgid "Affected packages: None"
+msgstr "Aldatuko diren paketeak: Bat ere ez"
+
+#. TRANSLATORS: this is the distro, e.g. Fedora 10
+#: ../client/pk-console.c:247
+msgid "Distribution"
+msgstr "Banaketa"
+
+#. TRANSLATORS: this is type of update, stable or testing
+#: ../client/pk-console.c:249
+msgid "Type"
+msgstr "Mota"
+
+#. 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
+msgid "Summary"
+msgstr "Laburpena"
+
+#. TRANSLATORS: this is the group category name
+#: ../client/pk-console.c:279
+msgid "Category"
+msgstr "Kategoria"
+
+#. TRANSLATORS: this is group identifier
+#: ../client/pk-console.c:281
+msgid "ID"
+msgstr "IDa"
+
+#. TRANSLATORS: this is the parent group
+#: ../client/pk-console.c:284
+msgid "Parent"
+msgstr "Gurasoa"
+
+#. TRANSLATORS: this is the name of the parent group
+#: ../client/pk-console.c:287
+msgid "Name"
+msgstr "Izena"
+
+#. TRANSLATORS: this is preferred icon for the group
+#: ../client/pk-console.c:293
+msgid "Icon"
+msgstr "Ikonoa"
+
+#. TRANSLATORS: this is a header for the package that can be updated
+#: ../client/pk-console.c:339
+msgid "Details about the update:"
+msgstr "Eguneraketari buruzko xehetasunak:"
+
+#. TRANSLATORS: details about the update, package name and version
+#. TRANSLATORS: the package that is being processed
+#. TRANSLATORS: the package that is not signed by a known key
+#. TRANSLATORS: the package name that was trying to be installed
+#. TRANSLATORS: title, the names of the packages that the method is processing
+#: ../client/pk-console.c:345 ../client/pk-console.c:615
+#: ../lib/packagekit-glib2/pk-task-text.c:124
+#: ../lib/packagekit-glib2/pk-task-text.c:206
+#: ../src/pk-polkit-action-lookup.c:357
+msgid "Package"
+msgid_plural "Packages"
+msgstr[0] "Paketea"
+msgstr[1] "Paketeak"
+
+#. TRANSLATORS: details about the update, any packages that this update updates
+#: ../client/pk-console.c:348
+msgid "Updates"
+msgstr "Eguneraketak"
+
+#. TRANSLATORS: details about the update, any packages that this update obsoletes
+#: ../client/pk-console.c:352
+msgid "Obsoletes"
+msgstr "Zaharkituak"
+
+#. 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
+msgid "Vendor"
+msgstr "Hornitzailea"
+
+#. TRANSLATORS: details about the update, the bugzilla URLs
+#: ../client/pk-console.c:360
+msgid "Bugzilla"
+msgstr "Bugzilla"
+
+#. TRANSLATORS: details about the update, the CVE URLs
+#: ../client/pk-console.c:364
+msgid "CVE"
+msgstr "CVE"
+
+#. TRANSLATORS: details about the update, if the package requires a restart
+#: ../client/pk-console.c:368
+msgid "Restart"
+msgstr "Berrabiarazi"
+
+#. TRANSLATORS: details about the update, any description of the update
+#: ../client/pk-console.c:372
+msgid "Update text"
+msgstr "Eguneraketa-testua"
+
+#. TRANSLATORS: details about the update, the changelog for the package
+#: ../client/pk-console.c:376
+msgid "Changes"
+msgstr "Aldaketak"
+
+#. TRANSLATORS: details about the update, the ongoing state of the update
+#: ../client/pk-console.c:380
+msgid "State"
+msgstr "Egoera"
+
+#. TRANSLATORS: details about the update, date the update was issued
+#: ../client/pk-console.c:384
+msgid "Issued"
+msgstr "Igorria"
+
+#. 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:515
+msgid "Updated"
+msgstr "Eguneratua"
+
+#. TRANSLATORS: if the repo is enabled
+#: ../client/pk-console.c:424
+msgid "Enabled"
+msgstr "Gaitua"
+
+#. TRANSLATORS: if the repo is disabled
+#: ../client/pk-console.c:427
+msgid "Disabled"
+msgstr "Desgaitua"
+
+#. TRANSLATORS: a package requires the system to be restarted
+#: ../client/pk-console.c:459
+msgid "System restart required by:"
+msgstr "Sistema berrabiaraztea eskatu du honek:"
+
+#. TRANSLATORS: a package requires the session to be restarted
+#: ../client/pk-console.c:462
+msgid "Session restart required:"
+msgstr "Sistema berrabiaraztea eskatua:"
+
+#. TRANSLATORS: a package requires the system to be restarted due to a security update
+#: ../client/pk-console.c:465
+msgid "System restart (security) required by:"
+msgstr "Sistema berrabiaraztea (segurtasunagatik) eskatu du honek:"
+
+#. TRANSLATORS: a package requires the session to be restarted due to a security update
+#: ../client/pk-console.c:468
+msgid "Session restart (security) required:"
+msgstr "Sistema berrabiaraztea (seguratasunagatik) eskatua:"
+
+#. TRANSLATORS: a package requires the application to be restarted
+#: ../client/pk-console.c:471
+msgid "Application restart required by:"
+msgstr "Aplikazioa berrabiaraztea eskatu du honek:"
+
+#. TRANSLATORS: This a list of details about the package
+#: ../client/pk-console.c:506
+msgid "Package description"
+msgstr "Paketearen deskribapena"
+
+#. TRANSLATORS: This a message (like a little note that may be of interest) from the transaction
+#: ../client/pk-console.c:537
+msgid "Message:"
+msgstr "Mezua:"
+
+#. TRANSLATORS: This where the package has no files
+#: ../client/pk-console.c:558
+msgid "No files"
+msgstr "Fitxategirik ez"
+
+#. TRANSLATORS: This a list files contained in the package
+#: ../client/pk-console.c:563
+msgid "Package files"
+msgstr "Pakete-fitxategiak"
+
+#. TRANSLATORS: the percentage complete of the transaction
+#: ../client/pk-console.c:631
+msgid "Percentage"
+msgstr "Ehunekoa"
+
+#. TRANSLATORS: the status of the transaction (e.g. downloading)
+#: ../client/pk-console.c:649
+msgid "Status"
+msgstr "Egoera"
+
+#. TRANSLATORS: the results from the transaction
+#: ../client/pk-console.c:678
+msgid "Results:"
+msgstr "Emaitzak:"
+
+#. TRANSLATORS: we failed to get any results, which is pretty fatal in my book
+#: ../client/pk-console.c:685
+msgid "Fatal error"
+msgstr "Errore larria"
+
+#. TRANSLATORS: the user asked to update everything, but there is nothing that can be updated
+#: ../client/pk-console.c:701
+msgid "There are no packages to update."
+msgstr "Ez da paketerik eguneratu behar."
+
+#. TRANSLATORS: the transaction failed in a way we could not expect
+#: ../client/pk-console.c:704
+#: ../contrib/command-not-found/pk-command-not-found.c:639
+msgid "The transaction failed"
+msgstr "Transakzioak huts egin du"
+
+#. TRANSLATORS: print a message when there are no updates
+#: ../client/pk-console.c:733
+msgid "There are no updates available at this time."
+msgstr "Ez dago eguneraketarik uneotan."
+
+#: ../client/pk-console.c:756
+msgid "There are no upgrades available at this time."
+msgstr "Ez dago bertsio-berritzerik uneotan."
+
+#. TRANSLATORS: a package needs to restart their system
+#: ../client/pk-console.c:823
+msgid "Please restart the computer to complete the update."
+msgstr "Berrabiarazi ordenagailua eguneraketa osatzeko."
+
+#. TRANSLATORS: a package needs to restart the session
+#: ../client/pk-console.c:826
+msgid "Please logout and login to complete the update."
+msgstr "Amaitu saioa eta hasi saioa eguneraketa osatzeko."
+
+#. TRANSLATORS: a package needs to restart their system (due to security)
+#: ../client/pk-console.c:829
+msgid ""
+"Please restart the computer to complete the update as important security "
+"updates have been installed."
+msgstr "Berrabiarazi ordenagailua eguneraketa osatzeko, segurtasun-eguneraketa garrantzitsuak instalatu baitira."
+
+#. TRANSLATORS: a package needs to restart the session (due to security)
+#: ../client/pk-console.c:832
+msgid ""
+"Please logout and login to complete the update as important security updates "
+"have been installed."
+msgstr "Amaitu saioa eta hasi berriro saioa eguneraketa osatzeko, segurtasun-eguneraketa garrantzitsuak instalatu baitira."
+
+#. TRANSLATORS: The user used 'pkcon install dave.rpm' rather than 'pkcon install-local dave.rpm'
+#: ../client/pk-console.c:858
+#, c-format
+msgid ""
+"Expected package name, actually got file. Try using 'pkcon install-local %s' "
+"instead."
+msgstr "Pakete-izena espero zen, fitxategia eskuratu da. Saiatu 'pkcon install-local %s' erabiltzen."
+
+#. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
+#: ../client/pk-console.c:866
+#, c-format
+msgid "This tool could not find any available package: %s"
+msgstr "Tresna honek ez du aurkitu paketerik eskuragarri: %s"
+
+#. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
+#: ../client/pk-console.c:894
+#, c-format
+msgid "This tool could not find the installed package: %s"
+msgstr "Tresna honek ez du aurkitu instalatutako paketea: %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
+#, c-format
+msgid "This tool could not find the package: %s"
+msgstr "Tresna honek ez du aurkitu paketea: %s"
+
+#. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
+#. TRANSLATORS: There was an error getting the dependencies for the package. The detailed error follows
+#. TRANSLATORS: There was an error getting the details about the package. The detailed error follows
+#. TRANSLATORS: The package name was not found in any software sources. The detailed error follows
+#: ../client/pk-console.c:978 ../client/pk-console.c:1006
+#: ../client/pk-console.c:1034 ../client/pk-console.c:1062
+#: ../client/pk-console.c:1090
+#, c-format
+msgid "This tool could not find all the packages: %s"
+msgstr "Tresna honek ez du aurkitu pakete guztiak: %s"
+
+#. TRANSLATORS: This is when the daemon crashed, and we are up shit creek without a paddle
+#: ../client/pk-console.c:1119
+msgid "The daemon crashed mid-transaction!"
+msgstr "Deabruak huts egin du transakzioaren erdian!"
+
+#. TRANSLATORS: This is the header to the --help menu
+#: ../client/pk-console.c:1153
+msgid "PackageKit Console Interface"
+msgstr "PackageKit-en kontsola-interfazea"
+
+#. these are commands we can use with pkcon
+#: ../client/pk-console.c:1155
+msgid "Subcommands:"
+msgstr "Azpikomandoak:"
+
+#. TRANSLATORS: we keep a database updated with the time that an action was last executed
+#: ../client/pk-console.c:1234
+msgid "Failed to get the time since this action was last completed"
+msgstr "Ezin izan da jakin ekintza hau azken aldiz egin zenetik igaro den denbora"
+
+#. TRANSLATORS: command line argument, just show the version string
+#: ../client/pk-console.c:1275 ../client/pk-monitor.c:371
+msgid "Show the program version and exit"
+msgstr "Erakutsi programaren bertsioa eta irten"
+
+#. TRANSLATORS: command line argument, use a filter to narrow down results
+#: ../client/pk-console.c:1278
+msgid "Set the filter, e.g. installed"
+msgstr "Ezarri iragazkia, adib. instalatua"
+
+#. TRANSLATORS: command line argument, use a non-standard install prefix
+#: ../client/pk-console.c:1281
+msgid "Set the install root, e.g. '/' or '/mnt/ltsp'"
+msgstr "Ezarri instalazio-erroa, adib. '/' edo '/mnt/ltsp'"
+
+#. TRANSLATORS: command line argument, work asynchronously
+#: ../client/pk-console.c:1284
+msgid "Exit without waiting for actions to complete"
+msgstr "Irten ekintzak osatu daitezen itxaron gabe"
+
+#. command line argument, do we ask questions
+#: ../client/pk-console.c:1287
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:525
+msgid "Install the packages without asking for confirmation"
+msgstr "Instalatu paketeak baieztapena eskatu gabe"
+
+#. TRANSLATORS: command line argument, this command is not a priority
+#: ../client/pk-console.c:1290
+msgid "Run the command using idle network bandwidth and also using less power"
+msgstr "Exekutatu komandoa banda-zabalera inaktiboa eta argindar gutxiago erabilita"
+
+#. TRANSLATORS: command line argument, just output without fancy formatting
+#: ../client/pk-console.c:1293
+msgid ""
+"Print to screen a machine readable output, rather than using animated widgets"
+msgstr "Idatzi pantailan makinak irakur dezakeen irteera, widget animatuak erabili ordez"
+
+#. TRANSLATORS: command line argument, just output without fancy formatting
+#: ../client/pk-console.c:1296
+msgid "The maximum metadata cache age. Use -1 for 'never'."
+msgstr "Metadata-katxearen adin maximoa. Erabili -1 'inoiz ez' adierazteko."
+
+#. TRANSLATORS: we failed to contact the daemon
+#: ../client/pk-console.c:1333
+msgid "Failed to contact PackageKit"
+msgstr "Ezin izan da PackageKit-ekin kontaktatau"
+
+#. TRANSLATORS: The user specified an incorrect filter
+#: ../client/pk-console.c:1381
+msgid "The proxy could not be set"
+msgstr "Ezin izan da proxy-a ezarri"
+
+#. TRANSLATORS: The user specified an incorrect filter
+#: ../client/pk-console.c:1393
+msgid "The install root could not be set"
+msgstr "Ezin izan da instalazio-erroa ezarri"
+
+#. TRANSLATORS: The user specified an incorrect filter
+#: ../client/pk-console.c:1405
+msgid "The filter specified was invalid"
+msgstr "Adierazitako iragazkia baliogabea da"
+
+#. TRANSLATORS: a search type can be name, details, file, etc
+#: ../client/pk-console.c:1424
+msgid "A search type is required, e.g. name"
+msgstr "Bilaketa-mota behar da, adib. izena"
+
+#. TRANSLATORS: the user needs to provide a search term
+#: ../client/pk-console.c:1431 ../client/pk-console.c:1443
+#: ../client/pk-console.c:1455 ../client/pk-console.c:1467
+msgid "A search term is required"
+msgstr "Bilaketa-hitza behar da"
+
+#. TRANSLATORS: the search type was provided, but invalid
+#: ../client/pk-console.c:1477
+msgid "Invalid search type"
+msgstr "Bilaketa-mota baliogabea"
+
+#. TRANSLATORS: the user did not specify what they wanted to install
+#: ../client/pk-console.c:1483
+msgid "A package name to install is required"
+msgstr "Pakete-izen bat behar da instalaziorako"
+
+#. TRANSLATORS: the user did not specify what they wanted to install
+#: ../client/pk-console.c:1492
+msgid "A filename to install is required"
+msgstr "Fitxategi-izen bat behar da instalaziorako"
+
+#. TRANSLATORS: geeky error, 99.9999% of users won't see this
+#: ../client/pk-console.c:1503
+msgid "A type, key_id and package_id are required"
+msgstr "Mota bat, key_id bat eta package_id bat behar dira"
+
+#. TRANSLATORS: the user did not specify what they wanted to remove
+#: ../client/pk-console.c:1514
+msgid "A package name to remove is required"
+msgstr "Pakete-izen bat behar da kendua izateko"
+
+#. TRANSLATORS: the user did not specify anything about what to download or where
+#: ../client/pk-console.c:1523
+msgid "A destination directory and the package names to download are required"
+msgstr "Helburu-direktorio bat eta pakete-izenak behar dira deskargarako"
+
+#. TRANSLATORS: the directory does not exist, so we can't continue
+#: ../client/pk-console.c:1530
+msgid "Directory not found"
+msgstr "Ez da direktorioa aurkitu"
+
+#. TRANSLATORS: geeky error, 99.9999% of users won't see this
+#: ../client/pk-console.c:1539
+msgid "A licence identifier (eula-id) is required"
+msgstr "Lizentzia-identifikatzaile bat (eula-id) behar da"
+
+#. TRANSLATORS: geeky error, 99.9999% of users won't see this
+#: ../client/pk-console.c:1550
+msgid "A transaction identifier (tid) is required"
+msgstr "Transakzio-identifikatzaile bat (tid) behar da"
+
+#. TRANSLATORS: The user did not specify a package name
+#: ../client/pk-console.c:1571
+msgid "A package name to resolve is required"
+msgstr "Pakete-izen bat behar da ebatzia izateko"
+
+#. TRANSLATORS: The user did not specify a repository (software source) name
+#: ../client/pk-console.c:1582 ../client/pk-console.c:1593
+msgid "A repository name is required"
+msgstr "Biltegi-izen bat behar da"
+
+#. TRANSLATORS: The user didn't provide any data
+#: ../client/pk-console.c:1604
+msgid "A repo name, parameter and value are required"
+msgstr "Biltegi-izen bat, parametro bat eta balio bat behar dira"
+
+#. TRANSLATORS: The user didn't specify what action to use
+#: ../client/pk-console.c:1621
+msgid "An action, e.g. 'update-system' is required"
+msgstr "Ekintza bat, adib. 'update-system', behar da"
+
+#. TRANSLATORS: The user specified an invalid action
+#: ../client/pk-console.c:1628
+msgid "A correct role is required"
+msgstr "Eginkizun zuzena behar da"
+
+#. 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:1638 ../client/pk-console.c:1652
+#: ../client/pk-console.c:1661 ../client/pk-console.c:1681
+#: ../client/pk-console.c:1690 ../client/pk-generate-pack.c:314
+msgid "A package name is required"
+msgstr "Pakete-izen bat behar da"
+
+#. TRANSLATORS: each package "provides" certain things, e.g. mime(gstreamer-decoder-mp3), the user didn't specify it
+#: ../client/pk-console.c:1670
+msgid "A package provide string is required"
+msgstr "Pakete-eskaintzaren kate bat behar da"
+
+#. TRANSLATORS: The user did not provide a distro name
+#: ../client/pk-console.c:1714
+msgid "A distribution name is required"
+msgstr "Banaketa-izen bat behar da"
+
+#. TRANSLATORS: The user did not provide an upgrade type
+#: ../client/pk-console.c:1720
+msgid "An upgrade type is required, e.g. 'minimal', 'default' or 'complete'"
+msgstr "Bertsio-berritze mota bat behar da, adib. 'minimal', 'default' edo 'complete'"
+
+#. TRANSLATORS: The user tried to use an unsupported option on the command line
+#: ../client/pk-console.c:1770
+#, c-format
+msgid "Option '%s' is not supported"
+msgstr "'%s' aukera ez dago onartuta"
+
+#. TRANSLATORS: Generic failure of what they asked to do
+#: ../client/pk-console.c:1780
+msgid "Command failed"
+msgstr "Komandoak huts egin du"
+
+#. TRANSLATORS: we can exclude certain packages (glibc) when we know they'll exist on the target
+#: ../client/pk-generate-pack.c:253
+msgid "Set the file name of dependencies to be excluded"
+msgstr "Ezarri baztertuko diren mendekotasunen fitxategi-izena"
+
+#. TRANSLATORS: the output location
+#: ../client/pk-generate-pack.c:256
+msgid "The output file or directory (the current directory is used if omitted)"
+msgstr "Irteera-fitxategia edo -direktorioa (uneko direktorioa erabiliko da ez bada ezer jartzen)"
+
+#. TRANSLATORS: put a list of packages in the pack
+#: ../client/pk-generate-pack.c:259
+msgid "The package to be put into the service pack"
+msgstr "Zerbitzu-paketean jarriko den paketea"
+
+#. TRANSLATORS: put all pending updates in the pack
+#: ../client/pk-generate-pack.c:262
+msgid "Put all updates available in the service pack"
+msgstr "Jarri eguneraketa guztiak eskuragarri zerbitzu-paketean"
+
+#. TRANSLATORS: This is when the user fails to supply the correct arguments
+#: ../client/pk-generate-pack.c:298
+msgid "Neither --package or --updates option selected."
+msgstr "Ez da ez --package ez --updates aukera hautatu."
+
+#. TRANSLATORS: This is when the user fails to supply just one argument
+#: ../client/pk-generate-pack.c:306
+msgid "Both options selected."
+msgstr "Bi aukerak hautatu dira."
+
+#. TRANSLATORS: This is when the user fails to supply the output
+#: ../client/pk-generate-pack.c:322
+msgid "A output directory or file name is required"
+msgstr "Irteerako direktorio edo fitxategi-izen bat behar da"
+
+#. TRANSLATORS: This is when the daemon is not-installed/broken and fails to startup
+#: ../client/pk-generate-pack.c:340
+msgid "The daemon failed to startup"
+msgstr "Ezin izan da deabrua abiarazi"
+
+#. TRANSLATORS: This is when the backend doesn't have the capability to get-depends
+#. TRANSLATORS: This is when the backend doesn't have the capability to download
+#: ../client/pk-generate-pack.c:351 ../client/pk-generate-pack.c:357
+msgid "The package manager cannot perform this type of operation."
+msgstr "Pakete-kudeatzaileak ezin du mota honetako eragiketarik egin."
+
+#. TRANSLATORS: This is when the distro didn't include libarchive support into PK
+#: ../client/pk-generate-pack.c:364
+msgid ""
+"Service packs cannot be created as PackageKit was not built with libarchive "
+"support."
+msgstr "Zerbitzu-paketeak ezin dira sortu, PackageKit ez baita eraiki libarchive-ren euskarriarekin."
+
+#. 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 "Fitxategi bat adierazten bada, zerbitzu-paketearen izenaren amaiera honek izan behar du:"
+
+#. TRANSLATORS: This is when file already exists
+#: ../client/pk-generate-pack.c:391
+msgid "A pack with the same name already exists, do you want to overwrite it?"
+msgstr "Jadanik existitzen da izen bera duen pakete bat, gainidatzi nahi al duzu?"
+
+#. TRANSLATORS: This is when the pack was not overwritten
+#: ../client/pk-generate-pack.c:394
+msgid "The pack was not overwritten."
+msgstr "Paketea ez da gainidatzi."
+
+#. TRANSLATORS: This is when the temporary directory cannot be created, the directory name follows
+#: ../client/pk-generate-pack.c:407
+msgid "Failed to create directory:"
+msgstr "Direktorioaren sorrerak huts egin du:"
+
+#. TRANSLATORS: This is when the list of packages from the remote computer cannot be opened
+#: ../client/pk-generate-pack.c:419
+msgid "Failed to open package list."
+msgstr "Ezin iza da pakete-zerrenda ireki."
+
+#. TRANSLATORS: The package name is being matched up to available packages
+#: ../client/pk-generate-pack.c:428
+msgid "Finding package name."
+msgstr "Pakete-izena bilatzen."
+
+#. TRANSLATORS: This is when the package cannot be found in any software source. The detailed error follows
+#: ../client/pk-generate-pack.c:432
+#, c-format
+msgid "Failed to find package '%s': %s"
+msgstr "Ezin izan da '%s' paketea aurkitu: %s"
+
+#. TRANSLATORS: This is telling the user we are in the process of making the pack
+#: ../client/pk-generate-pack.c:440
+msgid "Creating service pack..."
+msgstr "Zerbitzu-paketea sortzen..."
+
+#. TRANSLATORS: we succeeded in making the file
+#: ../client/pk-generate-pack.c:455
+#, c-format
+msgid "Service pack created '%s'"
+msgstr "'%s' zerbitzu-paketea sortu da"
+
+#. TRANSLATORS: we failed to make te file
+#: ../client/pk-generate-pack.c:460
+#, c-format
+msgid "Failed to create '%s': %s"
+msgstr "Ezin izan da '%s' sortu: %s"
+
+#: ../client/pk-monitor.c:284
+msgid "Failed to get daemon state"
+msgstr "Ezin izan da deabruaren egoera ezagutu"
+
+#: ../client/pk-monitor.c:349
+msgid "Failed to get properties"
+msgstr "Ezin izan da propietateak eskuratu"
+
+#. TRANSLATORS: this is a program that monitors PackageKit
+#: ../client/pk-monitor.c:387
+msgid "PackageKit Monitor"
+msgstr "PackageKit monitorea"
+
+#. TRANSLATORS: when we are getting data from the daemon
+#: ../contrib/browser-plugin/pk-plugin-install.c:499
+msgid "Getting package information..."
+msgstr "Pakete-informazioa eskuratzen..."
+
+#. TRANSLATORS: run an applicaiton
+#: ../contrib/browser-plugin/pk-plugin-install.c:505
+#, c-format
+msgid "Run %s"
+msgstr "Exekutatu %s"
+
+#. TRANSLATORS: show the installed version of a package
+#: ../contrib/browser-plugin/pk-plugin-install.c:511
+msgid "Installed version"
+msgstr "Instalatutako bertsioa"
+
+#. TRANSLATORS: run the application now
+#: ../contrib/browser-plugin/pk-plugin-install.c:519
+#, c-format
+msgid "Run version %s now"
+msgstr "Exekutatu %s bertsioa orain"
+
+#. TRANSLATORS: run the application now
+#: ../contrib/browser-plugin/pk-plugin-install.c:525
+msgid "Run now"
+msgstr "Exekutatu orain"
+
+#. TRANSLATORS: update to a new version of the package
+#: ../contrib/browser-plugin/pk-plugin-install.c:531
+#, c-format
+msgid "Update to version %s"
+msgstr "Eguneratu %s bertsiora"
+
+#. TRANSLATORS: To install a package
+#: ../contrib/browser-plugin/pk-plugin-install.c:537
+#, c-format
+msgid "Install %s now"
+msgstr "Instalatu %s orain"
+
+#. TRANSLATORS: the version of the package
+#: ../contrib/browser-plugin/pk-plugin-install.c:540
+msgid "Version"
+msgstr "Bertsioa"
+
+#. TRANSLATORS: noting found, so can't install
+#: ../contrib/browser-plugin/pk-plugin-install.c:545
+msgid "No packages found for your system"
+msgstr "Ez da paketerik aurkitu zure sisteman"
+
+#. TRANSLATORS: package is being installed
+#: ../contrib/browser-plugin/pk-plugin-install.c:550
+msgid "Installing..."
+msgstr "Instalatzen..."
+
+#. TRANSLATORS: downloading repo data so we can search
+#: ../contrib/command-not-found/pk-command-not-found.c:366
+msgid "Downloading details about the software sources."
+msgstr "Software-jatorriei buruzko xehetasunak deskargatzen."
+
+#. TRANSLATORS: downloading file lists so we can search
+#: ../contrib/command-not-found/pk-command-not-found.c:370
+msgid "Downloading filelists (this may take some time to complete)."
+msgstr "Fitxategi-zerrendak deskargatzen (honek denbora pixka bat behar izan dezake)."
+
+#. TRANSLATORS: waiting for native lock
+#: ../contrib/command-not-found/pk-command-not-found.c:374
+msgid "Waiting for package manager lock."
+msgstr "Itxaroten pakete-kudeatzailearen blokeoa."
+
+#. TRANSLATORS: loading package cache so we can search
+#: ../contrib/command-not-found/pk-command-not-found.c:378
+msgid "Loading list of packages."
+msgstr "Paketeen zerrenda kargatzen."
+
+#. TRANSLATORS: we failed to find the package, this shouldn't happen
+#: ../contrib/command-not-found/pk-command-not-found.c:444
+msgid "Failed to search for file"
+msgstr "Fitxategiaren bilaketak huts egin du"
+
+#. TRANSLATORS: the transaction failed in a way we could not expect
+#: ../contrib/command-not-found/pk-command-not-found.c:456
+msgid "Getting the list of files failed"
+msgstr "Huts egin duten fitxategien zerrenda eskuratzen"
+
+#. TRANSLATORS: we failed to launch the executable, the error follows
+#: ../contrib/command-not-found/pk-command-not-found.c:602
+msgid "Failed to launch:"
+msgstr "Abioak huts egin du:"
+
+#. TRANSLATORS: we failed to install the package
+#: ../contrib/command-not-found/pk-command-not-found.c:630
+msgid "Failed to install packages"
+msgstr "Paketeen instalazioak huts egin du"
+
+#. TRANSLATORS: tool that gets called when the command is not found
+#: ../contrib/command-not-found/pk-command-not-found.c:706
+msgid "PackageKit Command Not Found"
+msgstr "Ez da aurkitu PackageKit komandoa"
+
+#. 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:739
+msgid "command not found"
+msgstr "ez da komandoa aurkitu"
+
+#. TRANSLATORS: tell the user what we think the command is
+#: ../contrib/command-not-found/pk-command-not-found.c:757
+msgid "Similar command is:"
+msgstr "Antzeko komandoa:"
+
+#. TRANSLATORS: Ask the user if we should run the similar command
+#: ../contrib/command-not-found/pk-command-not-found.c:771
+msgid "Run similar command:"
+msgstr "Exekutatu antzeko komandoa:"
+
+#. 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:785
+#: ../contrib/command-not-found/pk-command-not-found.c:794
+msgid "Similar commands are:"
+msgstr "Antzeko komandoak:"
+
+#. TRANSLATORS: ask the user to choose a file to run
+#: ../contrib/command-not-found/pk-command-not-found.c:801
+msgid "Please choose a command to run"
+msgstr "Hautatu exekutatuko den komandoa"
+
+#. TRANSLATORS: tell the user what package provides the command
+#: ../contrib/command-not-found/pk-command-not-found.c:819
+msgid "The package providing this file is:"
+msgstr "Fitxategi honetaz hornitzen duen paketea hau da:"
+
+#. TRANSLATORS: as the user if we want to install a package to provide the command
+#: ../contrib/command-not-found/pk-command-not-found.c:826
+#, c-format
+msgid "Install package '%s' to provide command '%s'?"
+msgstr "Instalatu '%s' paketea '%s' komandoaz hornitzeko?"
+
+#. TRANSLATORS: Show the user a list of packages that provide this command
+#: ../contrib/command-not-found/pk-command-not-found.c:853
+msgid "Packages providing this file are:"
+msgstr "Fitxategi honetaz hornitzen duten paketeak hauek dira:"
+
+#. 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:863
+msgid "Suitable packages are:"
+msgstr "Pakete egokiak hauek dira:"
+
+#. get selection
+#. TRANSLATORS: ask the user to choose a file to install
+#: ../contrib/command-not-found/pk-command-not-found.c:872
+msgid "Please choose a package to install"
+msgstr "Hautatu instalatuko den paketea"
+
+#. TRANSLATORS: we are starting to install the packages
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:195
+msgid "Starting install"
+msgstr "Instalazioa abiarazten"
+
+#. TRANSLATORS: we couldn't find the package name, non-fatal
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:407
+#, c-format
+msgid "Failed to find the package %s, or already installed: %s"
+msgstr "Ez da %s paketea aurkitu, edo jadanik instalatuta dago: %s"
+
+#. command line argument, simulate what would be done, but don't actually do it
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:516
+msgid ""
+"Don't actually install any packages, only simulate what would be installed"
+msgstr "Ez instalatu paketerik, instalatuko dela simulatu soilik"
+
+#. command line argument, do we skip packages that depend on the ones specified
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:519
+msgid "Do not install dependencies of the core packages"
+msgstr "Ez instalatu oinarrizko paketeen mendekotasunak"
+
+#. command line argument, do we operate quietly
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:522
+msgid "Do not display information or progress"
+msgstr "Ez erakutsi ez informaziorik ez aurrerapenik"
+
+#. TRANSLATORS: tool that gets called when the command is not found
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:540
+msgid "PackageKit Debuginfo Installer"
+msgstr "PackageKit-en arazketa-informazioko instalatzailea"
+
+#. TRANSLATORS: the use needs to specify a list of package names on the command line
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:554
+#, c-format
+msgid "ERROR: Specify package names to install."
+msgstr "ERROREA: Adierazi instalatuko diren paketeen izenak."
+
+#. TRANSLATORS: we are getting the list of repositories
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:590
+#, c-format
+msgid "Getting sources list"
+msgstr "Jatorri-zerrendak eskuratzen"
+
+#. TRANSLATORS: operation was not successful
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:600
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:675
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:759
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:803
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:870
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:914
+msgid "FAILED."
+msgstr "HUTS EGIN DU."
+
+#. 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
+#, c-format
+msgid "OK."
+msgstr "OK."
+
+#. TRANSLATORS: tell the user what we found
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:618
+#, c-format
+msgid "Found %i enabled and %i disabled sources."
+msgstr "Gaitutako %i eta desgaitutako %i jatorri aurkitu dira."
+
+#. TRANSLATORS: we're finding repositories that match out pattern
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:625
+#, c-format
+msgid "Finding debugging sources"
+msgstr "Arazketa-jatorriak bilatzen"
+
+#. TRANSLATORS: tell the user what we found
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:658
+#, c-format
+msgid "Found %i disabled debuginfo repos."
+msgstr "Desgaitutako %i arazketa-biltegi aurkitu dira."
+
+#. TRANSLATORS: we're now enabling all the debug sources we found
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:665
+#, c-format
+msgid "Enabling debugging sources"
+msgstr "Arazketa-jatorriak gaitzen"
+
+#. TRANSLATORS: tell the user how many we enabled
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:693
+#, c-format
+msgid "Enabled %i debugging sources."
+msgstr "%i arazketa-jatorri gaitu da."
+
+#. TRANSLATORS: we're now finding packages that match in all the repos
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:700
+#, c-format
+msgid "Finding debugging packages"
+msgstr "Arazketa-paketeak bilatzen"
+
+#. TRANSLATORS: we couldn't find the package name, non-fatal
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:712
+#, c-format
+msgid "Failed to find the package %s: %s"
+msgstr "Ez da %s paketea aurkitu: %s"
+
+#. TRANSLATORS: we couldn't find the debuginfo package name, non-fatal
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:735
+#, c-format
+msgid "Failed to find the debuginfo package %s: %s"
+msgstr "Ez da %s arazketa-paketea aurkitu: %s"
+
+#. TRANSLATORS: no debuginfo packages could be found to be installed
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:763
+#, c-format
+msgid "Found no packages to install."
+msgstr "Ez da instalatzeko paketerik aurkitu."
+
+#. TRANSLATORS: tell the user we found some packages, and then list them
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:777
+#, c-format
+msgid "Found %i packages:"
+msgstr "%i pakete aurkitu dira:"
+
+#. TRANSLATORS: tell the user we are searching for deps
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:793
+#, c-format
+msgid "Finding packages that depend on these packages"
+msgstr "Pakete hauen mendekoak diren paketeak bilatzen"
+
+#. TRANSLATORS: could not install, detailed error follows
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:806
+#, c-format
+msgid "Could not find dependant packages: %s"
+msgstr "Ez da mendeko paketerik aurkitu: %s"
+
+#. TRANSLATORS: tell the user we found some more packages
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:822
+#, c-format
+msgid "Found %i extra packages."
+msgstr "%i pakete gehigarri aurkitu dira."
+
+#. TRANSLATORS: tell the user we found some more packages
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:826
+#, c-format
+msgid "No extra packages required."
+msgstr "Ez da pakete gehigarririk behar."
+
+#. TRANSLATORS: tell the user we found some packages (and deps), and then list them
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:835
+#, c-format
+msgid "Found %i packages to install:"
+msgstr "Instalatzeko %i pakete aurkitu dira:"
+
+#. TRANSLATORS: simulate mode is a testing mode where we quit before the action
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:848
+#, c-format
+msgid "Not installing packages in simulate mode"
+msgstr "Paketeak ez instalatzen simulazio-moduan"
+
+#. 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:287
+#, c-format
+msgid "Installing packages"
+msgstr "Paketeak instalatzen"
+
+#. TRANSLATORS: could not install, detailed error follows
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:873
+#, c-format
+msgid "Could not install packages: %s"
+msgstr "Ezin dira paketeak instalatu: %s"
+
+#. TRANSLATORS: we are now disabling all debuginfo repos we previously enabled
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:905
+#, c-format
+msgid "Disabling sources previously enabled"
+msgstr "Aurretiaz gaitutako jatorriak desgaitzen"
+
+#. TRANSLATORS: no debuginfo packages could be found to be installed, detailed error follows
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:917
+#, c-format
+msgid "Could not disable the debugging sources: %s"
+msgstr "Ezin dira arazketa-jatorriak desgaitu: %s"
+
+#. TRANSLATORS: we disabled all the debugging repos that we enabled before
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:932
+#, c-format
+msgid "Disabled %i debugging sources."
+msgstr "%i arazketa-jatorri desgaitu dira."
+
+#. TRANSLATORS: couldn't open device to write
+#: ../contrib/device-rebind/pk-device-rebind.c:62
+msgid "Failed to open file"
+msgstr "Ezin da fitxategia ireki"
+
+#. TRANSLATORS: could not write to the device
+#: ../contrib/device-rebind/pk-device-rebind.c:71
+msgid "Failed to write to the file"
+msgstr "Ezin da fitxategia idatzi"
+
+#. TRANSLATORS: we failed to release the current driver
+#: ../contrib/device-rebind/pk-device-rebind.c:111
+#: ../contrib/device-rebind/pk-device-rebind.c:148
+msgid "Failed to write to device"
+msgstr "Ezin da gailuan idatzi"
+
+#. TRANSLATORS: the device could not be found in sysfs
+#: ../contrib/device-rebind/pk-device-rebind.c:176
+msgid "Device could not be found"
+msgstr "Ezin da gailua aurkitu"
+
+#. TRANSLATORS: we failed to release the current driver
+#: ../contrib/device-rebind/pk-device-rebind.c:203
+msgid "Failed to unregister driver"
+msgstr "Ezin da kontrolagailuaren erregistroa ezabatu"
+
+#. TRANSLATORS: we failed to bind the old driver
+#: ../contrib/device-rebind/pk-device-rebind.c:212
+msgid "Failed to register driver"
+msgstr "Kontrolagailuaren erregistroak huts egin du"
+
+#. TRANSLATORS: user did not specify a device sysfs path that exists
+#: ../contrib/device-rebind/pk-device-rebind.c:261
+msgid "Device path not found"
+msgstr "Ez da aurkitu gailuaren bide-izena"
+
+#. TRANSLATORS: user did not specify a valid device sysfs path
+#: ../contrib/device-rebind/pk-device-rebind.c:269
+msgid "Incorrect device path specified"
+msgstr "Gailuaren bide-izena ez da zuzena"
+
+#: ../contrib/device-rebind/pk-device-rebind.c:294
+msgid "Show extra debugging information"
+msgstr "Erakutsi arazketa-informazio gehigarria"
+
+#. command line argument, simulate what would be done, but don't actually do it
+#: ../contrib/device-rebind/pk-device-rebind.c:297
+msgid "Don't actually touch the hardware, only simulate what would be done"
+msgstr "Ez ukitu hardwarea, soilik simulatu zer egingo litzatekeen"
+
+#. TRANSLATORS: command line option: a list of files to install
+#: ../contrib/device-rebind/pk-device-rebind.c:300
+msgid "Device paths"
+msgstr "Gailuen bide-izenak"
+
+#. TRANSLATORS: tool that gets called when the device needs reloading after installing firmware
+#: ../contrib/device-rebind/pk-device-rebind.c:315
+msgid "PackageKit Device Reloader"
+msgstr "PackageKit-en gailu-birkargatzailea"
+
+#. TRANSLATORS: user did not specify a valid device sysfs path
+#: ../contrib/device-rebind/pk-device-rebind.c:323
+msgid "You need to specify at least one valid device path"
+msgstr "Gutxienez gailu baten baliozko bide-izen bat adierazi behar duzu"
+
+#. TRANSLATORS: user did not specify a valid device sysfs path
+#: ../contrib/device-rebind/pk-device-rebind.c:333
+msgid "This script can only be used by the root user"
+msgstr "Script hau erro-erabiltzaileak soilik erabil dezake"
+
+#. TRANSLATORS: we're going to verify the path first
+#: ../contrib/device-rebind/pk-device-rebind.c:342
+msgid "Verifying device path"
+msgstr "Gailuaren bide-izena egiaztatzen"
+
+#. TRANSLATORS: user did not specify a device sysfs path that exists
+#: ../contrib/device-rebind/pk-device-rebind.c:347
+msgid "Failed to verify device path"
+msgstr "Ezin izan da gailuaren bide-izena egiaztatu"
+
+#. TRANSLATORS: we're going to try
+#: ../contrib/device-rebind/pk-device-rebind.c:361
+msgid "Attempting to rebind device"
+msgstr "Gailua berrezartzen saiatzen"
+
+#. TRANSLATORS: we failed to release the current driver
+#: ../contrib/device-rebind/pk-device-rebind.c:366
+msgid "Failed to rebind device"
+msgstr "Gailuaren berrezarpenak huts egin du"
+
+#: ../data/packagekit-catalog.xml.in.h:1
+msgid "PackageKit Catalog"
+msgstr "PackageKit katalogoa"
+
+#: ../data/packagekit-package-list.xml.in.h:1
+msgid "PackageKit Package List"
+msgstr "PackageKit pakete-zerrenda"
+
+#: ../data/packagekit-servicepack.xml.in.h:1
+msgid "PackageKit Service Pack"
+msgstr "PackageKit zerbitzu-paketea"
+
+#: ../lib/packagekit-glib2/pk-console-shared.c:63
+#, c-format
+msgid "Please enter a number from 1 to %i: "
+msgstr "Sartu 1etik %i-(e)ra arteko zenbaki bat: "
+
+#. 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:189
+msgid "More than one package matches:"
+msgstr "Pakete bat baino gehiago dator bat:"
+
+#. TRANSLATORS: This finds out which package in the list to use
+#: ../lib/packagekit-glib2/pk-console-shared.c:200
+msgid "Please choose the correct package: "
+msgstr "Hautatu pakete zuzena: "
+
+#. TRANSLATORS: This is when the transaction status is not known
+#: ../lib/packagekit-glib2/pk-console-shared.c:255
+msgid "Unknown state"
+msgstr "Egoera ezezaguna"
+
+#. TRANSLATORS: transaction state, the daemon is in the process of starting
+#: ../lib/packagekit-glib2/pk-console-shared.c:259
+msgid "Starting"
+msgstr "Abiarazten"
+
+#. TRANSLATORS: transaction state, the transaction is waiting for another to complete
+#: ../lib/packagekit-glib2/pk-console-shared.c:263
+msgid "Waiting in queue"
+msgstr "Ilaran itxaroten"
+
+#. TRANSLATORS: transaction state, just started
+#: ../lib/packagekit-glib2/pk-console-shared.c:267
+msgid "Running"
+msgstr "Exekutatzen"
+
+#. TRANSLATORS: transaction state, is querying data
+#: ../lib/packagekit-glib2/pk-console-shared.c:271
+msgid "Querying"
+msgstr "Kontsultatzen"
+
+#. TRANSLATORS: transaction state, getting data from a server
+#: ../lib/packagekit-glib2/pk-console-shared.c:275
+msgid "Getting information"
+msgstr "Informazioa eskuratzen"
+
+#. TRANSLATORS: transaction state, removing packages
+#: ../lib/packagekit-glib2/pk-console-shared.c:279
+msgid "Removing packages"
+msgstr "Paketeak kentzen"
+
+#. TRANSLATORS: transaction state, downloading package files
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:283
+#: ../lib/packagekit-glib2/pk-console-shared.c:661
+msgid "Downloading packages"
+msgstr "Paketeak deskargatzen"
+
+#. TRANSLATORS: transaction state, refreshing internal lists
+#: ../lib/packagekit-glib2/pk-console-shared.c:291
+msgid "Refreshing software list"
+msgstr "Software-zerrenda freskatzen"
+
+#. TRANSLATORS: transaction state, installing updates
+#: ../lib/packagekit-glib2/pk-console-shared.c:295
+msgid "Installing updates"
+msgstr "Eguneraketak instalatzen"
+
+#. TRANSLATORS: transaction state, removing old packages, and cleaning config files
+#: ../lib/packagekit-glib2/pk-console-shared.c:299
+msgid "Cleaning up packages"
+msgstr "Paketeak garbitzen"
+
+#. TRANSLATORS: transaction state, obsoleting old packages
+#: ../lib/packagekit-glib2/pk-console-shared.c:303
+msgid "Obsoleting packages"
+msgstr "Paketeak zaharkitzen"
+
+#. TRANSLATORS: transaction state, checking the transaction before we do it
+#: ../lib/packagekit-glib2/pk-console-shared.c:307
+msgid "Resolving dependencies"
+msgstr "Mendekotasunak konpontzen"
+
+#. TRANSLATORS: transaction state, checking if we have all the security keys for the operation
+#: ../lib/packagekit-glib2/pk-console-shared.c:311
+msgid "Checking signatures"
+msgstr "Sinadurak egiaztatzen"
+
+#. 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:315
+#: ../lib/packagekit-glib2/pk-console-shared.c:621
+msgid "Rolling back"
+msgstr "Aurreko transakzio batera itzultzen"
+
+#. TRANSLATORS: transaction state, when we're doing a test transaction
+#: ../lib/packagekit-glib2/pk-console-shared.c:319
+msgid "Testing changes"
+msgstr "Aldaketak probatzen"
+
+#. TRANSLATORS: transaction state, when we're writing to the system package database
+#: ../lib/packagekit-glib2/pk-console-shared.c:323
+msgid "Committing changes"
+msgstr "Aldaketak aplikatzen"
+
+#. TRANSLATORS: transaction state, requesting data from a server
+#: ../lib/packagekit-glib2/pk-console-shared.c:327
+msgid "Requesting data"
+msgstr "Datuak eskatzen"
+
+#. TRANSLATORS: transaction state, all done!
+#: ../lib/packagekit-glib2/pk-console-shared.c:331
+msgid "Finished"
+msgstr "Amaitua"
+
+#. TRANSLATORS: transaction state, in the process of cancelling
+#: ../lib/packagekit-glib2/pk-console-shared.c:335
+msgid "Cancelling"
+msgstr "Uzten"
+
+#. TRANSLATORS: transaction state, downloading metadata
+#: ../lib/packagekit-glib2/pk-console-shared.c:339
+msgid "Downloading repository information"
+msgstr "Biltegi-informazioa deskargatzen"
+
+#. TRANSLATORS: transaction state, downloading metadata
+#: ../lib/packagekit-glib2/pk-console-shared.c:343
+msgid "Downloading list of packages"
+msgstr "Pakete-zerrenda deskargatzen"
+
+#. TRANSLATORS: transaction state, downloading metadata
+#: ../lib/packagekit-glib2/pk-console-shared.c:347
+msgid "Downloading file lists"
+msgstr "Fitxategi-zerrendak deskargatzen"
+
+#. TRANSLATORS: transaction state, downloading metadata
+#: ../lib/packagekit-glib2/pk-console-shared.c:351
+msgid "Downloading lists of changes"
+msgstr "Aldaketa-zerrenda deskargatzen"
+
+#. TRANSLATORS: transaction state, downloading metadata
+#: ../lib/packagekit-glib2/pk-console-shared.c:355
+msgid "Downloading groups"
+msgstr "Taldeak deskargatzen"
+
+#. TRANSLATORS: transaction state, downloading metadata
+#: ../lib/packagekit-glib2/pk-console-shared.c:359
+msgid "Downloading update information"
+msgstr "Eguneraketa-informazioa deskargatzen"
+
+#. TRANSLATORS: transaction state, repackaging delta files
+#: ../lib/packagekit-glib2/pk-console-shared.c:363
+msgid "Repackaging files"
+msgstr "Fitxategiak berriro paketatzen"
+
+#. TRANSLATORS: transaction state, loading databases
+#: ../lib/packagekit-glib2/pk-console-shared.c:367
+msgid "Loading cache"
+msgstr "Katxea kargatzen"
+
+#. TRANSLATORS: transaction state, scanning for running processes
+#: ../lib/packagekit-glib2/pk-console-shared.c:371
+msgid "Scanning applications"
+msgstr "Aplikazioak eskaneatzen"
+
+#. TRANSLATORS: transaction state, generating a list of packages installed on the system
+#: ../lib/packagekit-glib2/pk-console-shared.c:375
+msgid "Generating package lists"
+msgstr "Pakete-zerrenda sortzen"
+
+#. TRANSLATORS: transaction state, when we're waiting for the native tools to exit
+#: ../lib/packagekit-glib2/pk-console-shared.c:379
+msgid "Waiting for package manager lock"
+msgstr "Pakete-kudeatzailearen blokeoa itxaroten"
+
+#. TRANSLATORS: transaction state, waiting for user to type in a password
+#: ../lib/packagekit-glib2/pk-console-shared.c:383
+msgid "Waiting for authentication"
+msgstr "Autentifikaziorako itxaroten"
+
+#. TRANSLATORS: transaction state, we are updating the list of processes
+#: ../lib/packagekit-glib2/pk-console-shared.c:387
+msgid "Updating running applications"
+msgstr "Abioan dauden aplikazioak eguneratzen"
+
+#. TRANSLATORS: transaction state, we are checking executable files currently in use
+#: ../lib/packagekit-glib2/pk-console-shared.c:391
+msgid "Checking applications in use"
+msgstr "Abioan dauden aplikazioak egiaztatzen"
+
+#. TRANSLATORS: transaction state, we are checking for libraries currently in use
+#: ../lib/packagekit-glib2/pk-console-shared.c:395
+msgid "Checking libraries in use"
+msgstr "Erabiltzen ari diren liburutegiak egiaztatzen"
+
+#. TRANSLATORS: transaction state, we are copying package files before or after the transaction
+#: ../lib/packagekit-glib2/pk-console-shared.c:399
+msgid "Copying files"
+msgstr "Fitxategiak kopiatzen"
+
+#. TRANSLATORS: The type of update
+#: ../lib/packagekit-glib2/pk-console-shared.c:417
+msgid "Trivial"
+msgstr "Arina"
+
+#. TRANSLATORS: The type of update
+#: ../lib/packagekit-glib2/pk-console-shared.c:421
+msgid "Normal"
+msgstr "Normala"
+
+#. TRANSLATORS: The type of update
+#: ../lib/packagekit-glib2/pk-console-shared.c:425
+msgid "Important"
+msgstr "Garrantzitsua"
+
+#. TRANSLATORS: The type of update
+#: ../lib/packagekit-glib2/pk-console-shared.c:429
+msgid "Security"
+msgstr "Segurtasuna"
+
+#. TRANSLATORS: The type of update
+#: ../lib/packagekit-glib2/pk-console-shared.c:433
+msgid "Bug fix "
+msgstr "Akats-konponketa "
+
+#. TRANSLATORS: The type of update
+#: ../lib/packagekit-glib2/pk-console-shared.c:437
+msgid "Enhancement"
+msgstr "Hobekuntza"
+
+#. TRANSLATORS: The type of update
+#: ../lib/packagekit-glib2/pk-console-shared.c:441
+msgid "Blocked"
+msgstr "Blokeatua"
+
+#. TRANSLATORS: The state of a package
+#. TRANSLATORS: The action of the package, in past tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:446
+#: ../lib/packagekit-glib2/pk-console-shared.c:519
+msgid "Installed"
+msgstr "Instalatua"
+
+#. TRANSLATORS: The state of a package, i.e. not installed
+#: ../lib/packagekit-glib2/pk-console-shared.c:451
+msgid "Available"
+msgstr "Eskuragarri"
+
+#. TRANSLATORS: The action of the package, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:469
+msgid "Downloading"
+msgstr "Deskargatzen"
+
+#. TRANSLATORS: The action of the package, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:473
+msgid "Updating"
+msgstr "Eguneratzen"
+
+#. 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:477
+#: ../lib/packagekit-glib2/pk-console-shared.c:597
+msgid "Installing"
+msgstr "Instalatzen"
+
+#. 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:481
+#: ../lib/packagekit-glib2/pk-console-shared.c:593
+msgid "Removing"
+msgstr "Kentzen"
+
+#. TRANSLATORS: The action of the package, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:485
+msgid "Cleaning up"
+msgstr "Garbitzen"
+
+#. TRANSLATORS: The action of the package, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:489
+msgid "Obsoleting"
+msgstr "Zaharkitutzat hartzen"
+
+#. TRANSLATORS: The action of the package, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:493
+msgid "Reinstalling"
+msgstr "Berriro instalatzen"
+
+#. TRANSLATORS: The action of the package, in past tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:511
+msgid "Downloaded"
+msgstr "Deskargatua"
+
+#. TRANSLATORS: The action of the package, in past tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:523
+msgid "Removed"
+msgstr "Kendua"
+
+#. TRANSLATORS: The action of the package, in past tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:527
+msgid "Cleaned up"
+msgstr "Garbitua"
+
+#. TRANSLATORS: The action of the package, in past tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:531
+msgid "Obsoleted"
+msgstr "Zaharkitua"
+
+#. TRANSLATORS: The action of the package, in past tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:535
+msgid "Reinstalled"
+msgstr "Berrinstalatua"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:553
+msgid "Unknown role type"
+msgstr "Eginkizun-mota ezezaguna"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:557
+msgid "Getting dependencies"
+msgstr "Mendekotasunak eskuratzen"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:561
+msgid "Getting update details"
+msgstr "Eguneraketa-xehetasunak eskuratzen"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:565
+msgid "Getting details"
+msgstr "Xehetasunak eskuratzen"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:569
+msgid "Getting requires"
+msgstr "Betebeharrak eskuratzen"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:573
+msgid "Getting updates"
+msgstr "Eguneraketak eskuratzen"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:577
+msgid "Searching by details"
+msgstr "Xehetasunen arabera bilatzen"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:581
+msgid "Searching by file"
+msgstr "Fitxategien arabera bilatzen"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:585
+msgid "Searching groups"
+msgstr "Taldeetan bilaketak egiten"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:589
+msgid "Searching by name"
+msgstr "Izenaren arabera bilatzen"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:601
+msgid "Installing files"
+msgstr "Fitxategiak instalatzen"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:605
+msgid "Refreshing cache"
+msgstr "Katxea freskatzen"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:609
+msgid "Updating packages"
+msgstr "Paketeak eguneratzen"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:613
+msgid "Updating system"
+msgstr "Sistema eguneratzen"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:617
+msgid "Canceling"
+msgstr "Uzten"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:625
+msgid "Getting repositories"
+msgstr "Biltegiak eskuratzen"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:629
+msgid "Enabling repository"
+msgstr "Biltegia gaitzen"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:633
+msgid "Setting data"
+msgstr "Data ezartzen"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:637
+msgid "Resolving"
+msgstr "Ebazten"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:641
+msgid "Getting file list"
+msgstr "Fitxategi-zerrenda eskuratzen"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:645
+msgid "Getting provides"
+msgstr "Hornitzaileak eskuratzen"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:649
+msgid "Installing signature"
+msgstr "Sinadura instalatzen"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:653
+msgid "Getting packages"
+msgstr "Paketeak eskuratzen"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:657
+msgid "Accepting EULA"
+msgstr "EULA onartzen"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:665
+msgid "Getting upgrades"
+msgstr "Bertsio-berritzeak eskuratzen"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:669
+msgid "Getting categories"
+msgstr "Kategoriak eskuratzen"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:673
+msgid "Getting transactions"
+msgstr "Transakzioak eskuratzen"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:677
+#: ../lib/packagekit-glib2/pk-console-shared.c:681
+msgid "Simulating install"
+msgstr "Instalazioa simulatzen"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:685
+msgid "Simulating remove"
+msgstr "Kentzea simulatzen"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:689
+msgid "Simulating update"
+msgstr "Eguneraketa simulatzen"
+
+#. TRANSLATORS: turn on all debugging
+#: ../lib/packagekit-glib2/pk-debug.c:133
+msgid "Show debugging information for all files"
+msgstr "Erakutsi fitxategi guztien arazketa-informazioa"
+
+#: ../lib/packagekit-glib2/pk-debug.c:201
+msgid "Debugging Options"
+msgstr "Arazketa-aukerak"
+
+#: ../lib/packagekit-glib2/pk-debug.c:201
+msgid "Show debugging options"
+msgstr "Erakutsi arazketa-aukerak"
+
+#. TRANSLATORS: ask the user if they are comfortable installing insecure packages
+#: ../lib/packagekit-glib2/pk-task-text.c:67
+msgid "Do you want to allow installing of unsigned software?"
+msgstr "Sinatu gabeko softwarea instala dadin baimendu nahi duzu?"
+
+#. TRANSLATORS: tell the user we've not done anything
+#: ../lib/packagekit-glib2/pk-task-text.c:72
+msgid "The unsigned software will not be installed."
+msgstr "Sinatu gabeko softwarea ez da instalatuko."
+
+#. TRANSLATORS: the package repository is signed by a key that is not recognised
+#: ../lib/packagekit-glib2/pk-task-text.c:121
+msgid "Software source signature required"
+msgstr "Software-jatorriaren sinadura behar da"
+
+#. TRANSLATORS: the package repository name
+#: ../lib/packagekit-glib2/pk-task-text.c:127
+msgid "Software source name"
+msgstr "Software-jatorriaren izena"
+
+#. TRANSLATORS: the key URL
+#: ../lib/packagekit-glib2/pk-task-text.c:130
+msgid "Key URL"
+msgstr "Gako URLa"
+
+#. TRANSLATORS: the username of the key
+#: ../lib/packagekit-glib2/pk-task-text.c:133
+msgid "Key user"
+msgstr "Gako erabiltzailea"
+
+#. TRANSLATORS: the key ID, usually a few hex digits
+#: ../lib/packagekit-glib2/pk-task-text.c:136
+msgid "Key ID"
+msgstr "Gako IDa"
+
+#. TRANSLATORS: the key fingerprint, again, yet more hex
+#: ../lib/packagekit-glib2/pk-task-text.c:139
+msgid "Key fingerprint"
+msgstr "Gako hatz-marka"
+
+#. TRANSLATORS: the timestamp (a bit like a machine readable time)
+#: ../lib/packagekit-glib2/pk-task-text.c:142
+msgid "Key Timestamp"
+msgstr "Gako data-zigilua"
+
+#. TRANSLATORS: ask the user if they want to import
+#: ../lib/packagekit-glib2/pk-task-text.c:155
+msgid "Do you accept this signature?"
+msgstr "Onartzen al duzu sinadura hau?"
+
+#. TRANSLATORS: tell the user we've not done anything
+#: ../lib/packagekit-glib2/pk-task-text.c:160
+msgid "The signature was not accepted."
+msgstr "Sinadura ez da onartu."
+
+#. TRANSLATORS: this is another name for a software licence that has to be read before installing
+#: ../lib/packagekit-glib2/pk-task-text.c:203
+msgid "End user licence agreement required"
+msgstr "Azken erabiltzailearen lizentzia-kontratua behar da"
+
+#. TRANSLATORS: the EULA text itself (long and boring)
+#: ../lib/packagekit-glib2/pk-task-text.c:212
+msgid "Agreement"
+msgstr "Lizentzia-kontratua"
+
+#. TRANSLATORS: ask the user if they've read and accepted the EULA
+#: ../lib/packagekit-glib2/pk-task-text.c:221
+msgid "Do you accept this agreement?"
+msgstr "Onartzen al duzu kontratu hau?"
+
+#. TRANSLATORS: tell the user we've not done anything
+#: ../lib/packagekit-glib2/pk-task-text.c:226
+msgid "The agreement was not accepted."
+msgstr "Kontratua ez da onartu."
+
+#. TRANSLATORS: the user needs to change media inserted into the computer
+#: ../lib/packagekit-glib2/pk-task-text.c:265
+msgid "Media change required"
+msgstr "Euskarria aldatu behar da"
+
+#. TRANSLATORS: the type, e.g. DVD, CD, etc
+#: ../lib/packagekit-glib2/pk-task-text.c:268
+msgid "Media type"
+msgstr "Euskarri-mota"
+
+#. TRANSLATORS: the media label, usually like 'disk-1of3'
+#: ../lib/packagekit-glib2/pk-task-text.c:271
+msgid "Media label"
+msgstr "Euskarri-etiketa"
+
+#. TRANSLATORS: the media description, usually like 'Fedora 12 disk 5'
+#: ../lib/packagekit-glib2/pk-task-text.c:274
+msgid "Text"
+msgstr "Testua"
+
+#. TRANSLATORS: ask the user to insert the media
+#: ../lib/packagekit-glib2/pk-task-text.c:280
+msgid "Please insert the correct media"
+msgstr "Sartu euskarri zuzena"
+
+#. TRANSLATORS: tell the user we've not done anything as they are lazy
+#: ../lib/packagekit-glib2/pk-task-text.c:285
+msgid "The correct media was not inserted."
+msgstr "Ez da euskarri zuzena sartu."
+
+#. TRANSLATORS: When processing, we might have to remove other dependencies
+#: ../lib/packagekit-glib2/pk-task-text.c:300
+msgid "The following packages have to be removed:"
+msgstr "Hurrengo paketeak kendu behar dira:"
+
+#. TRANSLATORS: When processing, we might have to install other dependencies
+#: ../lib/packagekit-glib2/pk-task-text.c:305
+msgid "The following packages have to be installed:"
+msgstr "Hurrengo paketeak instalatu behar dira:"
+
+#. TRANSLATORS: When processing, we might have to update other dependencies
+#: ../lib/packagekit-glib2/pk-task-text.c:310
+msgid "The following packages have to be updated:"
+msgstr "Hurrengo paketeak eguneratu behar dira:"
+
+#. TRANSLATORS: When processing, we might have to reinstall other dependencies
+#: ../lib/packagekit-glib2/pk-task-text.c:315
+msgid "The following packages have to be reinstalled:"
+msgstr "Hurrengo paketeak berriro instalatu behar dira:"
+
+#. TRANSLATORS: When processing, we might have to downgrade other dependencies
+#: ../lib/packagekit-glib2/pk-task-text.c:320
+msgid "The following packages have to be downgraded:"
+msgstr "Hurrengo paketeen bertsio zaharragoa instalatu behar da:"
+
+#. TRANSLATORS: ask the user if the proposed changes are okay
+#: ../lib/packagekit-glib2/pk-task-text.c:380
+msgid "Proceed with changes?"
+msgstr "Aldaketekin jarraitu?"
+
+#. TRANSLATORS: tell the user we didn't do anything
+#: ../lib/packagekit-glib2/pk-task-text.c:385
+msgid "The transaction did not proceed."
+msgstr "Transakzioa ez da burutu."
+
+#. SECURITY:
+#. - Normal users do not require admin authentication to accept new
+#. licence agreements.
+#. - Change this to 'auth_admin' for environments where users should not
+#. be given the option to make legal decisions.
+#.
+#: ../policy/org.freedesktop.packagekit.policy.in.h:7
+msgid "Accept EULA"
+msgstr "Onartu EULA"
+
+#: ../policy/org.freedesktop.packagekit.policy.in.h:8
+msgid "Authentication is required to accept a EULA"
+msgstr "Autentifikazioa behar da EULA bat onartzeko"
+
+#: ../policy/org.freedesktop.packagekit.policy.in.h:9
+msgid ""
+"Authentication is required to cancel a task that was not started by yourself"
+msgstr "Autentifikazioa behar da zerorrek abiarazi ez duzun zeregin bat bertan behera uzteko"
+
+#: ../policy/org.freedesktop.packagekit.policy.in.h:10
+msgid "Authentication is required to change software source parameters"
+msgstr "Autentifikazioa behar da software-jatorrien parametroak aldatzeko"
+
+#: ../policy/org.freedesktop.packagekit.policy.in.h:11
+msgid ""
+"Authentication is required to change the location used to decompress packages"
+msgstr "Autentifikazioa behar da paketeak destrinkotzeko erabiltzen den kokapena aldatzeko"
+
+#: ../policy/org.freedesktop.packagekit.policy.in.h:12
+msgid ""
+"Authentication is required to consider a key used for signing packages as "
+"trusted"
+msgstr "Autentifikazioa behar da paketeak sinatzeko erabilitako gakoa fidagarrizat hartzeko"
+
+#: ../policy/org.freedesktop.packagekit.policy.in.h:13
+msgid "Authentication is required to install a signed package"
+msgstr "Autentifikazioa behar da sinatutako pakete bat instalatzeko"
+
+#: ../policy/org.freedesktop.packagekit.policy.in.h:14
+msgid "Authentication is required to install an untrusted package"
+msgstr "Autentifikazioa behar da fidagarria ez den pakete bat instalatzeko"
+
+#: ../policy/org.freedesktop.packagekit.policy.in.h:15
+msgid "Authentication is required to refresh the system sources"
+msgstr "Autentifikazioa behar da sistemaren jatorriak freskatzeko"
+
+#: ../policy/org.freedesktop.packagekit.policy.in.h:16
+msgid "Authentication is required to reload the device with a new driver"
+msgstr "Autentifikazioa behar da gailua kontrolagailu berri batekin birkargatzeko"
+
+#: ../policy/org.freedesktop.packagekit.policy.in.h:17
+msgid "Authentication is required to remove packages"
+msgstr "Autentifikazioa behar da paketeak kentzeko"
+
+#: ../policy/org.freedesktop.packagekit.policy.in.h:18
+msgid "Authentication is required to rollback a transaction"
+msgstr "Autentifikazioa behar da transakzio bat atzera botatzeko"
+
+#: ../policy/org.freedesktop.packagekit.policy.in.h:19
+msgid ""
+"Authentication is required to set the network proxy used for downloading "
+"packages"
+msgstr "Autentifikazioa behar da paketeak deskargatzeko erabiliko den sareko proxy-a ezartzeko"
+
+#: ../policy/org.freedesktop.packagekit.policy.in.h:20
+msgid "Authentication is required to update packages"
+msgstr "Autentifikazioa behar da paketeak eguneratzeko"
+
+#: ../policy/org.freedesktop.packagekit.policy.in.h:21
+msgid "Authentication is required to upgrade the operating system"
+msgstr "Autentifikazioa behar da sistema eragilea bertsioz berritzeko"
+
+#. SECURITY:
+#. - Normal users are allowed to cancel their own task without
+#. authentication, but a different user id needs the admin password
+#. to cancel another users task.
+#.
+#: ../policy/org.freedesktop.packagekit.policy.in.h:27
+msgid "Cancel foreign task"
+msgstr "Utzi zeregin arrotza"
+
+#. SECURITY:
+#. - This is used when users want to install to a different prefix, for
+#. instance to a LTSP image or a virtual machine.
+#. - This could be used to overwrite files not owned by the user using
+#. a carefully created package file.
+#.
+#: ../policy/org.freedesktop.packagekit.policy.in.h:34
+msgid "Change location that packages are installed"
+msgstr "Aldatu paketeak instalatuko diren kokapena"
+
+#. SECURITY:
+#. - Normal users require admin authentication to enable or disable
+#. software sources as this can be used to enable new updates or
+#. install different versions of software.
+#.
+#: ../policy/org.freedesktop.packagekit.policy.in.h:40
+msgid "Change software source parameters"
+msgstr "Aldatu software-jatorrien parametroak"
+
+#. SECURITY:
+#. - Normal users do not need authentication to install signed packages
+#. from signed repositories, as this cannot exploit a system.
+#. - Paranoid users (or parents!) can change this to 'auth_admin' or
+#. 'auth_admin_keep'.
+#.
+#: ../policy/org.freedesktop.packagekit.policy.in.h:47
+msgid "Install signed package"
+msgstr "Instalatu sinatutako paketea"
+
+#. SECURITY:
+#. - Normal users require admin authentication to install untrusted or
+#. unrecognised packages, as allowing users to do this without a
+#. 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
+msgid "Install untrusted local file"
+msgstr "Instalatu fidagarria ez den fitxategi lokala"
+
+#. SECURITY:
+#. - 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
+msgid "Refresh system sources"
+msgstr "Freskatu sistemaren jatorriak"
+
+#. SECURITY:
+#. - Normal users require admin authentication to rebind a driver
+#. so that it works after we install firmware.
+#. - This should not be set to 'yes' as unprivileged users could then
+#. try to rebind drivers in use, for instance security authentication
+#. devices.
+#.
+#: ../policy/org.freedesktop.packagekit.policy.in.h:67
+msgid "Reload a device"
+msgstr "Birkargatu gailu bat"
+
+#. SECURITY:
+#. - Normal users require admin authentication to upgrade the disto as
+#. this can make the system unbootable or stop other applications from
+#. working.
+#.
+#: ../policy/org.freedesktop.packagekit.policy.in.h:73
+msgid "Remove package"
+msgstr "Kendu paketea"
+
+#. 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:79
+msgid "Rollback to a previous transaction"
+msgstr "Itzuli aurreko transakzio batera"
+
+#. SECURITY:
+#. - Normal users do not require admin authentication to set the proxy
+#. used for downloading packages.
+#.
+#: ../policy/org.freedesktop.packagekit.policy.in.h:84
+msgid "Set network proxy"
+msgstr "Ezarri sarearen proxy-a"
+
+#. SECURITY:
+#. - Normal users require admin authentication to add signing keys.
+#. - This implies adding an explicit trust, and should not be granted
+#. without a secure authentication.
+#. - This is not kept as each package should be authenticated.
+#.
+#: ../policy/org.freedesktop.packagekit.policy.in.h:91
+msgid "Trust a key used for signing packages"
+msgstr "Fidatu paketeak sinatzeko erabili den gako batetaz"
+
+#. SECURITY:
+#. - Normal users do not require admin authentication to update the
+#. system as the packages will be signed, and the action is required
+#. to update the system when unattended.
+#. - Changing this to anything other than 'yes' will break unattended
+#. updates.
+#.
+#: ../policy/org.freedesktop.packagekit.policy.in.h:99
+msgid "Update packages"
+msgstr "Eguneratu paketeak"
+
+#. TRANSLATORS: failed due to DBus security
+#: ../src/pk-main.c:87
+msgid "Startup failed due to security policies on this machine."
+msgstr "Abioak huts egin du makina honetako segurtasun-politiken ondorioz"
+
+#. TRANSLATORS: only two ways this can fail...
+#: ../src/pk-main.c:89
+msgid "This can happen for two reasons:"
+msgstr "Bi arrazoi daude horretarako:"
+
+#. TRANSLATORS: only allowed to be owned by root
+#: ../src/pk-main.c:91
+msgid "The correct user is not launching the executable (usually root)"
+msgstr "Exekutagarria ez du erabiltzaile egokiak (normalean root) abiarazi"
+
+#. TRANSLATORS: or we are installed in a prefix
+#: ../src/pk-main.c:93
+msgid ""
+"The org.freedesktop.PackageKit.conf file is not installed in the system "
+"directory:"
+msgstr "org.freedesktop.PackageKit.conf fitxategia ez dago instalatuta sistemaren direktorioan:"
+
+#. TRANSLATORS: a backend is the system package tool, e.g. yum, apt
+#: ../src/pk-main.c:200
+msgid "Packaging backend to use, e.g. dummy"
+msgstr "Erabiliko den paketatze-motorra, adib. dummy"
+
+#. TRANSLATORS: if we should run in the background
+#: ../src/pk-main.c:203
+msgid "Daemonize and detach from the terminal"
+msgstr "Deabrutu eta askatu terminaletik"
+
+#. TRANSLATORS: if we should not monitor how long we are inactive for
+#: ../src/pk-main.c:206
+msgid "Disable the idle timer"
+msgstr "Desgaitu inaktibitate-kronometroa"
+
+#. TRANSLATORS: show version
+#: ../src/pk-main.c:209
+msgid "Show version and exit"
+msgstr "Erakutsi bertsioa eta irten"
+
+#. TRANSLATORS: exit after we've started up, used for user profiling
+#: ../src/pk-main.c:212
+msgid "Exit after a small delay"
+msgstr "Irten atzerapen txiki baten ondoren"
+
+#. TRANSLATORS: exit straight away, used for automatic profiling
+#: ../src/pk-main.c:215
+msgid "Exit after the engine has loaded"
+msgstr "Irten motorra kargatu ondoren"
+
+#. TRANSLATORS: describing the service that is running
+#: ../src/pk-main.c:230
+msgid "PackageKit service"
+msgstr "PackageKit zerbitzua"
+
+#. TRANSLATORS: fatal error, dbus is not running
+#: ../src/pk-main.c:267
+msgid "Cannot connect to the system bus"
+msgstr "Ezin izan da sistemaren busera konektatu"
+
+#. TRANSLATORS: cannot register on system bus, unknown reason -- geeky error follows
+#: ../src/pk-main.c:316
+msgid "Error trying to start:"
+msgstr "Errorea abiaraztean:"
+
+#: ../src/pk-polkit-action-lookup.c:150
+msgid "To install debugging packages, extra sources need to be enabled"
+msgstr "Arazketa-paketeak instalatzeko beste jatorri batzuk gaitu behar dira"
+
+#. TRANSLATORS: is not GPG signed
+#: ../src/pk-polkit-action-lookup.c:171 ../src/pk-polkit-action-lookup.c:190
+msgid "The software is not from a trusted source."
+msgstr "Softwarea ez da jatorri fidagarri batekoa."
+
+#: ../src/pk-polkit-action-lookup.c:176
+msgid "Do not update this package unless you are sure it is safe to do so."
+msgstr "Ez eguneratu pakete hau hori egitea segurua dela egiaztatu arte."
+
+#: ../src/pk-polkit-action-lookup.c:177
+msgid "Do not update these packages unless you are sure it is safe to do so."
+msgstr "Ez eguneratu pakete hauek hori egitea segurua dela egiaztatu arte."
+
+#: ../src/pk-polkit-action-lookup.c:195
+msgid "Do not install this package unless you are sure it is safe to do so."
+msgstr "Ez instalatu pakete hau hori egitea segurua dela egiaztatu arte."
+
+#: ../src/pk-polkit-action-lookup.c:196
+msgid "Do not install these packages unless you are sure it is safe to do so."
+msgstr "Ez instalatu pakete hauek hori egitea segurua dela egiaztatu arte."
+
+#. TRANSLATORS: too many packages to list each one
+#: ../src/pk-polkit-action-lookup.c:273
+msgid "Many packages"
+msgstr "Pakete asko"
+
+#. TRANSLATORS: if the transaction is forced to install only trusted packages
+#: ../src/pk-polkit-action-lookup.c:339
+msgid "Only trusted"
+msgstr "Soilik fidagarriak"
commit 9c90bac97926fb184bd8ecca5bf5ad5777746100
Author: Daniel Nicoletti <dantti85-pk at yahoo.com.br>
Date: Wed Nov 24 21:09:57 2010 -0200
aptcc: Fix regex not to match "()(64bit)" as we don't support multiarch anyway
diff --git a/backends/aptcc/gstMatcher.cpp b/backends/aptcc/gstMatcher.cpp
index 2b27bf9..9f60581 100644
--- a/backends/aptcc/gstMatcher.cpp
+++ b/backends/aptcc/gstMatcher.cpp
@@ -20,6 +20,7 @@
#include <regex.h>
#include <gst/gst.h>
+#include <iostream>
GstMatcher::GstMatcher(gchar **values)
{
@@ -30,7 +31,7 @@ GstMatcher::GstMatcher(gchar **values)
// gstreamer0.10(decoder-audio/x-wma)(wmaversion=3)
const char *pkreg = "^gstreamer\\([0-9\\.]\\+\\)"
"(\\(encoder\\|decoder\\|urisource\\|urisink\\|element\\)-\\([^)]\\+\\))"
- "\\((.*)\\)\\?";
+ "\\(([^\\(^\\)]*)\\)\\?";
regex_t pkre;
if(regcomp(&pkre, pkreg, 0) != 0) {
@@ -60,9 +61,6 @@ GstMatcher::GstMatcher(gchar **values)
if (matches[4].rm_so != -1) {
// remove the '(' ')' that the regex matched
opt = string(value, matches[4].rm_so + 1, matches[4].rm_eo - matches[4].rm_so - 2);
- } else {
- // if the 4th element did not match match everything
- opt = ".*";
}
if (type.compare("encoder") == 0) {
@@ -82,16 +80,25 @@ GstMatcher::GstMatcher(gchar **values)
// cout << opt << endl;
gchar *capsString;
- capsString = g_strdup_printf("%s, %s", data.c_str(), opt.c_str());
+ if (opt.empty()) {
+ capsString = g_strdup_printf("%s", data.c_str());
+ } else {
+ capsString = g_strdup_printf("%s, %s", data.c_str(), opt.c_str());
+ }
+ GstCaps *caps = gst_caps_from_string(capsString);
+ g_free(capsString);
+
+ if (caps == NULL) {
+ continue;
+ }
values.version = version;
values.type = type;
values.data = data;
values.opt = opt;
- values.caps = gst_caps_from_string(capsString);
+ values.caps = caps;
m_matches.push_back(values);
- g_free(capsString);
} else {
g_debug("Did not match: %s", value);
}
@@ -123,6 +130,9 @@ bool GstMatcher::matches(string record)
GstCaps *caps;
caps = gst_caps_from_string(record.substr(found, endOfLine - found).c_str());
+ if (caps == NULL) {
+ continue;
+ }
// if the record is capable of intersect them we found the package
bool provides = gst_caps_can_intersect(static_cast<GstCaps*>(i->caps), caps);
commit 9dd6ad17f476c4e5f5248db1e84e34b3cf46cb6c
Merge: 16170df... 79153b6...
Author: Daniel Nicoletti <dantti85-pk at yahoo.com.br>
Date: Wed Nov 24 17:18:25 2010 -0200
Merge branch 'master' of gitorious.org:packagekit/packagekit
commit 16170df05a733e665896128d1f7fc520a60b2e45
Author: Daniel Nicoletti <dantti85-pk at yahoo.com.br>
Date: Wed Nov 24 17:17:01 2010 -0200
aptcc: Gstreamer search coded support finished
diff --git a/backends/aptcc/apt.cpp b/backends/aptcc/apt.cpp
index 89cbc63..082d093 100644
--- a/backends/aptcc/apt.cpp
+++ b/backends/aptcc/apt.cpp
@@ -22,6 +22,7 @@
#include "apt.h"
#include "apt-utils.h"
#include "matcher.h"
+#include "gstMatcher.h"
#include "aptcc_show_broken.h"
#include "acqprogress.h"
#include "pkg_acqfile.h"
@@ -369,8 +370,6 @@ void aptcc::emit_packages(vector<pair<pkgCache::PkgIterator, pkgCache::VerIterat
}
}
-
-
void aptcc::emitUpdates(vector<pair<pkgCache::PkgIterator, pkgCache::VerIterator> > &output,
PkBitfield filters)
{
@@ -417,132 +416,46 @@ void aptcc::emitUpdates(vector<pair<pkgCache::PkgIterator, pkgCache::VerIterator
}
}
-
void aptcc::povidesCodec(vector<pair<pkgCache::PkgIterator, pkgCache::VerIterator> > &output,
- gchar **values)
+ gchar **values)
{
- // The search term from PackageKit daemon:
- // gstreamer0.10(urisource-foobar)
- // gstreamer0.10(decoder-audio/x-wma)(wmaversion=3)
-
- // The optional field is more complicated, it can have
- // types, like int, float...
- // TODO use some GST helper :/
- regex_t pkre;
-
- const char *pkreg = "^gstreamer\\([0-9\\.]\\+\\)"
- "(\\(encoder\\|decoder\\|urisource\\|urisink\\|element\\)-\\([^)]\\+\\))"
- "\\((.*)\\)\\?";
-
- if(regcomp(&pkre, pkreg, 0) != 0) {
- g_debug("Regex compilation error: ", pkreg);
- return;
- }
-
- gchar *value;
- vector<pair<string, regex_t> > search;
- for (uint i = 0; i < g_strv_length(values); i++) {
- value = values[i];
- regmatch_t matches[5];
- if (regexec(&pkre, value, 5, matches, 0) == 0) {
- string version, type, data, opt;
- version = "\nGstreamer-Version: ";
- version.append(string(value, matches[1].rm_so, matches[1].rm_eo - matches[1].rm_so));
- type = string(value, matches[2].rm_so, matches[2].rm_eo - matches[2].rm_so);
- data = string(value, matches[3].rm_so, matches[3].rm_eo - matches[3].rm_so);
- if (matches[4].rm_so != -1) {
- // remove the '(' ')' that the regex matched
- opt = string(value, matches[4].rm_so + 1, matches[4].rm_eo - matches[4].rm_so - 2);
- } else {
- // if the 4th element did not match match everything
- opt = ".*";
- }
-
- if (type.compare("encoder") == 0) {
- type = "Gstreamer-Encoders";
- } else if (type.compare("decoder") == 0) {
- type = "Gstreamer-Decoders";
- } else if (type.compare("urisource") == 0) {
- type = "Gstreamer-Uri-Sources";
- } else if (type.compare("urisink") == 0) {
- type = "Gstreamer-Uri-Sinks";
- } else if (type.compare("element") == 0) {
- type = "Gstreamer-Elements";
- }
- cout << version << endl;
- cout << type << endl;
- cout << data << endl;
- cout << opt << endl;
- regex_t sre;
- gchar *itemreg;
- itemreg = g_strdup_printf("^%s:.* %s\\(, %s\\(,.*\\|;.*\\|$\\)\\|;\\|$\\)",
- type.c_str(),
- data.c_str(),
- opt.c_str());
- if(regcomp(&sre, itemreg, REG_NEWLINE | REG_NOSUB) == 0) {
- search.push_back(pair<string, regex_t>(version, sre));
- } else {
- g_debug("Search regex compilation error: ", itemreg);
- }
- g_free(itemreg);
- } else {
- g_debug("Did not match: %s", value);
- }
- }
- regfree(&pkre);
-
- // If nothing matched just return
- if (search.size() == 0) {
- return;
- }
+ GstMatcher *matcher = new GstMatcher(values);
+ if (!matcher->hasMatches()) {
+ return;
+ }
- for (pkgCache::PkgIterator pkg = packageCache->PkgBegin(); !pkg.end(); ++pkg)
- {
- if (_cancel) {
- break;
- }
- // Ignore packages that exist only due to dependencies.
- if (pkg.VersionList().end() && pkg.ProvidesList().end()) {
- continue;
- }
+ for (pkgCache::PkgIterator pkg = packageCache->PkgBegin(); !pkg.end(); ++pkg)
+ {
+ if (_cancel) {
+ delete matcher;
+ break;
+ }
+ // Ignore packages that exist only due to dependencies.
+ if (pkg.VersionList().end() && pkg.ProvidesList().end()) {
+ continue;
+ }
- // TODO search in updates packages
- // Ignore virtual packages
- pkgCache::VerIterator ver = find_ver(pkg);
- if (ver.end() == true) {
- ver = find_candidate_ver(pkg);
- if (ver.end() == true) {
- continue;
- }
- }
- pkgCache::VerFileIterator vf = ver.FileList();
- pkgRecords::Parser &rec = packageRecords->Lookup(vf);
- const char *start, *stop;
- rec.GetRec(start, stop);
- string record(start, stop - start);
- for (vector<pair<string, regex_t> >::iterator i=search.begin();
- i != search.end();
- ++i) {
- if (_cancel) {
- break;
- }
+ // TODO search in updates packages
+ // Ignore virtual packages
+ pkgCache::VerIterator ver = find_ver(pkg);
+ if (ver.end() == true) {
+ ver = find_candidate_ver(pkg);
+ if (ver.end() == true) {
+ continue;
+ }
+ }
- // if Gstreamer-version: xxx is found try to match the regex
- if (record.find(i->first) != string::npos) {
- if (regexec(&i->second, record.c_str(), 0, NULL, 0) == 0) {
- cout << record << endl;
- output.push_back(pair<pkgCache::PkgIterator, pkgCache::VerIterator>(pkg, ver));
- }
- }
- }
- }
+ pkgCache::VerFileIterator vf = ver.FileList();
+ pkgRecords::Parser &rec = packageRecords->Lookup(vf);
+ const char *start, *stop;
+ rec.GetRec(start, stop);
+ string record(start, stop - start);
+ if (matcher->matches(record)) {
+ output.push_back(pair<pkgCache::PkgIterator, pkgCache::VerIterator>(pkg, ver));
+ }
+ }
- // frees ours regexs
- for (vector<pair<string, regex_t> >::iterator i=search.begin();
- i != search.end();
- ++i) {
- regfree(&i->second);
- }
+ delete matcher;
}
// used to emit packages it collects all the needed info
@@ -1014,71 +927,6 @@ vector<string> searchMimeType (PkBackend *backend, gchar **values, bool &error,
return packageList;
}
-// TODO this was replaced with data in the cache
-// used to return files it reads, using the info from the files in /var/lib/dpkg/info/
-// vector<string> searchCodec (PkBackend *backend, gchar **values, bool &error, bool &_cancel)
-// {
-// vector<string> packageList;
-// regex_t re;
-// gchar *value;
-// gchar *values_str;
-//
-// values_str = g_strjoinv("|", values);
-// value = g_strdup_printf("^X-AppInstall-Codecs=\\(.*;\\)\\?\\(%s\\)\\(;.*\\)\\?$",
-// values_str);
-// g_free(values_str);
-//
-// if(regcomp(&re, value, REG_NOSUB) != 0) {
-// g_debug("Regex compilation error");
-// g_free(value);
-// return vector<string>();
-// }
-// g_free(value);
-//
-// DIR *dp;
-// struct dirent *dirp;
-// if (!(dp = opendir("/usr/share/app-install/desktop/"))) {
-// g_debug ("Error opening /usr/share/app-install/desktop/\n");
-// regfree(&re);
-// error = true;
-// return vector<string>();
-// }
-//
-// string line;
-// while ((dirp = readdir(dp)) != NULL) {
-// if (_cancel) {
-// break;
-// }
-// if (ends_with(dirp->d_name, ".desktop")) {
-// string f = "/usr/share/app-install/desktop/" + string(dirp->d_name);
-// ifstream in(f.c_str());
-// if (!in != 0) {
-// continue;
-// }
-// bool getName = false;
-// while (!in.eof()) {
-// getline(in, line);
-// if (getName) {
-// if (starts_with(line, "X-AppInstall-Package=")) {
-// // Remove the X-AppInstall-Package=
-// packageList.push_back(line.substr(21));
-// break;
-// }
-// } else {
-// if (regexec(&re, line.c_str(), (size_t)0, NULL, 0) == 0) {
-// in.seekg(ios_base::beg);
-// getName = true;
-// }
-// }
-// }
-// }
-// }
-//
-// closedir(dp);
-// regfree(&re);
-// return packageList;
-// }
-
// used to emit files it reads the info directly from the files
void emit_files (PkBackend *backend, const gchar *pi)
{
diff --git a/backends/aptcc/gstMatcher.cpp b/backends/aptcc/gstMatcher.cpp
index eb0f77d..2b27bf9 100644
--- a/backends/aptcc/gstMatcher.cpp
+++ b/backends/aptcc/gstMatcher.cpp
@@ -1,7 +1,5 @@
-// apt.cc
//
-// Copyright 1999-2008 Daniel Burrows
-// Copyright (C) 2009 Daniel Nicoletti <dantti85-pk at yahoo.com.br>
+// Copyright (C) 2010 Daniel Nicoletti <dantti85-pk at yahoo.com.br>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -19,42 +17,46 @@
// Boston, MA 02111-1307, USA.
#include "gstMatcher.h"
-#include <stdio.h>
-#include <iostream>
+#include <regex.h>
#include <gst/gst.h>
-gstMatcher::gstMatcher(gchar **values)
+GstMatcher::GstMatcher(gchar **values)
{
+ gst_init(NULL, NULL);
+
// The search term from PackageKit daemon:
// gstreamer0.10(urisource-foobar)
// gstreamer0.10(decoder-audio/x-wma)(wmaversion=3)
-
- // The optional field is more complicated, it can have
- // types, like int, float...
- // TODO use some GST helper :/
- regex_t pkre;
-
const char *pkreg = "^gstreamer\\([0-9\\.]\\+\\)"
"(\\(encoder\\|decoder\\|urisource\\|urisink\\|element\\)-\\([^)]\\+\\))"
"\\((.*)\\)\\?";
+ regex_t pkre;
if(regcomp(&pkre, pkreg, 0) != 0) {
g_debug("Regex compilation error: ", pkreg);
return;
}
gchar *value;
- vector<pair<string, regex_t> > search;
for (uint i = 0; i < g_strv_length(values); i++) {
value = values[i];
regmatch_t matches[5];
if (regexec(&pkre, value, 5, matches, 0) == 0) {
+ Match values;
string version, type, data, opt;
+
+ // Appends the version "0.10"
version = "\nGstreamer-Version: ";
version.append(string(value, matches[1].rm_so, matches[1].rm_eo - matches[1].rm_so));
+
+ // type (encode|decoder...)
type = string(value, matches[2].rm_so, matches[2].rm_eo - matches[2].rm_so);
+
+ // data "audio/x-wma"
data = string(value, matches[3].rm_so, matches[3].rm_eo - matches[3].rm_so);
+
+ // opt "wmaversion=3"
if (matches[4].rm_so != -1) {
// remove the '(' ')' that the regex matched
opt = string(value, matches[4].rm_so + 1, matches[4].rm_eo - matches[4].rm_so - 2);
@@ -64,46 +66,79 @@ gstMatcher::gstMatcher(gchar **values)
}
if (type.compare("encoder") == 0) {
- type = "Gstreamer-Encoders";
+ type = "Gstreamer-Encoders: ";
} else if (type.compare("decoder") == 0) {
- type = "Gstreamer-Decoders";
+ type = "Gstreamer-Decoders: ";
} else if (type.compare("urisource") == 0) {
- type = "Gstreamer-Uri-Sources";
+ type = "Gstreamer-Uri-Sources: ";
} else if (type.compare("urisink") == 0) {
- type = "Gstreamer-Uri-Sinks";
+ type = "Gstreamer-Uri-Sinks: ";
} else if (type.compare("element") == 0) {
- type = "Gstreamer-Elements";
- }
- cout << version << endl;
- cout << type << endl;
- cout << data << endl;
- cout << opt << endl;
- regex_t sre;
- gchar *itemreg;
- GstCaps *caps;
- caps = gst_caps_new_simple(data.c_str(), opt.c_str());
- itemreg = g_strdup_printf("^%s:.* %s\\(, %s\\(,.*\\|;.*\\|$\\)\\|;\\|$\\)",
- type.c_str(),
- data.c_str(),
- opt.c_str());
- if(regcomp(&sre, itemreg, REG_NEWLINE | REG_NOSUB) == 0) {
- search.push_back(pair<string, regex_t>(version, sre));
- } else {
- g_debug("Search regex compilation error: ", itemreg);
+ type = "Gstreamer-Elements: ";
}
- g_free(itemreg);
+// cout << version << endl;
+// cout << type << endl;
+// cout << data << endl;
+// cout << opt << endl;
+
+ gchar *capsString;
+ capsString = g_strdup_printf("%s, %s", data.c_str(), opt.c_str());
+
+ values.version = version;
+ values.type = type;
+ values.data = data;
+ values.opt = opt;
+ values.caps = gst_caps_from_string(capsString);
+
+ m_matches.push_back(values);
+ g_free(capsString);
} else {
g_debug("Did not match: %s", value);
}
}
regfree(&pkre);
+}
- // If nothing matched just return
- if (search.size() == 0) {
- return;
+GstMatcher::~GstMatcher()
+{
+ gst_deinit();
+
+ for (vector<Match>::iterator i = m_matches.begin(); i != m_matches.end(); ++i) {
+ gst_caps_unref(static_cast<GstCaps*>(i->caps));
}
}
-gstMatcher::~gstMatcher()
+bool GstMatcher::matches(string record)
{
+ for (vector<Match>::iterator i = m_matches.begin(); i != m_matches.end(); ++i) {
+ // Tries to find "Gstreamer-version: xxx"
+ if (record.find(i->version) != string::npos) {
+ size_t found;
+ found = record.find(i->type);
+ // Tries to find the type "Gstreamer-Uri-Sinks: "
+ if (found != string::npos) {
+ found += i->type.size(); // skips the "Gstreamer-Uri-Sinks: " string
+ size_t endOfLine;
+ endOfLine = record.find('\n', found);
+
+ GstCaps *caps;
+ caps = gst_caps_from_string(record.substr(found, endOfLine - found).c_str());
+
+ // if the record is capable of intersect them we found the package
+ bool provides = gst_caps_can_intersect(static_cast<GstCaps*>(i->caps), caps);
+ gst_caps_unref(caps);
+
+ if (provides) {
+ return true;
+ }
+ }
+ }
+ }
+ return false;
+}
+
+bool GstMatcher::hasMatches() const
+{
+ return !m_matches.empty();
}
+
diff --git a/backends/aptcc/gstMatcher.h b/backends/aptcc/gstMatcher.h
index 2645702..7f8ca7b 100644
--- a/backends/aptcc/gstMatcher.h
+++ b/backends/aptcc/gstMatcher.h
@@ -1,7 +1,5 @@
-// apt.h -*-c++-*-
//
-// Copyright 1999-2002, 2004-2005, 2007-2008 Daniel Burrows
-// Copyright (C) 2009 Daniel Nicoletti <dantti85-pk at yahoo.com.br>
+// Copyright (C) 2010 Daniel Nicoletti <dantti85-pk at yahoo.com.br>
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -22,22 +20,32 @@
#ifndef GST_MATCHER_H
#define GST_MATCHER_H
-#include <regex.h>
-
#include <glib.h>
#include <vector>
-#include <map>
#include <string>
using namespace std;
-class gstMatcher
+typedef struct {
+ string version;
+ string type;
+ string data;
+ string opt;
+ void *caps;
+} Match;
+
+class GstMatcher
{
public:
- gstMatcher(gchar **values);
- ~gstMatcher();
+ GstMatcher(gchar **values);
+ ~GstMatcher();
+
+ bool matches(string record);
+ bool hasMatches() const;
+private:
+ vector<Match> m_matches;
};
#endif
diff --git a/backends/aptcc/pk-backend-aptcc.cpp b/backends/aptcc/pk-backend-aptcc.cpp
index 5ad5b00..118c5df 100644
--- a/backends/aptcc/pk-backend-aptcc.cpp
+++ b/backends/aptcc/pk-backend-aptcc.cpp
@@ -508,15 +508,13 @@ backend_what_provides_thread (PkBackend *backend)
{
PkProvidesEnum provides;
PkBitfield filters;
- const gchar *search;
const gchar *provides_text;
gchar **values;
bool error = false;
filters = (PkBitfield) pk_backend_get_uint (backend, "filters");
provides = (PkProvidesEnum) pk_backend_get_uint (backend, "provides");
- search = pk_backend_get_string (backend, "search");
- values = g_strsplit (search, "&", 0);
+ values = pk_backend_get_strv (backend, "search");
pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);
@@ -587,7 +585,6 @@ backend_what_provides_thread (PkBackend *backend)
provides_text);
}
- g_strfreev (values);
pk_backend_finished (backend);
return true;
}
commit 79153b6865ff806b58b7c5079fec2c2e7fbd5106
Author: Piotr DrÄ
g <piotrdrag at gmail.com>
Date: Wed Nov 24 14:24:18 2010 +0000
l10n: Updated Polish (pl) translation to 100%
New status: 375 messages complete with 0 fuzzies and 0 untranslated.
Transmitted-via: Transifex (www.transifex.net).
diff --git a/po/pl.po b/po/pl.po
index 1a06d8f..c61efc9 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -5,10 +5,11 @@ msgid ""
msgstr ""
"Project-Id-Version: pl\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-07-02 14:59+0000\n"
-"PO-Revision-Date: 2010-07-02 21:54+0200\n"
+"POT-Creation-Date: 2010-11-24 12:48+0000\n"
+"PO-Revision-Date: 2010-11-24 15:17+0100\n"
"Last-Translator: Piotr DrÄ
g <piotrdrag at gmail.com>\n"
"Language-Team: Polish <trans-pl at lists.fedoraproject.org>\n"
+"Language: pl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -17,115 +18,115 @@ msgstr ""
#. TRANSLATORS: this is an atomic transaction
#. TRANSLATORS: the role is the point of the transaction, e.g. update-system
-#: ../client/pk-console.c:176 ../client/pk-console.c:598
+#: ../client/pk-console.c:174 ../client/pk-console.c:596
msgid "Transaction"
msgstr "Transakcja"
#. TRANSLATORS: this is the time the transaction was started in system timezone
-#: ../client/pk-console.c:178
+#: ../client/pk-console.c:176
msgid "System time"
msgstr "Czas systemowy"
#. TRANSLATORS: this is if the transaction succeeded or not
-#: ../client/pk-console.c:180
+#: ../client/pk-console.c:178
msgid "Succeeded"
msgstr "Powodzenie"
-#: ../client/pk-console.c:180
+#: ../client/pk-console.c:178
msgid "True"
msgstr "Prawda"
-#: ../client/pk-console.c:180
+#: ../client/pk-console.c:178
msgid "False"
msgstr "FaÅsz"
#. TRANSLATORS: this is the transactions role, e.g. "update-system"
#. TRANSLATORS: the trasaction role, e.g. update-system
-#: ../client/pk-console.c:182 ../src/pk-polkit-action-lookup.c:332
+#: ../client/pk-console.c:180 ../src/pk-polkit-action-lookup.c:332
msgid "Role"
msgstr "Rola"
#. TRANSLATORS: this is The duration of the transaction
-#: ../client/pk-console.c:187
+#: ../client/pk-console.c:185
msgid "Duration"
msgstr "Czas trwania"
-#: ../client/pk-console.c:187
+#: ../client/pk-console.c:185
msgid "(seconds)"
msgstr "(sekundy)"
#. TRANSLATORS: this is The command line used to do the action
#. TRANSLATORS: the command line of the thing that wants the authentication
-#: ../client/pk-console.c:191 ../src/pk-polkit-action-lookup.c:346
+#: ../client/pk-console.c:189 ../src/pk-polkit-action-lookup.c:346
msgid "Command line"
msgstr "Wiersz poleceÅ"
#. TRANSLATORS: this is the user ID of the user that started the action
-#: ../client/pk-console.c:193
+#: ../client/pk-console.c:191
msgid "User ID"
msgstr "Identyfikator użytkownika"
#. TRANSLATORS: this is the username, e.g. hughsie
-#: ../client/pk-console.c:200
+#: ../client/pk-console.c:198
msgid "Username"
msgstr "Nazwa użytkownika"
#. TRANSLATORS: this is the users real name, e.g. "Richard Hughes"
-#: ../client/pk-console.c:204
+#: ../client/pk-console.c:202
msgid "Real name"
msgstr "ImiÄ i nazwisko"
-#: ../client/pk-console.c:212
+#: ../client/pk-console.c:210
msgid "Affected packages:"
msgstr "Dotyczy pakietów:"
-#: ../client/pk-console.c:214
+#: ../client/pk-console.c:212
msgid "Affected packages: None"
msgstr "Dotyczy pakietów: żadnych"
#. TRANSLATORS: this is the distro, e.g. Fedora 10
-#: ../client/pk-console.c:249
+#: ../client/pk-console.c:247
msgid "Distribution"
msgstr "Dystrybucja"
#. TRANSLATORS: this is type of update, stable or testing
-#: ../client/pk-console.c:251
+#: ../client/pk-console.c:249
msgid "Type"
msgstr "Typ"
#. TRANSLATORS: this is any summary text describing the upgrade
#. TRANSLATORS: this is the summary of the group
-#: ../client/pk-console.c:253 ../client/pk-console.c:292
+#: ../client/pk-console.c:251 ../client/pk-console.c:290
msgid "Summary"
msgstr "Podsumowanie"
#. TRANSLATORS: this is the group category name
-#: ../client/pk-console.c:281
+#: ../client/pk-console.c:279
msgid "Category"
msgstr "Kategoria"
#. TRANSLATORS: this is group identifier
-#: ../client/pk-console.c:283
+#: ../client/pk-console.c:281
msgid "ID"
msgstr "Identyfikator"
#. TRANSLATORS: this is the parent group
-#: ../client/pk-console.c:286
+#: ../client/pk-console.c:284
msgid "Parent"
msgstr "NadrzÄdna"
#. TRANSLATORS: this is the name of the parent group
-#: ../client/pk-console.c:289
+#: ../client/pk-console.c:287
msgid "Name"
msgstr "Nazwa"
#. TRANSLATORS: this is preferred icon for the group
-#: ../client/pk-console.c:295
+#: ../client/pk-console.c:293
msgid "Icon"
msgstr "Ikona"
#. TRANSLATORS: this is a header for the package that can be updated
-#: ../client/pk-console.c:341
+#: ../client/pk-console.c:339
msgid "Details about the update:"
msgstr "SzczegóÅy aktualizacji:"
@@ -134,9 +135,9 @@ msgstr "SzczegóÅy aktualizacji:"
#. TRANSLATORS: the package that is not signed by a known key
#. TRANSLATORS: the package name that was trying to be installed
#. TRANSLATORS: title, the names of the packages that the method is processing
-#: ../client/pk-console.c:347 ../client/pk-console.c:617
-#: ../lib/packagekit-glib2/pk-task-text.c:126
-#: ../lib/packagekit-glib2/pk-task-text.c:208
+#: ../client/pk-console.c:345 ../client/pk-console.c:615
+#: ../lib/packagekit-glib2/pk-task-text.c:124
+#: ../lib/packagekit-glib2/pk-task-text.c:206
#: ../src/pk-polkit-action-lookup.c:357
msgid "Package"
msgid_plural "Packages"
@@ -145,165 +146,169 @@ msgstr[1] "Pakiety"
msgstr[2] "Pakietów"
#. TRANSLATORS: details about the update, any packages that this update updates
-#: ../client/pk-console.c:350
+#: ../client/pk-console.c:348
msgid "Updates"
msgstr "Aktualizuje"
#. TRANSLATORS: details about the update, any packages that this update obsoletes
-#: ../client/pk-console.c:354
+#: ../client/pk-console.c:352
msgid "Obsoletes"
msgstr "ZastÄpuje"
#. TRANSLATORS: details about the update, the vendor URLs
#. TRANSLATORS: the vendor (e.g. vmware) that is providing the EULA
-#: ../client/pk-console.c:358 ../lib/packagekit-glib2/pk-task-text.c:211
+#: ../client/pk-console.c:356 ../lib/packagekit-glib2/pk-task-text.c:209
msgid "Vendor"
msgstr "Producent"
#. TRANSLATORS: details about the update, the bugzilla URLs
-#: ../client/pk-console.c:362
+#: ../client/pk-console.c:360
msgid "Bugzilla"
msgstr "Bugzilla"
#. TRANSLATORS: details about the update, the CVE URLs
-#: ../client/pk-console.c:366
+#: ../client/pk-console.c:364
msgid "CVE"
msgstr "CVE"
#. TRANSLATORS: details about the update, if the package requires a restart
-#: ../client/pk-console.c:370
+#: ../client/pk-console.c:368
msgid "Restart"
msgstr "Uruchom ponownie"
#. TRANSLATORS: details about the update, any description of the update
-#: ../client/pk-console.c:374
+#: ../client/pk-console.c:372
msgid "Update text"
msgstr "Tekst aktualizacji"
#. TRANSLATORS: details about the update, the changelog for the package
-#: ../client/pk-console.c:378
+#: ../client/pk-console.c:376
msgid "Changes"
msgstr "Zmiany"
#. TRANSLATORS: details about the update, the ongoing state of the update
-#: ../client/pk-console.c:382
+#: ../client/pk-console.c:380
msgid "State"
msgstr "Stan"
#. TRANSLATORS: details about the update, date the update was issued
-#: ../client/pk-console.c:386
+#: ../client/pk-console.c:384
msgid "Issued"
msgstr "Wydano"
#. TRANSLATORS: details about the update, date the update was updated
#. TRANSLATORS: The action of the package, in past tense
-#: ../client/pk-console.c:390 ../lib/packagekit-glib2/pk-console-shared.c:517
+#: ../client/pk-console.c:388 ../lib/packagekit-glib2/pk-console-shared.c:515
msgid "Updated"
msgstr "Zaktualizowano"
#. TRANSLATORS: if the repo is enabled
-#: ../client/pk-console.c:426
+#: ../client/pk-console.c:424
msgid "Enabled"
msgstr "WÅÄ
czone"
#. TRANSLATORS: if the repo is disabled
-#: ../client/pk-console.c:429
+#: ../client/pk-console.c:427
msgid "Disabled"
msgstr "WyÅÄ
czone"
#. TRANSLATORS: a package requires the system to be restarted
-#: ../client/pk-console.c:461
+#: ../client/pk-console.c:459
msgid "System restart required by:"
msgstr "Ponowne uruchomienie systemu jest wymagane przez:"
#. TRANSLATORS: a package requires the session to be restarted
-#: ../client/pk-console.c:464
+#: ../client/pk-console.c:462
msgid "Session restart required:"
msgstr "Wymagane jest ponowne uruchomienie sesji:"
#. TRANSLATORS: a package requires the system to be restarted due to a security update
-#: ../client/pk-console.c:467
+#: ../client/pk-console.c:465
msgid "System restart (security) required by:"
msgstr "Ponowne uruchomienie systemu jest wymagane przez:"
#. TRANSLATORS: a package requires the session to be restarted due to a security update
-#: ../client/pk-console.c:470
+#: ../client/pk-console.c:468
msgid "Session restart (security) required:"
msgstr "Wymagane jest ponowne uruchomienie sesji (z powodu bezpieczeÅstwa):"
#. TRANSLATORS: a package requires the application to be restarted
-#: ../client/pk-console.c:473
+#: ../client/pk-console.c:471
msgid "Application restart required by:"
msgstr "Ponowne uruchomienie programu jest wymagane przez:"
#. TRANSLATORS: This a list of details about the package
-#: ../client/pk-console.c:508
+#: ../client/pk-console.c:506
msgid "Package description"
msgstr "Opis pakietu"
#. TRANSLATORS: This a message (like a little note that may be of interest) from the transaction
-#: ../client/pk-console.c:539
+#: ../client/pk-console.c:537
msgid "Message:"
msgstr "Komunikat:"
#. TRANSLATORS: This where the package has no files
-#: ../client/pk-console.c:560
+#: ../client/pk-console.c:558
msgid "No files"
msgstr "Brak plików"
#. TRANSLATORS: This a list files contained in the package
-#: ../client/pk-console.c:565
+#: ../client/pk-console.c:563
msgid "Package files"
msgstr "Pliki pakietu"
#. TRANSLATORS: the percentage complete of the transaction
-#: ../client/pk-console.c:633
+#: ../client/pk-console.c:631
msgid "Percentage"
msgstr "Procentowo"
#. TRANSLATORS: the status of the transaction (e.g. downloading)
-#: ../client/pk-console.c:651
+#: ../client/pk-console.c:649
msgid "Status"
msgstr "Stan"
#. TRANSLATORS: the results from the transaction
-#: ../client/pk-console.c:680
+#: ../client/pk-console.c:678
msgid "Results:"
msgstr "Wyniki:"
#. TRANSLATORS: we failed to get any results, which is pretty fatal in my book
-#: ../client/pk-console.c:687
+#: ../client/pk-console.c:685
msgid "Fatal error"
msgstr "Krytyczny bÅÄ
d"
+#. TRANSLATORS: the user asked to update everything, but there is nothing that can be updated
+#: ../client/pk-console.c:701
+msgid "There are no packages to update."
+msgstr "Brak pakietów do zaktualizowania."
+
#. TRANSLATORS: the transaction failed in a way we could not expect
-#: ../client/pk-console.c:696
-#: ../contrib/command-not-found/pk-command-not-found.c:454
-#: ../contrib/command-not-found/pk-command-not-found.c:634
+#: ../client/pk-console.c:704
+#: ../contrib/command-not-found/pk-command-not-found.c:639
msgid "The transaction failed"
msgstr "Transakcja nie powiodÅa siÄ"
#. TRANSLATORS: print a message when there are no updates
-#: ../client/pk-console.c:727
+#: ../client/pk-console.c:733
msgid "There are no updates available at this time."
msgstr "Brak dostÄpnych aktualizacji w tej chwili."
-#: ../client/pk-console.c:750
+#: ../client/pk-console.c:756
msgid "There are no upgrades available at this time."
msgstr "Brak dostÄpnych aktualizacji w tej chwili."
#. TRANSLATORS: a package needs to restart their system
-#: ../client/pk-console.c:817
+#: ../client/pk-console.c:823
msgid "Please restart the computer to complete the update."
msgstr "ProszÄ uruchomiÄ ponownie komputer, aby zakoÅczyÄ aktualizacjÄ."
#. TRANSLATORS: a package needs to restart the session
-#: ../client/pk-console.c:820
+#: ../client/pk-console.c:826
msgid "Please logout and login to complete the update."
msgstr "ProszÄ wylogowaÄ siÄ i zalogowaÄ, aby zakoÅczyÄ aktualizacjÄ."
#. TRANSLATORS: a package needs to restart their system (due to security)
-#: ../client/pk-console.c:823
+#: ../client/pk-console.c:829
msgid ""
"Please restart the computer to complete the update as important security "
"updates have been installed."
@@ -312,7 +317,7 @@ msgstr ""
"zainstalowano aktualizacje bezpieczeÅstwa."
#. TRANSLATORS: a package needs to restart the session (due to security)
-#: ../client/pk-console.c:826
+#: ../client/pk-console.c:832
msgid ""
"Please logout and login to complete the update as important security updates "
"have been installed."
@@ -321,7 +326,7 @@ msgstr ""
"zainstalowano aktualizacje bezpieczeÅstwa."
#. TRANSLATORS: The user used 'pkcon install dave.rpm' rather than 'pkcon install-local dave.rpm'
-#: ../client/pk-console.c:852
+#: ../client/pk-console.c:858
#, c-format
msgid ""
"Expected package name, actually got file. Try using 'pkcon install-local %s' "
@@ -331,19 +336,19 @@ msgstr ""
"wykonaÄ polecenie \"pkcon install-local %s\"."
#. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
-#: ../client/pk-console.c:860
+#: ../client/pk-console.c:866
#, c-format
msgid "This tool could not find any available package: %s"
msgstr "Te narzÄdzie nie może odnaleÅºÄ dostÄpnych pakietów: %s"
#. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
-#: ../client/pk-console.c:888
+#: ../client/pk-console.c:894
#, c-format
msgid "This tool could not find the installed package: %s"
msgstr "Te narzÄdzie nie może odnaleÅºÄ zainstalowanego pakietu: %s"
#. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
-#: ../client/pk-console.c:916 ../client/pk-console.c:944
+#: ../client/pk-console.c:922 ../client/pk-console.c:950
#, c-format
msgid "This tool could not find the package: %s"
msgstr "Te narzÄdzie nie może odnaleÅºÄ pakietu: %s"
@@ -352,250 +357,269 @@ msgstr "Te narzÄdzie nie może odnaleÅºÄ pakietu: %s"
#. TRANSLATORS: There was an error getting the dependencies for the package. The detailed error follows
#. TRANSLATORS: There was an error getting the details about the package. The detailed error follows
#. TRANSLATORS: The package name was not found in any software sources. The detailed error follows
-#: ../client/pk-console.c:972 ../client/pk-console.c:1000
-#: ../client/pk-console.c:1028 ../client/pk-console.c:1056
-#: ../client/pk-console.c:1084
+#: ../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
#, c-format
msgid "This tool could not find all the packages: %s"
msgstr "Te narzÄdzie nie może odnaleÅºÄ wszystkich pakietów: %s"
#. TRANSLATORS: This is when the daemon crashed, and we are up shit creek without a paddle
-#: ../client/pk-console.c:1113
+#: ../client/pk-console.c:1119
msgid "The daemon crashed mid-transaction!"
msgstr "Demon zawiesiÅ siÄ w poÅowie transakcji!"
#. TRANSLATORS: This is the header to the --help menu
-#: ../client/pk-console.c:1147
+#: ../client/pk-console.c:1153
msgid "PackageKit Console Interface"
msgstr "Interfejs konsoli PackageKit"
#. these are commands we can use with pkcon
-#: ../client/pk-console.c:1149
+#: ../client/pk-console.c:1155
msgid "Subcommands:"
msgstr "Podpolecenia:"
#. TRANSLATORS: we keep a database updated with the time that an action was last executed
-#: ../client/pk-console.c:1228
+#: ../client/pk-console.c:1234
msgid "Failed to get the time since this action was last completed"
msgstr ""
"Uzyskanie czasu od ostatniego zakoÅczenia tego dziaÅania nie powiodÅo siÄ"
#. TRANSLATORS: command line argument, just show the version string
-#: ../client/pk-console.c:1268 ../client/pk-monitor.c:373
+#: ../client/pk-console.c:1275 ../client/pk-monitor.c:371
msgid "Show the program version and exit"
msgstr "WyÅwietla wersjÄ programu i wyÅÄ
cza"
#. TRANSLATORS: command line argument, use a filter to narrow down results
-#: ../client/pk-console.c:1271
+#: ../client/pk-console.c:1278
msgid "Set the filter, e.g. installed"
msgstr "Ustawia filtr, np. zainstalowane"
#. TRANSLATORS: command line argument, use a non-standard install prefix
-#: ../client/pk-console.c:1274
+#: ../client/pk-console.c:1281
msgid "Set the install root, e.g. '/' or '/mnt/ltsp'"
msgstr "Ustawia gÅówny katalog instalacji, np. \"/\" lub \"/mnt/ltsp\""
#. TRANSLATORS: command line argument, work asynchronously
-#: ../client/pk-console.c:1277
+#: ../client/pk-console.c:1284
msgid "Exit without waiting for actions to complete"
msgstr "WyÅÄ
cza bez oczekiwania na zakoÅczenie dziaÅaÅ"
#. command line argument, do we ask questions
-#: ../client/pk-console.c:1280
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:527
+#: ../client/pk-console.c:1287
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:525
msgid "Install the packages without asking for confirmation"
msgstr "Instaluje pakiety bez proÅby o potwierdzenie"
#. TRANSLATORS: command line argument, this command is not a priority
-#: ../client/pk-console.c:1283
+#: ../client/pk-console.c:1290
msgid "Run the command using idle network bandwidth and also using less power"
msgstr ""
"Wykonuje polecenie używajÄ
c bezczynnego poÅÄ
czenia sieciowego, a także "
"zużywajÄ
c mniej energii"
#. TRANSLATORS: command line argument, just output without fancy formatting
-#: ../client/pk-console.c:1286
+#: ../client/pk-console.c:1293
msgid ""
"Print to screen a machine readable output, rather than using animated widgets"
msgstr ""
"WyÅwietla wyjÅcie czytelne dla komputera, zamiast używania animowanych "
-"widgetów"
+"widżetów"
+
+#. TRANSLATORS: command line argument, just output without fancy formatting
+#: ../client/pk-console.c:1296
+msgid "The maximum metadata cache age. Use -1 for 'never'."
+msgstr ""
+"Maksymalny czas przechowywania metadanych w pamiÄci podrÄcznej. WartoÅÄ -1 "
+"oznacza \"never\" (nigdy)."
#. TRANSLATORS: we failed to contact the daemon
-#: ../client/pk-console.c:1308
+#: ../client/pk-console.c:1333
msgid "Failed to contact PackageKit"
msgstr "Skontaktowanie siÄ z usÅugÄ
PackageKit nie powiodÅo siÄ"
#. TRANSLATORS: The user specified an incorrect filter
-#: ../client/pk-console.c:1369
+#: ../client/pk-console.c:1381
msgid "The proxy could not be set"
msgstr "Nie można ustawiÄ poÅrednika"
#. TRANSLATORS: The user specified an incorrect filter
-#: ../client/pk-console.c:1381
+#: ../client/pk-console.c:1393
msgid "The install root could not be set"
msgstr "Nie można ustawiÄ gÅównego katalogu instalacji"
#. TRANSLATORS: The user specified an incorrect filter
-#: ../client/pk-console.c:1393
+#: ../client/pk-console.c:1405
msgid "The filter specified was invalid"
msgstr "Podany filtr jest nieprawidÅowy"
#. TRANSLATORS: a search type can be name, details, file, etc
-#: ../client/pk-console.c:1412
+#: ../client/pk-console.c:1424
msgid "A search type is required, e.g. name"
msgstr "Wymagany jest typ wyszukiwania, np. nazwa"
#. TRANSLATORS: the user needs to provide a search term
-#: ../client/pk-console.c:1419 ../client/pk-console.c:1431
-#: ../client/pk-console.c:1443 ../client/pk-console.c:1455
+#: ../client/pk-console.c:1431 ../client/pk-console.c:1443
+#: ../client/pk-console.c:1455 ../client/pk-console.c:1467
msgid "A search term is required"
msgstr "Wymagany jest wyszukiwany termin"
#. TRANSLATORS: the search type was provided, but invalid
-#: ../client/pk-console.c:1465
+#: ../client/pk-console.c:1477
msgid "Invalid search type"
msgstr "NieprawidÅowy typ wyszukiwania"
#. TRANSLATORS: the user did not specify what they wanted to install
-#: ../client/pk-console.c:1471
+#: ../client/pk-console.c:1483
msgid "A package name to install is required"
msgstr "Wymagana jest nazwa pakietu do zainstalowania"
#. TRANSLATORS: the user did not specify what they wanted to install
-#: ../client/pk-console.c:1480
+#: ../client/pk-console.c:1492
msgid "A filename to install is required"
msgstr "Wymagana jest nazwa pliku do zainstalowania"
#. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:1492
+#: ../client/pk-console.c:1503
msgid "A type, key_id and package_id are required"
msgstr "Wymagany jest typ, key_id i package_id"
#. TRANSLATORS: the user did not specify what they wanted to remove
-#: ../client/pk-console.c:1503
+#: ../client/pk-console.c:1514
msgid "A package name to remove is required"
msgstr "Wymagana jest nazwa pakietu do usuniÄcia"
#. TRANSLATORS: the user did not specify anything about what to download or where
-#: ../client/pk-console.c:1512
+#: ../client/pk-console.c:1523
msgid "A destination directory and the package names to download are required"
msgstr "Wymagany jest katalog docelowy i nazwy pakietów do pobrania"
#. TRANSLATORS: the directory does not exist, so we can't continue
-#: ../client/pk-console.c:1519
+#: ../client/pk-console.c:1530
msgid "Directory not found"
msgstr "Nie odnaleziono katalogu"
#. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:1528
+#: ../client/pk-console.c:1539
msgid "A licence identifier (eula-id) is required"
msgstr "Wymagany jest identyfikator licencji (eula-id)"
#. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:1539
+#: ../client/pk-console.c:1550
msgid "A transaction identifier (tid) is required"
msgstr "Wymagany jest identyfikator transakcji (tid)"
#. TRANSLATORS: The user did not specify a package name
-#: ../client/pk-console.c:1560
+#: ../client/pk-console.c:1571
msgid "A package name to resolve is required"
msgstr "Wymagana jest nazwa pakietu do rozwiÄ
zania"
#. TRANSLATORS: The user did not specify a repository (software source) name
-#: ../client/pk-console.c:1571 ../client/pk-console.c:1582
+#: ../client/pk-console.c:1582 ../client/pk-console.c:1593
msgid "A repository name is required"
msgstr "Wymagana jest nazwa repozytorium"
#. TRANSLATORS: The user didn't provide any data
-#: ../client/pk-console.c:1593
+#: ../client/pk-console.c:1604
msgid "A repo name, parameter and value are required"
msgstr "Wymagana jest nazwa, parametr i wartoÅÄ repozytorium"
#. TRANSLATORS: The user didn't specify what action to use
-#: ../client/pk-console.c:1610
+#: ../client/pk-console.c:1621
msgid "An action, e.g. 'update-system' is required"
msgstr "Wymagane jest dziaÅanie, np. \"update-system\""
#. TRANSLATORS: The user specified an invalid action
-#: ../client/pk-console.c:1617
+#: ../client/pk-console.c:1628
msgid "A correct role is required"
msgstr "Wymagana jest bieżÄ
ca rola"
#. 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:1627 ../client/pk-console.c:1642
-#: ../client/pk-console.c:1651 ../client/pk-console.c:1671
-#: ../client/pk-console.c:1680 ../client/pk-generate-pack.c:316
+#: ../client/pk-console.c:1638 ../client/pk-console.c:1652
+#: ../client/pk-console.c:1661 ../client/pk-console.c:1681
+#: ../client/pk-console.c:1690 ../client/pk-generate-pack.c:314
msgid "A package name is required"
msgstr "Wymagana jest nazwa pakietu"
#. TRANSLATORS: each package "provides" certain things, e.g. mime(gstreamer-decoder-mp3), the user didn't specify it
-#: ../client/pk-console.c:1660
+#: ../client/pk-console.c:1670
msgid "A package provide string is required"
msgstr "Wymagany jest ÅaÅcuch dostarczania pakietu"
+#. TRANSLATORS: The user did not provide a distro name
+#: ../client/pk-console.c:1714
+msgid "A distribution name is required"
+msgstr "Wymagana jest nazwa dystrybucji"
+
+#. TRANSLATORS: The user did not provide an upgrade type
+#: ../client/pk-console.c:1720
+msgid "An upgrade type is required, e.g. 'minimal', 'default' or 'complete'"
+msgstr ""
+"Wymagany jest typ aktualizacji, np. \"minimal\" (minimalna), \"default\" "
+"(domyÅlna) lub \"complete\" (peÅna)"
+
#. TRANSLATORS: The user tried to use an unsupported option on the command line
-#: ../client/pk-console.c:1741
+#: ../client/pk-console.c:1770
#, c-format
msgid "Option '%s' is not supported"
msgstr "Opcja \"%s\" nie jest obsÅugiwana"
#. TRANSLATORS: Generic failure of what they asked to do
-#: ../client/pk-console.c:1751
+#: ../client/pk-console.c:1780
msgid "Command failed"
msgstr "Polecenie nie powiodÅo siÄ"
#. TRANSLATORS: we can exclude certain packages (glibc) when we know they'll exist on the target
-#: ../client/pk-generate-pack.c:255
+#: ../client/pk-generate-pack.c:253
msgid "Set the file name of dependencies to be excluded"
msgstr "ProszÄ ustawiÄ nazwy plików zależnoÅci do wykluczenia"
#. TRANSLATORS: the output location
-#: ../client/pk-generate-pack.c:258
+#: ../client/pk-generate-pack.c:256
msgid "The output file or directory (the current directory is used if omitted)"
msgstr ""
"Plik lub katalog wyjÅciowy (użyty zostanie bieżÄ
cy katalog, jeÅli zostanie "
"pominiÄte)"
#. TRANSLATORS: put a list of packages in the pack
-#: ../client/pk-generate-pack.c:261
+#: ../client/pk-generate-pack.c:259
msgid "The package to be put into the service pack"
msgstr "Pakiet do umieszczenia w pakiecie serwisowym"
#. TRANSLATORS: put all pending updates in the pack
-#: ../client/pk-generate-pack.c:264
+#: ../client/pk-generate-pack.c:262
msgid "Put all updates available in the service pack"
msgstr "Wszystkie dostÄpne aktualizacje w pakiecie serwisowym"
#. TRANSLATORS: This is when the user fails to supply the correct arguments
-#: ../client/pk-generate-pack.c:300
+#: ../client/pk-generate-pack.c:298
msgid "Neither --package or --updates option selected."
msgstr "Nie wybrano żadnej z opcji --package lub --updates."
#. TRANSLATORS: This is when the user fails to supply just one argument
-#: ../client/pk-generate-pack.c:308
+#: ../client/pk-generate-pack.c:306
msgid "Both options selected."
msgstr "Wybrano obie opcje."
#. TRANSLATORS: This is when the user fails to supply the output
-#: ../client/pk-generate-pack.c:324
+#: ../client/pk-generate-pack.c:322
msgid "A output directory or file name is required"
msgstr "Wymagany jest katalog lub nazwa pliku wyjÅciowego"
#. TRANSLATORS: This is when the daemon is not-installed/broken and fails to startup
-#: ../client/pk-generate-pack.c:342
+#: ../client/pk-generate-pack.c:340
msgid "The daemon failed to startup"
msgstr "Uruchomienie demona nie powiodÅo siÄ"
#. TRANSLATORS: This is when the backend doesn't have the capability to get-depends
#. TRANSLATORS: This is when the backend doesn't have the capability to download
-#: ../client/pk-generate-pack.c:353 ../client/pk-generate-pack.c:359
+#: ../client/pk-generate-pack.c:351 ../client/pk-generate-pack.c:357
msgid "The package manager cannot perform this type of operation."
msgstr "Menedżer pakietów nie może wykonaÄ tego typu dziaÅania."
#. TRANSLATORS: This is when the distro didn't include libarchive support into PK
-#: ../client/pk-generate-pack.c:366
+#: ../client/pk-generate-pack.c:364
msgid ""
"Service packs cannot be created as PackageKit was not built with libarchive "
"support."
@@ -604,410 +628,417 @@ msgstr ""
"zbudowano bez obsÅugi biblioteki libarchive."
#. TRANSLATORS: the user specified an absolute path, but didn't get the extension correct
-#: ../client/pk-generate-pack.c:377
+#: ../client/pk-generate-pack.c:375
msgid "If specifying a file, the service pack name must end with"
msgstr "JeÅli podano plik, nazwa pakietu serwisowego musi koÅczyÄ siÄ"
#. TRANSLATORS: This is when file already exists
-#: ../client/pk-generate-pack.c:393
+#: ../client/pk-generate-pack.c:391
msgid "A pack with the same name already exists, do you want to overwrite it?"
msgstr "Pakiet serwisowy o tej samej nazwie już istnieje, zastÄ
piÄ go?"
#. TRANSLATORS: This is when the pack was not overwritten
-#: ../client/pk-generate-pack.c:396
+#: ../client/pk-generate-pack.c:394
msgid "The pack was not overwritten."
msgstr "Pakiet nie zostaÅ zastÄ
piony."
#. TRANSLATORS: This is when the temporary directory cannot be created, the directory name follows
-#: ../client/pk-generate-pack.c:409
+#: ../client/pk-generate-pack.c:407
msgid "Failed to create directory:"
msgstr "Utworzenie katalogu nie powiodÅo siÄ:"
#. TRANSLATORS: This is when the list of packages from the remote computer cannot be opened
-#: ../client/pk-generate-pack.c:421
+#: ../client/pk-generate-pack.c:419
msgid "Failed to open package list."
msgstr "Otwarcie listy pakietów nie powiodÅo siÄ."
#. TRANSLATORS: The package name is being matched up to available packages
-#: ../client/pk-generate-pack.c:430
+#: ../client/pk-generate-pack.c:428
msgid "Finding package name."
msgstr "Wyszukiwanie nazwy pakietu."
#. TRANSLATORS: This is when the package cannot be found in any software source. The detailed error follows
-#: ../client/pk-generate-pack.c:434
+#: ../client/pk-generate-pack.c:432
#, c-format
msgid "Failed to find package '%s': %s"
msgstr "Odnalezienie pakietu \"%s\" nie powiodÅo siÄ: %s"
#. TRANSLATORS: This is telling the user we are in the process of making the pack
-#: ../client/pk-generate-pack.c:442
+#: ../client/pk-generate-pack.c:440
msgid "Creating service pack..."
msgstr "Tworzenie pakietu serwisowego..."
#. TRANSLATORS: we succeeded in making the file
-#: ../client/pk-generate-pack.c:457
+#: ../client/pk-generate-pack.c:455
#, c-format
msgid "Service pack created '%s'"
msgstr "Utworzono pakiet serwisowy \"%s\""
#. TRANSLATORS: we failed to make te file
-#: ../client/pk-generate-pack.c:462
+#: ../client/pk-generate-pack.c:460
#, c-format
msgid "Failed to create '%s': %s"
msgstr "Utworzenie \"%s\" nie powiodÅo siÄ: %s"
-#: ../client/pk-monitor.c:286
+#: ../client/pk-monitor.c:284
msgid "Failed to get daemon state"
msgstr "Uzyskanie stanu demona nie powiodÅo siÄ"
-#: ../client/pk-monitor.c:351
+#: ../client/pk-monitor.c:349
msgid "Failed to get properties"
msgstr "Uzyskanie wÅaÅciwoÅci nie powiodÅo siÄ"
#. TRANSLATORS: this is a program that monitors PackageKit
-#: ../client/pk-monitor.c:389
+#: ../client/pk-monitor.c:387
msgid "PackageKit Monitor"
msgstr "Monitor PackageKit"
#. TRANSLATORS: when we are getting data from the daemon
-#: ../contrib/browser-plugin/pk-plugin-install.c:497
+#: ../contrib/browser-plugin/pk-plugin-install.c:499
msgid "Getting package information..."
msgstr "Pobieranie informacji o pakiecie..."
#. TRANSLATORS: run an applicaiton
-#: ../contrib/browser-plugin/pk-plugin-install.c:503
+#: ../contrib/browser-plugin/pk-plugin-install.c:505
#, c-format
msgid "Run %s"
msgstr "Uruchom %s"
#. TRANSLATORS: show the installed version of a package
-#: ../contrib/browser-plugin/pk-plugin-install.c:509
+#: ../contrib/browser-plugin/pk-plugin-install.c:511
msgid "Installed version"
msgstr "Zainstalowana wersja"
#. TRANSLATORS: run the application now
-#: ../contrib/browser-plugin/pk-plugin-install.c:517
+#: ../contrib/browser-plugin/pk-plugin-install.c:519
#, c-format
msgid "Run version %s now"
msgstr "Uruchom wersjÄ %s"
#. TRANSLATORS: run the application now
-#: ../contrib/browser-plugin/pk-plugin-install.c:523
+#: ../contrib/browser-plugin/pk-plugin-install.c:525
msgid "Run now"
msgstr "Uruchom teraz"
#. TRANSLATORS: update to a new version of the package
-#: ../contrib/browser-plugin/pk-plugin-install.c:529
+#: ../contrib/browser-plugin/pk-plugin-install.c:531
#, c-format
msgid "Update to version %s"
msgstr "Zaktualizuj do wersji %s"
#. TRANSLATORS: To install a package
-#: ../contrib/browser-plugin/pk-plugin-install.c:535
+#: ../contrib/browser-plugin/pk-plugin-install.c:537
#, c-format
msgid "Install %s now"
msgstr "Zainstaluj %s"
#. TRANSLATORS: the version of the package
-#: ../contrib/browser-plugin/pk-plugin-install.c:538
+#: ../contrib/browser-plugin/pk-plugin-install.c:540
msgid "Version"
msgstr "Wersja"
#. TRANSLATORS: noting found, so can't install
-#: ../contrib/browser-plugin/pk-plugin-install.c:543
+#: ../contrib/browser-plugin/pk-plugin-install.c:545
msgid "No packages found for your system"
msgstr "Nie odnaleziono pakietów dla systemu"
#. TRANSLATORS: package is being installed
-#: ../contrib/browser-plugin/pk-plugin-install.c:548
+#: ../contrib/browser-plugin/pk-plugin-install.c:550
msgid "Installing..."
msgstr "Instalowanie..."
#. TRANSLATORS: downloading repo data so we can search
-#: ../contrib/command-not-found/pk-command-not-found.c:367
+#: ../contrib/command-not-found/pk-command-not-found.c:366
msgid "Downloading details about the software sources."
msgstr "Pobieranie szczegóÅów o źródÅach oprogramowania."
#. TRANSLATORS: downloading file lists so we can search
-#: ../contrib/command-not-found/pk-command-not-found.c:371
+#: ../contrib/command-not-found/pk-command-not-found.c:370
msgid "Downloading filelists (this may take some time to complete)."
msgstr "Pobieranie list plików (może to zajÄ
Ä trochÄ czasu)."
#. TRANSLATORS: waiting for native lock
-#: ../contrib/command-not-found/pk-command-not-found.c:375
+#: ../contrib/command-not-found/pk-command-not-found.c:374
msgid "Waiting for package manager lock."
msgstr "Oczekiwanie na blokadÄ menedżera pakietów."
#. TRANSLATORS: loading package cache so we can search
-#: ../contrib/command-not-found/pk-command-not-found.c:379
+#: ../contrib/command-not-found/pk-command-not-found.c:378
msgid "Loading list of packages."
msgstr "Wczytywanie listy pakietów."
#. TRANSLATORS: we failed to find the package, this shouldn't happen
-#: ../contrib/command-not-found/pk-command-not-found.c:445
+#: ../contrib/command-not-found/pk-command-not-found.c:444
msgid "Failed to search for file"
msgstr "Odnalezienie pliku nie powiodÅo siÄ"
+#. TRANSLATORS: the transaction failed in a way we could not expect
+#: ../contrib/command-not-found/pk-command-not-found.c:456
+msgid "Getting the list of files failed"
+msgstr "Pobranie listy plików nie powiodÅo siÄ"
+
#. TRANSLATORS: we failed to launch the executable, the error follows
-#: ../contrib/command-not-found/pk-command-not-found.c:597
+#: ../contrib/command-not-found/pk-command-not-found.c:602
msgid "Failed to launch:"
msgstr "Uruchomienie nie powiodÅo siÄ:"
#. TRANSLATORS: we failed to install the package
-#: ../contrib/command-not-found/pk-command-not-found.c:625
+#: ../contrib/command-not-found/pk-command-not-found.c:630
msgid "Failed to install packages"
msgstr "Zainstalowanie pakietów nie powiodÅo siÄ"
#. TRANSLATORS: tool that gets called when the command is not found
-#: ../contrib/command-not-found/pk-command-not-found.c:701
+#: ../contrib/command-not-found/pk-command-not-found.c:706
msgid "PackageKit Command Not Found"
msgstr "Nie odnaleziono polecenia PackageKit"
-#. TRANSLATORS: the prefix of all the output telling the user why it's not executing
-#: ../contrib/command-not-found/pk-command-not-found.c:727
-msgid "Command not found."
-msgstr "Nie odnaleziono polecenia."
+#. 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:739
+msgid "command not found"
+msgstr "nie odnaleziono polecenia"
#. TRANSLATORS: tell the user what we think the command is
-#: ../contrib/command-not-found/pk-command-not-found.c:745
+#: ../contrib/command-not-found/pk-command-not-found.c:757
msgid "Similar command is:"
msgstr "Podobne polecenie:"
#. 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:771
msgid "Run similar command:"
msgstr "Wykonaj podobne polecenie:"
#. 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:785
+#: ../contrib/command-not-found/pk-command-not-found.c:794
msgid "Similar commands are:"
msgstr "Podobne polecenia:"
#. 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:801
msgid "Please choose a command to run"
msgstr "ProszÄ wybraÄ polecenie do wykonania"
#. 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:819
msgid "The package providing this file is:"
msgstr "Pakiet dostarczajÄ
cy ten plik:"
#. TRANSLATORS: as the user if we want to install a package to provide the command
-#: ../contrib/command-not-found/pk-command-not-found.c:808
+#: ../contrib/command-not-found/pk-command-not-found.c:826
#, c-format
msgid "Install package '%s' to provide command '%s'?"
msgstr "ZainstalowaÄ pakiet \"%s\", aby dostarczyÄ polecenie \"%s\"?"
#. TRANSLATORS: Show the user a list of packages that provide this command
-#: ../contrib/command-not-found/pk-command-not-found.c:832
+#: ../contrib/command-not-found/pk-command-not-found.c:853
msgid "Packages providing this file are:"
msgstr "Pakiety dostarczajÄ
ce ten plik:"
#. TRANSLATORS: Show the user a list of packages that they can install to provide this command
-#: ../contrib/command-not-found/pk-command-not-found.c:842
+#: ../contrib/command-not-found/pk-command-not-found.c:863
msgid "Suitable packages are:"
msgstr "Odpowiednie pakiety:"
#. get selection
#. TRANSLATORS: ask the user to choose a file to install
-#: ../contrib/command-not-found/pk-command-not-found.c:851
+#: ../contrib/command-not-found/pk-command-not-found.c:872
msgid "Please choose a package to install"
msgstr "ProszÄ wybraÄ pakiet do zainstalowania"
#. TRANSLATORS: we are starting to install the packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:197
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:195
msgid "Starting install"
msgstr "Rozpoczynanie instalacji"
#. TRANSLATORS: we couldn't find the package name, non-fatal
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:409
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:407
#, c-format
msgid "Failed to find the package %s, or already installed: %s"
msgstr ""
"Odnalezienie pakietu %s nie powiodÅo siÄ lub jest już zainstalowany: %s"
#. command line argument, simulate what would be done, but don't actually do it
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:518
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:516
msgid ""
"Don't actually install any packages, only simulate what would be installed"
msgstr "Nie instaluje żadnych pakietów, tylko symuluje instalacjÄ"
#. command line argument, do we skip packages that depend on the ones specified
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:521
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:519
msgid "Do not install dependencies of the core packages"
msgstr "Nie instaluje zależnoÅci podstawowych pakietów"
#. command line argument, do we operate quietly
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:524
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:522
msgid "Do not display information or progress"
msgstr "Nie wyÅwietla informacji lub postÄpu"
#. TRANSLATORS: tool that gets called when the command is not found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:542
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:540
msgid "PackageKit Debuginfo Installer"
msgstr "Instalator pakietów debugowania PackageKit"
#. TRANSLATORS: the use needs to specify a list of package names on the command line
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:556
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:554
#, c-format
msgid "ERROR: Specify package names to install."
msgstr "BÅÄD: proszÄ podaÄ nazwy pakietów do zainstalowania."
#. TRANSLATORS: we are getting the list of repositories
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:592
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:590
#, c-format
msgid "Getting sources list"
msgstr "Pobieranie listy źródeÅ"
#. TRANSLATORS: operation was not successful
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:602
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:677
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:761
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:805
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:872
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:916
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:600
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:675
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:759
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:803
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:870
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:914
msgid "FAILED."
msgstr "NIEUDANE."
#. TRANSLATORS: all completed 100%
-#: ../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
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:615
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:655
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:690
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:774
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:818
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:885
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:929
#, c-format
msgid "OK."
msgstr "OK."
#. TRANSLATORS: tell the user what we found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:620
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:618
#, c-format
msgid "Found %i enabled and %i disabled sources."
msgstr "Odnaleziono %i wÅÄ
czone i %i wyÅÄ
czone źródÅa."
#. TRANSLATORS: we're finding repositories that match out pattern
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:627
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:625
#, c-format
msgid "Finding debugging sources"
msgstr "Wyszukiwanie źródeŠpakietów debugowania"
#. TRANSLATORS: tell the user what we found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:660
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:658
#, c-format
msgid "Found %i disabled debuginfo repos."
msgstr "Odnaleziono %i wyÅÄ
czone repozytoria pakietów debugowania."
#. TRANSLATORS: we're now enabling all the debug sources we found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:667
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:665
#, c-format
msgid "Enabling debugging sources"
msgstr "WÅÄ
czanie źródeŠpakietów debugowania"
#. TRANSLATORS: tell the user how many we enabled
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:695
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:693
#, c-format
msgid "Enabled %i debugging sources."
msgstr "WÅÄ
czono %i źródÅa pakietów debugowania."
#. TRANSLATORS: we're now finding packages that match in all the repos
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:702
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:700
#, c-format
msgid "Finding debugging packages"
msgstr "Wyszukiwanie źródeŠpakietów debugowania"
#. TRANSLATORS: we couldn't find the package name, non-fatal
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:714
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:712
#, c-format
msgid "Failed to find the package %s: %s"
msgstr "Odnalezienie pakietu %s nie powiodÅo siÄ: %s"
#. TRANSLATORS: we couldn't find the debuginfo package name, non-fatal
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:737
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:735
#, c-format
msgid "Failed to find the debuginfo package %s: %s"
msgstr "Odnalezienie pakietu debugowania %s nie powiodÅo siÄ: %s"
#. TRANSLATORS: no debuginfo packages could be found to be installed
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:765
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:763
#, c-format
msgid "Found no packages to install."
msgstr "Nie odnaleziono pakietów do zainstalowania."
#. TRANSLATORS: tell the user we found some packages, and then list them
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:779
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:777
#, c-format
msgid "Found %i packages:"
msgstr "Odnaleziono %i pakiety:"
#. TRANSLATORS: tell the user we are searching for deps
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:795
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:793
#, c-format
msgid "Finding packages that depend on these packages"
msgstr "Wyszukiwanie pakietów zależnych od tych pakietów"
#. TRANSLATORS: could not install, detailed error follows
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:808
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:806
#, c-format
msgid "Could not find dependant packages: %s"
msgstr "Nie można odnaleÅºÄ zależnych pakietów: %s"
#. TRANSLATORS: tell the user we found some more packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:824
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:822
#, c-format
msgid "Found %i extra packages."
msgstr "Odnaleziono %i dodatkowe pakiety."
#. TRANSLATORS: tell the user we found some more packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:828
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:826
#, c-format
msgid "No extra packages required."
msgstr "Dodatkowe pakiety nie sÄ
wymagane."
#. TRANSLATORS: tell the user we found some packages (and deps), and then list them
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:837
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:835
#, c-format
msgid "Found %i packages to install:"
msgstr "Odnaleziono %i pakiety do zainstalowania:"
#. TRANSLATORS: simulate mode is a testing mode where we quit before the action
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:850
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:848
#, c-format
msgid "Not installing packages in simulate mode"
msgstr "Pakiety nie zostanÄ
zainstalowane w trybie symulacji"
#. TRANSLATORS: we are now installing the debuginfo packages we found earlier
#. TRANSLATORS: transaction state, installing packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:862
-#: ../lib/packagekit-glib2/pk-console-shared.c:289
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:860
+#: ../lib/packagekit-glib2/pk-console-shared.c:287
#, c-format
msgid "Installing packages"
msgstr "Instalowanie pakietów"
#. TRANSLATORS: could not install, detailed error follows
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:875
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:873
#, c-format
msgid "Could not install packages: %s"
msgstr "Nie można zainstalowaÄ pakietów: %s"
#. TRANSLATORS: we are now disabling all debuginfo repos we previously enabled
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:907
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:905
#, c-format
msgid "Disabling sources previously enabled"
msgstr "WyÅÄ
czanie źródeÅ poprzednio wÅÄ
czonych"
#. TRANSLATORS: no debuginfo packages could be found to be installed, detailed error follows
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:919
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:917
#, c-format
msgid "Could not disable the debugging sources: %s"
msgstr "Nie można wyÅÄ
czyÄ ÅºródeÅ pakietów debugowania: %s"
#. TRANSLATORS: we disabled all the debugging repos that we enabled before
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:934
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:932
#, c-format
msgid "Disabled %i debugging sources."
msgstr "WyÅÄ
czono %i źródÅa pakietów debugowania."
@@ -1114,604 +1145,617 @@ msgstr "Lista pakietów PackageKit"
msgid "PackageKit Service Pack"
msgstr "Pakiet serwisowy PackageKit"
-#: ../lib/packagekit-glib2/pk-console-shared.c:65
+#: ../lib/packagekit-glib2/pk-console-shared.c:63
#, c-format
msgid "Please enter a number from 1 to %i: "
msgstr "ProszÄ podaÄ numer od 1 do %i: "
#. TRANSLATORS: more than one package could be found that matched, to follow is a list of possible packages
-#: ../lib/packagekit-glib2/pk-console-shared.c:191
+#: ../lib/packagekit-glib2/pk-console-shared.c:189
msgid "More than one package matches:"
msgstr "Pasuje wiÄcej niż jeden pakiet:"
#. TRANSLATORS: This finds out which package in the list to use
-#: ../lib/packagekit-glib2/pk-console-shared.c:202
+#: ../lib/packagekit-glib2/pk-console-shared.c:200
msgid "Please choose the correct package: "
msgstr "ProszÄ wybraÄ poprawny pakiet: "
#. TRANSLATORS: This is when the transaction status is not known
-#: ../lib/packagekit-glib2/pk-console-shared.c:257
+#: ../lib/packagekit-glib2/pk-console-shared.c:255
msgid "Unknown state"
msgstr "Nieznany stan"
#. TRANSLATORS: transaction state, the daemon is in the process of starting
-#: ../lib/packagekit-glib2/pk-console-shared.c:261
+#: ../lib/packagekit-glib2/pk-console-shared.c:259
msgid "Starting"
msgstr "Rozpoczynanie"
#. TRANSLATORS: transaction state, the transaction is waiting for another to complete
-#: ../lib/packagekit-glib2/pk-console-shared.c:265
+#: ../lib/packagekit-glib2/pk-console-shared.c:263
msgid "Waiting in queue"
msgstr "Oczekiwanie w kolejce"
#. TRANSLATORS: transaction state, just started
-#: ../lib/packagekit-glib2/pk-console-shared.c:269
+#: ../lib/packagekit-glib2/pk-console-shared.c:267
msgid "Running"
msgstr "Wykonywanie"
#. TRANSLATORS: transaction state, is querying data
-#: ../lib/packagekit-glib2/pk-console-shared.c:273
+#: ../lib/packagekit-glib2/pk-console-shared.c:271
msgid "Querying"
msgstr "Odpytywanie"
#. TRANSLATORS: transaction state, getting data from a server
-#: ../lib/packagekit-glib2/pk-console-shared.c:277
+#: ../lib/packagekit-glib2/pk-console-shared.c:275
msgid "Getting information"
msgstr "Pobieranie informacji"
#. TRANSLATORS: transaction state, removing packages
-#: ../lib/packagekit-glib2/pk-console-shared.c:281
+#: ../lib/packagekit-glib2/pk-console-shared.c:279
msgid "Removing packages"
msgstr "Usuwanie pakietu"
#. TRANSLATORS: transaction state, downloading package files
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:285
-#: ../lib/packagekit-glib2/pk-console-shared.c:663
+#: ../lib/packagekit-glib2/pk-console-shared.c:283
+#: ../lib/packagekit-glib2/pk-console-shared.c:661
msgid "Downloading packages"
msgstr "Pobieranie pakietów"
#. TRANSLATORS: transaction state, refreshing internal lists
-#: ../lib/packagekit-glib2/pk-console-shared.c:293
+#: ../lib/packagekit-glib2/pk-console-shared.c:291
msgid "Refreshing software list"
msgstr "OdÅwieżanie listy oprogramowania"
#. TRANSLATORS: transaction state, installing updates
-#: ../lib/packagekit-glib2/pk-console-shared.c:297
+#: ../lib/packagekit-glib2/pk-console-shared.c:295
msgid "Installing updates"
msgstr "Instalowanie aktualizacji"
#. TRANSLATORS: transaction state, removing old packages, and cleaning config files
-#: ../lib/packagekit-glib2/pk-console-shared.c:301
+#: ../lib/packagekit-glib2/pk-console-shared.c:299
msgid "Cleaning up packages"
msgstr "Czyszczenie pakietów"
#. TRANSLATORS: transaction state, obsoleting old packages
-#: ../lib/packagekit-glib2/pk-console-shared.c:305
+#: ../lib/packagekit-glib2/pk-console-shared.c:303
msgid "Obsoleting packages"
msgstr "ZastÄpowanie pakietów"
#. TRANSLATORS: transaction state, checking the transaction before we do it
-#: ../lib/packagekit-glib2/pk-console-shared.c:309
+#: ../lib/packagekit-glib2/pk-console-shared.c:307
msgid "Resolving dependencies"
msgstr "RozwiÄ
zywanie zależnoÅci"
#. TRANSLATORS: transaction state, checking if we have all the security keys for the operation
-#: ../lib/packagekit-glib2/pk-console-shared.c:313
+#: ../lib/packagekit-glib2/pk-console-shared.c:311
msgid "Checking signatures"
msgstr "Sprawdzanie podpisów"
#. TRANSLATORS: transaction state, when we return to a previous system state
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:317
-#: ../lib/packagekit-glib2/pk-console-shared.c:623
+#: ../lib/packagekit-glib2/pk-console-shared.c:315
+#: ../lib/packagekit-glib2/pk-console-shared.c:621
msgid "Rolling back"
msgstr "Przywracanie"
#. TRANSLATORS: transaction state, when we're doing a test transaction
-#: ../lib/packagekit-glib2/pk-console-shared.c:321
+#: ../lib/packagekit-glib2/pk-console-shared.c:319
msgid "Testing changes"
msgstr "Testowanie zmian"
#. TRANSLATORS: transaction state, when we're writing to the system package database
-#: ../lib/packagekit-glib2/pk-console-shared.c:325
+#: ../lib/packagekit-glib2/pk-console-shared.c:323
msgid "Committing changes"
msgstr "Wprowadzanie zmian"
#. TRANSLATORS: transaction state, requesting data from a server
-#: ../lib/packagekit-glib2/pk-console-shared.c:329
+#: ../lib/packagekit-glib2/pk-console-shared.c:327
msgid "Requesting data"
msgstr "Å»Ä
danie danych"
#. TRANSLATORS: transaction state, all done!
-#: ../lib/packagekit-glib2/pk-console-shared.c:333
+#: ../lib/packagekit-glib2/pk-console-shared.c:331
msgid "Finished"
msgstr "UkoÅczono"
#. TRANSLATORS: transaction state, in the process of cancelling
-#: ../lib/packagekit-glib2/pk-console-shared.c:337
+#: ../lib/packagekit-glib2/pk-console-shared.c:335
msgid "Cancelling"
msgstr "Anulowanie"
#. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:341
+#: ../lib/packagekit-glib2/pk-console-shared.c:339
msgid "Downloading repository information"
msgstr "Pobieranie informacji o repozytorium"
#. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:345
+#: ../lib/packagekit-glib2/pk-console-shared.c:343
msgid "Downloading list of packages"
msgstr "Pobieranie listy pakietów"
#. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:349
+#: ../lib/packagekit-glib2/pk-console-shared.c:347
msgid "Downloading file lists"
msgstr "Pobieranie list plików"
#. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:353
+#: ../lib/packagekit-glib2/pk-console-shared.c:351
msgid "Downloading lists of changes"
msgstr "Pobieranie listy zmian"
#. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:357
+#: ../lib/packagekit-glib2/pk-console-shared.c:355
msgid "Downloading groups"
msgstr "Pobieranie grup"
#. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:361
+#: ../lib/packagekit-glib2/pk-console-shared.c:359
msgid "Downloading update information"
msgstr "Pobieranie informacji o aktualizacji"
#. TRANSLATORS: transaction state, repackaging delta files
-#: ../lib/packagekit-glib2/pk-console-shared.c:365
+#: ../lib/packagekit-glib2/pk-console-shared.c:363
msgid "Repackaging files"
msgstr "Ponowne umieszczanie plików w pakietach"
#. TRANSLATORS: transaction state, loading databases
-#: ../lib/packagekit-glib2/pk-console-shared.c:369
+#: ../lib/packagekit-glib2/pk-console-shared.c:367
msgid "Loading cache"
msgstr "Wczytywanie pamiÄci podrÄcznej"
#. TRANSLATORS: transaction state, scanning for running processes
-#: ../lib/packagekit-glib2/pk-console-shared.c:373
+#: ../lib/packagekit-glib2/pk-console-shared.c:371
msgid "Scanning applications"
msgstr "Skanowanie programów"
#. TRANSLATORS: transaction state, generating a list of packages installed on the system
-#: ../lib/packagekit-glib2/pk-console-shared.c:377
+#: ../lib/packagekit-glib2/pk-console-shared.c:375
msgid "Generating package lists"
msgstr "Tworzenie list pakietów"
#. TRANSLATORS: transaction state, when we're waiting for the native tools to exit
-#: ../lib/packagekit-glib2/pk-console-shared.c:381
+#: ../lib/packagekit-glib2/pk-console-shared.c:379
msgid "Waiting for package manager lock"
msgstr "Oczekiwanie na blokadÄ menedżera pakietów"
#. TRANSLATORS: transaction state, waiting for user to type in a password
-#: ../lib/packagekit-glib2/pk-console-shared.c:385
+#: ../lib/packagekit-glib2/pk-console-shared.c:383
msgid "Waiting for authentication"
msgstr "Oczekiwanie na uwierzytelnienie"
#. TRANSLATORS: transaction state, we are updating the list of processes
-#: ../lib/packagekit-glib2/pk-console-shared.c:389
+#: ../lib/packagekit-glib2/pk-console-shared.c:387
msgid "Updating running applications"
msgstr "Aktualizowanie uruchomionych programów"
#. TRANSLATORS: transaction state, we are checking executable files currently in use
-#: ../lib/packagekit-glib2/pk-console-shared.c:393
+#: ../lib/packagekit-glib2/pk-console-shared.c:391
msgid "Checking applications in use"
msgstr "Sprawdzanie używanych programów"
#. TRANSLATORS: transaction state, we are checking for libraries currently in use
-#: ../lib/packagekit-glib2/pk-console-shared.c:397
+#: ../lib/packagekit-glib2/pk-console-shared.c:395
msgid "Checking libraries in use"
msgstr "Sprawdzanie używanych bibliotek"
#. TRANSLATORS: transaction state, we are copying package files before or after the transaction
-#: ../lib/packagekit-glib2/pk-console-shared.c:401
+#: ../lib/packagekit-glib2/pk-console-shared.c:399
msgid "Copying files"
msgstr "Kopiowanie plików"
#. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:419
+#: ../lib/packagekit-glib2/pk-console-shared.c:417
msgid "Trivial"
msgstr "Drobna"
#. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:423
+#: ../lib/packagekit-glib2/pk-console-shared.c:421
msgid "Normal"
msgstr "Normalna"
#. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:427
+#: ../lib/packagekit-glib2/pk-console-shared.c:425
msgid "Important"
msgstr "Ważna"
#. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:431
+#: ../lib/packagekit-glib2/pk-console-shared.c:429
msgid "Security"
msgstr "BezpieczeÅstwa"
#. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:435
+#: ../lib/packagekit-glib2/pk-console-shared.c:433
msgid "Bug fix "
msgstr "NaprawiajÄ
ca bÅÄdy"
#. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:439
+#: ../lib/packagekit-glib2/pk-console-shared.c:437
msgid "Enhancement"
msgstr "Ulepszenie"
#. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:443
+#: ../lib/packagekit-glib2/pk-console-shared.c:441
msgid "Blocked"
msgstr "Zablokowana"
#. TRANSLATORS: The state of a package
#. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:448
-#: ../lib/packagekit-glib2/pk-console-shared.c:521
+#: ../lib/packagekit-glib2/pk-console-shared.c:446
+#: ../lib/packagekit-glib2/pk-console-shared.c:519
msgid "Installed"
msgstr "Zainstalowana"
#. TRANSLATORS: The state of a package, i.e. not installed
-#: ../lib/packagekit-glib2/pk-console-shared.c:453
+#: ../lib/packagekit-glib2/pk-console-shared.c:451
msgid "Available"
msgstr "DostÄpna"
#. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:471
+#: ../lib/packagekit-glib2/pk-console-shared.c:469
msgid "Downloading"
msgstr "Pobieranie"
#. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:475
+#: ../lib/packagekit-glib2/pk-console-shared.c:473
msgid "Updating"
msgstr "Aktualizowanie"
#. TRANSLATORS: The action of the package, in present tense
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:479
-#: ../lib/packagekit-glib2/pk-console-shared.c:599
+#: ../lib/packagekit-glib2/pk-console-shared.c:477
+#: ../lib/packagekit-glib2/pk-console-shared.c:597
msgid "Installing"
msgstr "Instalowanie"
#. TRANSLATORS: The action of the package, in present tense
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:483
-#: ../lib/packagekit-glib2/pk-console-shared.c:595
+#: ../lib/packagekit-glib2/pk-console-shared.c:481
+#: ../lib/packagekit-glib2/pk-console-shared.c:593
msgid "Removing"
msgstr "Usuwanie"
#. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:487
+#: ../lib/packagekit-glib2/pk-console-shared.c:485
msgid "Cleaning up"
msgstr "Czyszczenie"
#. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:491
+#: ../lib/packagekit-glib2/pk-console-shared.c:489
msgid "Obsoleting"
msgstr "ZastÄpowanie"
#. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:495
+#: ../lib/packagekit-glib2/pk-console-shared.c:493
msgid "Reinstalling"
msgstr "Ponowne instalowanie"
#. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:513
+#: ../lib/packagekit-glib2/pk-console-shared.c:511
msgid "Downloaded"
msgstr "Pobierano"
#. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:525
+#: ../lib/packagekit-glib2/pk-console-shared.c:523
msgid "Removed"
msgstr "UsuniÄto"
#. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:529
+#: ../lib/packagekit-glib2/pk-console-shared.c:527
msgid "Cleaned up"
msgstr "Wyczyszczono"
#. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:533
+#: ../lib/packagekit-glib2/pk-console-shared.c:531
msgid "Obsoleted"
msgstr "ZastÄ
piono"
#. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:537
+#: ../lib/packagekit-glib2/pk-console-shared.c:535
msgid "Reinstalled"
msgstr "Zainstalowano ponownie"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:555
+#: ../lib/packagekit-glib2/pk-console-shared.c:553
msgid "Unknown role type"
msgstr "Nieznany typ roli"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:559
+#: ../lib/packagekit-glib2/pk-console-shared.c:557
msgid "Getting dependencies"
msgstr "Pobieranie zależnoÅci"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:563
+#: ../lib/packagekit-glib2/pk-console-shared.c:561
msgid "Getting update details"
msgstr "Pobieranie szczegóÅów aktualizacji"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:567
+#: ../lib/packagekit-glib2/pk-console-shared.c:565
msgid "Getting details"
msgstr "Pobieranie szczegóÅów"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:571
+#: ../lib/packagekit-glib2/pk-console-shared.c:569
msgid "Getting requires"
msgstr "Pobieranie wymagaÅ"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:575
+#: ../lib/packagekit-glib2/pk-console-shared.c:573
msgid "Getting updates"
msgstr "Pobieranie aktualizacji"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:579
+#: ../lib/packagekit-glib2/pk-console-shared.c:577
msgid "Searching by details"
msgstr "Wyszukiwanie wedÅug szczegóÅów"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:583
+#: ../lib/packagekit-glib2/pk-console-shared.c:581
msgid "Searching by file"
msgstr "Wyszukiwanie wedÅug plików"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:587
+#: ../lib/packagekit-glib2/pk-console-shared.c:585
msgid "Searching groups"
msgstr "Wyszukiwanie grup"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:591
+#: ../lib/packagekit-glib2/pk-console-shared.c:589
msgid "Searching by name"
msgstr "Wyszukiwanie wedÅug nazw"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:603
+#: ../lib/packagekit-glib2/pk-console-shared.c:601
msgid "Installing files"
msgstr "Instalowanie plików"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:607
+#: ../lib/packagekit-glib2/pk-console-shared.c:605
msgid "Refreshing cache"
msgstr "OdÅwieżanie pamiÄci podrÄcznej"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:611
+#: ../lib/packagekit-glib2/pk-console-shared.c:609
msgid "Updating packages"
msgstr "Aktualizowanie pakietów"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:615
+#: ../lib/packagekit-glib2/pk-console-shared.c:613
msgid "Updating system"
msgstr "Aktualizowanie systemu"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:619
+#: ../lib/packagekit-glib2/pk-console-shared.c:617
msgid "Canceling"
msgstr "Anulowanie"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:627
+#: ../lib/packagekit-glib2/pk-console-shared.c:625
msgid "Getting repositories"
msgstr "Pobieranie repozytoriów"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:631
+#: ../lib/packagekit-glib2/pk-console-shared.c:629
msgid "Enabling repository"
msgstr "WÅÄ
czanie repozytorium"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:635
+#: ../lib/packagekit-glib2/pk-console-shared.c:633
msgid "Setting data"
msgstr "Ustawianie danych"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:639
+#: ../lib/packagekit-glib2/pk-console-shared.c:637
msgid "Resolving"
msgstr "RozwiÄ
zywanie"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:643
+#: ../lib/packagekit-glib2/pk-console-shared.c:641
msgid "Getting file list"
msgstr "Pobieranie listy plików"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:647
+#: ../lib/packagekit-glib2/pk-console-shared.c:645
msgid "Getting provides"
msgstr "Pobieranie dostarczanych"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:651
+#: ../lib/packagekit-glib2/pk-console-shared.c:649
msgid "Installing signature"
msgstr "Instalowanie podpisu"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:655
+#: ../lib/packagekit-glib2/pk-console-shared.c:653
msgid "Getting packages"
msgstr "Pobieranie pakietów"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:659
+#: ../lib/packagekit-glib2/pk-console-shared.c:657
msgid "Accepting EULA"
msgstr "Akceptowanie licencji"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:667
+#: ../lib/packagekit-glib2/pk-console-shared.c:665
msgid "Getting upgrades"
msgstr "Pobieranie aktualizacji"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:671
+#: ../lib/packagekit-glib2/pk-console-shared.c:669
msgid "Getting categories"
msgstr "Pobieranie kategorii"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:675
+#: ../lib/packagekit-glib2/pk-console-shared.c:673
msgid "Getting transactions"
msgstr "Pobieranie transakcji"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:679
-#: ../lib/packagekit-glib2/pk-console-shared.c:683
+#: ../lib/packagekit-glib2/pk-console-shared.c:677
+#: ../lib/packagekit-glib2/pk-console-shared.c:681
msgid "Simulating install"
msgstr "Symulowanie instalacji"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:687
+#: ../lib/packagekit-glib2/pk-console-shared.c:685
msgid "Simulating remove"
msgstr "Symulowanie usuniÄcia"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:691
+#: ../lib/packagekit-glib2/pk-console-shared.c:689
msgid "Simulating update"
msgstr "Symulowanie aktualizacji"
+#. TRANSLATORS: turn on all debugging
+#: ../lib/packagekit-glib2/pk-debug.c:133
+msgid "Show debugging information for all files"
+msgstr "WyÅwietla informacje o debugowaniu dla wszystkich plików"
+
+#: ../lib/packagekit-glib2/pk-debug.c:201
+msgid "Debugging Options"
+msgstr "Opcje debugowania"
+
+#: ../lib/packagekit-glib2/pk-debug.c:201
+msgid "Show debugging options"
+msgstr "WyÅwietla opcje debugowania"
+
#. TRANSLATORS: ask the user if they are comfortable installing insecure packages
-#: ../lib/packagekit-glib2/pk-task-text.c:69
+#: ../lib/packagekit-glib2/pk-task-text.c:67
msgid "Do you want to allow installing of unsigned software?"
msgstr "PozwoliÄ na instalowanie niepodpisanego oprogramowania?"
#. TRANSLATORS: tell the user we've not done anything
-#: ../lib/packagekit-glib2/pk-task-text.c:74
+#: ../lib/packagekit-glib2/pk-task-text.c:72
msgid "The unsigned software will not be installed."
msgstr "Niepodpisane oprogramowanie nie zostanie zainstalowane."
#. TRANSLATORS: the package repository is signed by a key that is not recognised
-#: ../lib/packagekit-glib2/pk-task-text.c:123
+#: ../lib/packagekit-glib2/pk-task-text.c:121
msgid "Software source signature required"
msgstr "Wymagany jest podpis źródÅa oprogramowania"
#. TRANSLATORS: the package repository name
-#: ../lib/packagekit-glib2/pk-task-text.c:129
+#: ../lib/packagekit-glib2/pk-task-text.c:127
msgid "Software source name"
msgstr "Nazwa źródÅa oprogramowania"
#. TRANSLATORS: the key URL
-#: ../lib/packagekit-glib2/pk-task-text.c:132
+#: ../lib/packagekit-glib2/pk-task-text.c:130
msgid "Key URL"
msgstr "Adres URL klucza"
#. TRANSLATORS: the username of the key
-#: ../lib/packagekit-glib2/pk-task-text.c:135
+#: ../lib/packagekit-glib2/pk-task-text.c:133
msgid "Key user"
msgstr "Użytkownika klucza"
#. TRANSLATORS: the key ID, usually a few hex digits
-#: ../lib/packagekit-glib2/pk-task-text.c:138
+#: ../lib/packagekit-glib2/pk-task-text.c:136
msgid "Key ID"
msgstr "Identyfikator klucza"
#. TRANSLATORS: the key fingerprint, again, yet more hex
-#: ../lib/packagekit-glib2/pk-task-text.c:141
+#: ../lib/packagekit-glib2/pk-task-text.c:139
msgid "Key fingerprint"
msgstr "Odcisk klucza"
#. TRANSLATORS: the timestamp (a bit like a machine readable time)
-#: ../lib/packagekit-glib2/pk-task-text.c:144
+#: ../lib/packagekit-glib2/pk-task-text.c:142
msgid "Key Timestamp"
msgstr "Czas klucza"
#. TRANSLATORS: ask the user if they want to import
-#: ../lib/packagekit-glib2/pk-task-text.c:157
+#: ../lib/packagekit-glib2/pk-task-text.c:155
msgid "Do you accept this signature?"
msgstr "ZaakceptowaÄ ten podpis?"
#. TRANSLATORS: tell the user we've not done anything
-#: ../lib/packagekit-glib2/pk-task-text.c:162
+#: ../lib/packagekit-glib2/pk-task-text.c:160
msgid "The signature was not accepted."
msgstr "Podpis nie zostaÅ zaakceptowany."
#. TRANSLATORS: this is another name for a software licence that has to be read before installing
-#: ../lib/packagekit-glib2/pk-task-text.c:205
+#: ../lib/packagekit-glib2/pk-task-text.c:203
msgid "End user licence agreement required"
msgstr "Wymagana jest umowa licencyjna użytkownika koÅcowego"
#. TRANSLATORS: the EULA text itself (long and boring)
-#: ../lib/packagekit-glib2/pk-task-text.c:214
+#: ../lib/packagekit-glib2/pk-task-text.c:212
msgid "Agreement"
msgstr "Umowa"
#. TRANSLATORS: ask the user if they've read and accepted the EULA
-#: ../lib/packagekit-glib2/pk-task-text.c:223
+#: ../lib/packagekit-glib2/pk-task-text.c:221
msgid "Do you accept this agreement?"
msgstr "ZaakceptowaÄ tÄ umowÄ?"
#. TRANSLATORS: tell the user we've not done anything
-#: ../lib/packagekit-glib2/pk-task-text.c:228
+#: ../lib/packagekit-glib2/pk-task-text.c:226
msgid "The agreement was not accepted."
msgstr "Umowa nie zostaÅa zaakceptowana."
#. TRANSLATORS: the user needs to change media inserted into the computer
-#: ../lib/packagekit-glib2/pk-task-text.c:267
+#: ../lib/packagekit-glib2/pk-task-text.c:265
msgid "Media change required"
msgstr "Wymagana jest zmiana noÅnika"
#. TRANSLATORS: the type, e.g. DVD, CD, etc
-#: ../lib/packagekit-glib2/pk-task-text.c:270
+#: ../lib/packagekit-glib2/pk-task-text.c:268
msgid "Media type"
msgstr "Typ noÅnika"
#. TRANSLATORS: the media label, usually like 'disk-1of3'
-#: ../lib/packagekit-glib2/pk-task-text.c:273
+#: ../lib/packagekit-glib2/pk-task-text.c:271
msgid "Media label"
msgstr "Etykieta noÅnika"
#. TRANSLATORS: the media description, usually like 'Fedora 12 disk 5'
-#: ../lib/packagekit-glib2/pk-task-text.c:276
+#: ../lib/packagekit-glib2/pk-task-text.c:274
msgid "Text"
msgstr "Tekst"
#. TRANSLATORS: ask the user to insert the media
-#: ../lib/packagekit-glib2/pk-task-text.c:282
+#: ../lib/packagekit-glib2/pk-task-text.c:280
msgid "Please insert the correct media"
msgstr "ProszÄ wÅożyÄ poprawny noÅnik"
#. TRANSLATORS: tell the user we've not done anything as they are lazy
-#: ../lib/packagekit-glib2/pk-task-text.c:287
+#: ../lib/packagekit-glib2/pk-task-text.c:285
msgid "The correct media was not inserted."
msgstr "Nie wÅożono poprawnego noÅnika."
#. TRANSLATORS: When processing, we might have to remove other dependencies
-#: ../lib/packagekit-glib2/pk-task-text.c:302
+#: ../lib/packagekit-glib2/pk-task-text.c:300
msgid "The following packages have to be removed:"
msgstr "NastÄpujÄ
ce pakiety muszÄ
zostaÄ usuniÄte:"
#. TRANSLATORS: When processing, we might have to install other dependencies
-#: ../lib/packagekit-glib2/pk-task-text.c:307
+#: ../lib/packagekit-glib2/pk-task-text.c:305
msgid "The following packages have to be installed:"
msgstr "NastÄpujÄ
ce pakiety muszÄ
zostaÄ zainstalowane:"
#. TRANSLATORS: When processing, we might have to update other dependencies
-#: ../lib/packagekit-glib2/pk-task-text.c:312
+#: ../lib/packagekit-glib2/pk-task-text.c:310
msgid "The following packages have to be updated:"
msgstr "NastÄpujÄ
ce pakiety muszÄ
zostaÄ zaktualizowane:"
#. TRANSLATORS: When processing, we might have to reinstall other dependencies
-#: ../lib/packagekit-glib2/pk-task-text.c:317
+#: ../lib/packagekit-glib2/pk-task-text.c:315
msgid "The following packages have to be reinstalled:"
msgstr "NastÄpujÄ
ce pakiety muszÄ
zostaÄ ponownie zainstalowane:"
#. TRANSLATORS: When processing, we might have to downgrade other dependencies
-#: ../lib/packagekit-glib2/pk-task-text.c:322
+#: ../lib/packagekit-glib2/pk-task-text.c:320
msgid "The following packages have to be downgraded:"
msgstr "NastÄpujÄ
ce pakiety muszÄ
zostaÄ zainstalowane w starszych wersjach:"
#. TRANSLATORS: ask the user if the proposed changes are okay
-#: ../lib/packagekit-glib2/pk-task-text.c:382
+#: ../lib/packagekit-glib2/pk-task-text.c:380
msgid "Proceed with changes?"
msgstr "KontynuowaÄ wprowadzanie zmian?"
#. TRANSLATORS: tell the user we didn't do anything
-#: ../lib/packagekit-glib2/pk-task-text.c:387
+#: ../lib/packagekit-glib2/pk-task-text.c:385
msgid "The transaction did not proceed."
msgstr "Transakcja nie bÄdzie kontynuowana."
@@ -1794,12 +1838,16 @@ msgstr ""
msgid "Authentication is required to update packages"
msgstr "Wymagane jest uwierzytelnienie, aby zaktualizowaÄ pakiety"
+#: ../policy/org.freedesktop.packagekit.policy.in.h:21
+msgid "Authentication is required to upgrade the operating system"
+msgstr "Wymagane jest uwierzytelnienie, aby zaktualizowaÄ system operacyjny"
+
#. SECURITY:
#. - Normal users are allowed to cancel their own task without
#. authentication, but a different user id needs the admin password
#. to cancel another users task.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:26
+#: ../policy/org.freedesktop.packagekit.policy.in.h:27
msgid "Cancel foreign task"
msgstr "Anulowanie obcego zadania"
@@ -1809,7 +1857,7 @@ msgstr "Anulowanie obcego zadania"
#. - This could be used to overwrite files not owned by the user using
#. a carefully created package file.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:33
+#: ../policy/org.freedesktop.packagekit.policy.in.h:34
msgid "Change location that packages are installed"
msgstr "Zmiana poÅożenia, w którym sÄ
instalowane pakiety"
@@ -1818,7 +1866,7 @@ msgstr "Zmiana poÅożenia, w którym sÄ
instalowane pakiety"
#. software sources as this can be used to enable new updates or
#. install different versions of software.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:39
+#: ../policy/org.freedesktop.packagekit.policy.in.h:40
msgid "Change software source parameters"
msgstr "Zmiana parametrów źródÅa oprogramowania"
@@ -1828,7 +1876,7 @@ msgstr "Zmiana parametrów źródÅa oprogramowania"
#. - Paranoid users (or parents!) can change this to 'auth_admin' or
#. 'auth_admin_keep'.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:46
+#: ../policy/org.freedesktop.packagekit.policy.in.h:47
msgid "Install signed package"
msgstr "Instalacja podpisanego pakietu"
@@ -1838,7 +1886,7 @@ msgstr "Instalacja podpisanego pakietu"
#. password would be a massive security hole.
#. - This is not retained as each package should be authenticated.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:53
+#: ../policy/org.freedesktop.packagekit.policy.in.h:54
msgid "Install untrusted local file"
msgstr "Instalacja niezaufanego lokalnego pliku"
@@ -1846,7 +1894,7 @@ msgstr "Instalacja niezaufanego lokalnego pliku"
#. - 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:58
+#: ../policy/org.freedesktop.packagekit.policy.in.h:59
msgid "Refresh system sources"
msgstr "OdÅwieżenie źródeÅ systemu"
@@ -1857,7 +1905,7 @@ msgstr "OdÅwieżenie źródeÅ systemu"
#. try to rebind drivers in use, for instance security authentication
#. devices.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:66
+#: ../policy/org.freedesktop.packagekit.policy.in.h:67
msgid "Reload a device"
msgstr "Ponowne wczytanie urzÄ
dzenia"
@@ -1870,7 +1918,7 @@ msgstr "Ponowne wczytanie urzÄ
dzenia"
#. be removed. If this is not possible, change this authentication to
#. 'auth_admin'.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:76
+#: ../policy/org.freedesktop.packagekit.policy.in.h:77
msgid "Remove package"
msgstr "UsuniÄcie pakietu"
@@ -1879,7 +1927,7 @@ msgstr "UsuniÄcie pakietu"
#. 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:82
+#: ../policy/org.freedesktop.packagekit.policy.in.h:83
msgid "Rollback to a previous transaction"
msgstr "Przywrócenie poprzedniej transakcji"
@@ -1887,7 +1935,7 @@ msgstr "Przywrócenie poprzedniej transakcji"
#. - Normal users do not require admin authentication to set the proxy
#. used for downloading packages.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:87
+#: ../policy/org.freedesktop.packagekit.policy.in.h:88
msgid "Set network proxy"
msgstr "Ustawienie poÅrednika sieciowego"
@@ -1897,7 +1945,7 @@ msgstr "Ustawienie poÅrednika sieciowego"
#. without a secure authentication.
#. - This is not kept as each package should be authenticated.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:94
+#: ../policy/org.freedesktop.packagekit.policy.in.h:95
msgid "Trust a key used for signing packages"
msgstr "Oznaczenie klucza używanego do podpisywania pakietów jako zaufanego"
@@ -1908,10 +1956,19 @@ msgstr "Oznaczenie klucza używanego do podpisywania pakietów jako zaufanego"
#. - Changing this to anything other than 'yes' will break unattended
#. updates.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:102
+#: ../policy/org.freedesktop.packagekit.policy.in.h:103
msgid "Update packages"
msgstr "Aktualizacja pakietów"
+#. SECURITY:
+#. - Normal users require admin authentication to upgrade the disto as
+#. this can make the system unbootable or stop other applications from
+#. working.
+#.
+#: ../policy/org.freedesktop.packagekit.policy.in.h:109
+msgid "Upgrade System"
+msgstr "Aktualizacja systemu"
+
#. TRANSLATORS: failed due to DBus security
#: ../src/pk-main.c:87
msgid "Startup failed due to security policies on this machine."
@@ -1979,7 +2036,7 @@ msgid "Cannot connect to the system bus"
msgstr "Nie można poÅÄ
czyÄ siÄ z magistralÄ
systemowÄ
"
#. TRANSLATORS: cannot register on system bus, unknown reason -- geeky error follows
-#: ../src/pk-main.c:318
+#: ../src/pk-main.c:316
msgid "Error trying to start:"
msgstr "BÅÄ
d podczas próbowania uruchomienia:"
@@ -2025,31 +2082,3 @@ msgstr "Wiele pakietów"
#: ../src/pk-polkit-action-lookup.c:339
msgid "Only trusted"
msgstr "Tylko zaufane"
-
-#. TRANSLATORS: turn on all debugging
-#: ../src/egg-debug.c:388
-msgid "Show debugging information for all files"
-msgstr "WyÅwietla informacje o debugowaniu dla wszystkich plików"
-
-#. TRANSLATORS: a list of modules to debug
-#: ../src/egg-debug.c:458
-msgid "Debug these specific modules"
-msgstr "Debuguje podane moduÅy"
-
-#. TRANSLATORS: a list of functions to debug
-#: ../src/egg-debug.c:461
-msgid "Debug these specific functions"
-msgstr "Debuguje podane funkcje"
-
-#. TRANSLATORS: save to a log
-#: ../src/egg-debug.c:464
-msgid "Log debugging data to a file"
-msgstr "Zapisuje dane debugowania do pliku"
-
-#: ../src/egg-debug.c:468
-msgid "Debugging Options"
-msgstr "Opcje debugowania"
-
-#: ../src/egg-debug.c:468
-msgid "Show debugging options"
-msgstr "WyÅwietla opcje debugowania"
commit 56349d1e761f31f826cb6929cad1914c00f56a64
Merge: c510a4d... b5d0494...
Author: Daniel Nicoletti <dantti85-pk at yahoo.com.br>
Date: Wed Nov 24 11:19:47 2010 -0200
Merge branch 'master' of gitorious.org:packagekit/packagekit
commit b5d0494de6f77f14966420e71de8e30700d9b536
Author: Richard Hughes <richard at hughsie.com>
Date: Wed Nov 24 12:30:50 2010 +0000
trivial: add the transifex auth token
diff --git a/README.transifex b/README.transifex
new file mode 100644
index 0000000..56471ba
--- /dev/null
+++ b/README.transifex
@@ -0,0 +1,11 @@
+Transifex.net Token Verification
+=================================
+
+The list of tokens bellow guarantee the respective users to be able to enable
+submission on components using the following repository url:
+
+git at gitorious.org:packagekit/packagekit.git
+
+Tokens:
+
+sLv8aEbptmMyFt2R2Rd37myY2Vg2zN43 / hughsie
commit 7cab600964210064268950273bbeb4551052126f
Author: Richard Hughes <richard at hughsie.com>
Date: Tue Nov 16 14:00:45 2010 +0000
yum: disable the Zif get-updates until depsolving is faster
diff --git a/backends/yum/pk-backend-yum.c b/backends/yum/pk-backend-yum.c
index 3c9bdd7..3d87b33 100644
--- a/backends/yum/pk-backend-yum.c
+++ b/backends/yum/pk-backend-yum.c
@@ -2282,6 +2282,7 @@ static gboolean
pk_backend_get_updates_thread (PkBackend *backend)
{
#ifdef HAVE_ZIF
+#if 0
PkBitfield filters = (PkBitfield) pk_backend_get_uint (backend, "filters");
GPtrArray *store_array = NULL;
ZifState *state_local;
@@ -2456,6 +2457,7 @@ out:
if (store_array != NULL)
g_ptr_array_unref (store_array);
#endif
+#endif
return TRUE;
}
commit 8a322097936458e4d90e6d6891a85641d4f9ee20
Author: Zhang Qiang <qiang.z.zhang at intel.com>
Date: Wed Nov 24 16:31:48 2010 +0800
zypp: Fix a typo in get_zypp
diff --git a/backends/zypp/zypp-utils.cpp b/backends/zypp/zypp-utils.cpp
index c13975d..a5ce2d3 100644
--- a/backends/zypp/zypp-utils.cpp
+++ b/backends/zypp/zypp-utils.cpp
@@ -104,7 +104,7 @@ get_zypp (PkBackend *backend)
return NULL;
} catch (const zypp::Exception &ex) {
pk_backend_error_code (backend, PK_ERROR_ENUM_INTERNAL_ERROR, ex.asUserString().c_str() );
- return NULL
+ return NULL;
}
return zypp;
commit 9507d582fc62aad74a5835b09f27cee2a2b68ea6
Author: Zhang Qiang <qiang.z.zhang at intel.com>
Date: Wed Nov 24 16:21:29 2010 +0800
zypp:Catch ZYppFactoryException in get_zypp
This patch cache ZYppFactoryException in get_zypp, and sent init error
to client, but not exit. Also add some check code to prevent some daemon
crash issue, which occures zypper is running and you also just want to
run packagekit at the same time.
diff --git a/backends/zypp/pk-backend-zypp.cpp b/backends/zypp/pk-backend-zypp.cpp
index ed30c43..29b171a 100644
--- a/backends/zypp/pk-backend-zypp.cpp
+++ b/backends/zypp/pk-backend-zypp.cpp
@@ -139,6 +139,13 @@ backend_get_requires_thread (PkBackend *backend)
{
gchar **package_ids;
PkBitfield _filters = (PkBitfield) pk_backend_get_uint (backend, "filters");
+ zypp::ZYpp::Ptr zypp;
+
+ zypp = get_zypp (backend);
+ if (zypp == NULL){
+ pk_backend_finished (backend);
+ return FALSE;
+ }
package_ids = pk_backend_get_strv (backend, "package_ids");
if (!pk_package_ids_check (package_ids)) {
@@ -307,6 +314,10 @@ backend_get_depends_thread (PkBackend *backend)
zypp::ZYpp::Ptr zypp;
zypp = get_zypp (backend);
+ if (zypp == NULL){
+ pk_backend_finished (backend);
+ return FALSE;
+ }
g_debug ("get_depends with filter '%s'", pk_filter_bitfield_to_string (_filters));
@@ -463,6 +474,13 @@ static gboolean
backend_get_details_thread (PkBackend *backend)
{
gchar **package_ids;
+ zypp::ZYpp::Ptr zypp;
+
+ zypp = get_zypp (backend);
+ if (zypp == NULL){
+ pk_backend_finished (backend);
+ return FALSE;
+ }
package_ids = pk_backend_get_strv (backend, "package_ids");
if (!pk_package_ids_check (package_ids)) {
@@ -564,6 +582,13 @@ pk_backend_get_details (PkBackend *backend, gchar **package_ids)
static gboolean
backend_get_distro_upgrades_thread(PkBackend *backend)
{
+ zypp::ZYpp::Ptr zypp;
+
+ zypp = get_zypp (backend);
+ if (zypp == NULL){
+ pk_backend_finished (backend);
+ return FALSE;
+ }
pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);
// refresh the repos before checking for updates
@@ -657,6 +682,13 @@ static gboolean
backend_get_updates_thread (PkBackend *backend)
{
PkBitfield _filters = (PkBitfield) pk_backend_get_uint (backend, "filters");
+ zypp::ZYpp::Ptr zypp;
+
+ zypp = get_zypp (backend);
+ if (zypp == NULL){
+ pk_backend_finished (backend);
+ return FALSE;
+ }
typedef std::set<zypp::PoolItem>::iterator pi_it_t;
@@ -729,6 +761,13 @@ static gboolean
backend_install_files_thread (PkBackend *backend)
{
gchar **full_paths;
+ zypp::ZYpp::Ptr zypp;
+
+ zypp = get_zypp (backend);
+ if (zypp == NULL){
+ pk_backend_finished (backend);
+ return FALSE;
+ }
full_paths = pk_backend_get_strv (backend, "full_paths");
@@ -861,6 +900,13 @@ static gboolean
backend_get_update_detail_thread (PkBackend *backend)
{
gchar **package_ids;
+ zypp::ZYpp::Ptr zypp;
+
+ zypp = get_zypp (backend);
+ if (zypp == NULL){
+ pk_backend_finished (backend);
+ return FALSE;
+ }
package_ids = pk_backend_get_strv (backend, "package_ids");
if (package_ids == NULL) {
@@ -951,6 +997,13 @@ pk_backend_get_update_detail (PkBackend *backend, gchar **package_ids)
static gboolean
backend_update_system_thread (PkBackend *backend)
{
+ zypp::ZYpp::Ptr zypp;
+
+ zypp = get_zypp (backend);
+ if (zypp == NULL){
+ pk_backend_finished (backend);
+ return FALSE;
+ }
pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);
pk_backend_set_percentage (backend, 0);
@@ -1015,6 +1068,10 @@ backend_install_packages_thread (PkBackend *backend)
zypp::ZYpp::Ptr zypp;
zypp = get_zypp (backend);
+ if (zypp == NULL){
+ pk_backend_finished (backend);
+ return FALSE;
+ }
package_ids = pk_backend_get_strv (backend, "package_ids");
if (!pk_package_ids_check (package_ids)) {
@@ -1167,6 +1224,10 @@ backend_remove_packages_thread (PkBackend *backend)
zypp::Target_Ptr target;
zypp::ZYpp::Ptr zypp;
zypp = get_zypp (backend);
+ if (zypp == NULL){
+ pk_backend_finished (backend);
+ return FALSE;
+ }
target = zypp->target ();
@@ -1245,6 +1306,13 @@ backend_resolve_thread (PkBackend *backend)
{
gchar **package_ids = pk_backend_get_strv (backend, "package_ids");
PkBitfield _filters = (PkBitfield) pk_backend_get_uint (backend, "filters");
+ zypp::ZYpp::Ptr zypp;
+
+ zypp = get_zypp (backend);
+ if (zypp == NULL){
+ pk_backend_finished (backend);
+ return FALSE;
+ }
pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);
@@ -1323,7 +1391,13 @@ backend_find_packages_thread (PkBackend *backend)
gchar **values;
const gchar *search;
guint mode;
- //GList *list = NULL;
+ zypp::ZYpp::Ptr zypp;
+
+ zypp = get_zypp (backend);
+ if (zypp == NULL){
+ pk_backend_finished (backend);
+ return FALSE;
+ }
values = pk_backend_get_strv (backend, "search");
search = values[0]; //Fixme - support the possible multiple values (logical OR search)
@@ -1405,6 +1479,13 @@ backend_search_group_thread (PkBackend *backend)
{
gchar **values;
const gchar *group;
+ zypp::ZYpp::Ptr zypp;
+
+ zypp = get_zypp (backend);
+ if (zypp == NULL){
+ pk_backend_finished (backend);
+ return FALSE;
+ }
values = pk_backend_get_strv (backend, "search");
group = values[0]; //Fixme - add support for possible multiple values.
@@ -1466,7 +1547,13 @@ pk_backend_search_files (PkBackend *backend, PkBitfield filters, gchar **values)
void
pk_backend_get_repo_list (PkBackend *backend, PkBitfield filters)
{
- //FIXME - use the new param - filter
+ zypp::ZYpp::Ptr zypp;
+
+ zypp = get_zypp (backend);
+ if (zypp == NULL){
+ pk_backend_finished (backend);
+ return;
+ }
pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);
@@ -1506,6 +1593,13 @@ pk_backend_get_repo_list (PkBackend *backend, PkBitfield filters)
void
pk_backend_repo_enable (PkBackend *backend, const gchar *rid, gboolean enabled)
{
+ zypp::ZYpp::Ptr zypp;
+
+ zypp = get_zypp (backend);
+ if (zypp == NULL){
+ pk_backend_finished (backend);
+ return;
+ }
pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);
zypp::RepoManager manager;
@@ -1537,6 +1631,13 @@ static gboolean
backend_get_files_thread (PkBackend *backend)
{
gchar **package_ids;
+ zypp::ZYpp::Ptr zypp;
+
+ zypp = get_zypp (backend);
+ if (zypp == NULL){
+ pk_backend_finished (backend);
+ return FALSE;
+ }
package_ids = pk_backend_get_strv (backend, "package_ids");
if (!pk_package_ids_check (package_ids)) {
@@ -1616,6 +1717,13 @@ pk_backend_get_files(PkBackend *backend, gchar **package_ids)
static gboolean
backend_get_packages_thread (PkBackend *backend)
{
+ zypp::ZYpp::Ptr zypp;
+
+ zypp = get_zypp (backend);
+ if (zypp == NULL){
+ pk_backend_finished (backend);
+ return FALSE;
+ }
pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);
std::vector<zypp::sat::Solvable> v;
@@ -1645,6 +1753,13 @@ backend_update_packages_thread (PkBackend *backend)
{
gboolean retval;
gchar **package_ids;
+ zypp::ZYpp::Ptr zypp;
+
+ zypp = get_zypp (backend);
+ if (zypp == NULL){
+ pk_backend_finished (backend);
+ return FALSE;
+ }
zypp::ResPool pool = zypp_build_pool (backend, TRUE);
/* FIXME: support only_trusted */
package_ids = pk_backend_get_strv (backend, "package_ids");
@@ -1709,6 +1824,13 @@ backend_repo_set_data_thread (PkBackend *backend)
const gchar *repo_id;
const gchar *parameter;
const gchar *value;
+ zypp::ZYpp::Ptr zypp;
+
+ zypp = get_zypp (backend);
+ if (zypp == NULL){
+ pk_backend_finished (backend);
+ return FALSE;
+ }
repo_id = pk_backend_get_string (backend, "repo_id");
parameter = pk_backend_get_string (backend, "parameter");
@@ -1840,6 +1962,13 @@ pk_backend_repo_set_data (PkBackend *backend, const gchar *repo_id, const gchar
static gboolean
backend_what_provides_thread (PkBackend *backend)
{
+ zypp::ZYpp::Ptr zypp;
+
+ zypp = get_zypp (backend);
+ if (zypp == NULL){
+ pk_backend_finished (backend);
+ return FALSE;
+ }
pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);
gchar **values = pk_backend_get_strv (backend, "search");
const gchar *search = values[0]; //Fixme - support possible multiple search values (logical OR)
diff --git a/backends/zypp/zypp-utils.cpp b/backends/zypp/zypp-utils.cpp
index e23d529..c13975d 100644
--- a/backends/zypp/zypp-utils.cpp
+++ b/backends/zypp/zypp-utils.cpp
@@ -99,8 +99,12 @@ get_zypp (PkBackend *backend)
initialized = TRUE;
}
+ } catch (const zypp::ZYppFactoryException &ex) {
+ pk_backend_error_code (backend, PK_ERROR_ENUM_FAILED_INITIALIZATION, ex.asUserString().c_str() );
+ return NULL;
} catch (const zypp::Exception &ex) {
- g_error ("%s", ex.asUserString ().c_str ());
+ pk_backend_error_code (backend, PK_ERROR_ENUM_INTERNAL_ERROR, ex.asUserString().c_str() );
+ return NULL
}
return zypp;
@@ -1107,6 +1111,8 @@ zypp_refresh_cache (PkBackend *backend, gboolean force)
{
// This call is needed as it calls initializeTarget which appears to properly setup the keyring
zypp::ZYpp::Ptr zypp = get_zypp (backend);
+ if (zypp == NULL)
+ return FALSE;
zypp::filesystem::Pathname pathname(pk_backend_get_root (backend));
// This call is needed to refresh system rpmdb status while refresh cache
zypp->finishTarget ();
commit 31ece5e07076383534ea2e2e10800e5f7038fdf4
Author: Daniel Nicoletti <dantti85-pk at yahoo.com.br>
Date: Wed Nov 24 01:27:40 2010 -0200
aptcc: first bits to a working gstreamer matcher
diff --git a/backends/aptcc/Makefile.am b/backends/aptcc/Makefile.am
index e78676f..04e5b6f 100644
--- a/backends/aptcc/Makefile.am
+++ b/backends/aptcc/Makefile.am
@@ -9,6 +9,7 @@ libpk_backend_aptcc_la_SOURCES = pkg_acqfile.cpp \
apt-utils.cpp \
acqprogress.cpp \
matcher.cpp \
+ gstMatcher.cpp \
rsources.cpp \
apt.cpp \
pk-backend-aptcc.cpp
@@ -23,6 +24,7 @@ aptconf_DATA = 20packagekit
EXTRA_DIST = 20packagekit \
apt.h \
apt-utils.h \
+ gstMatcher.h \
matcher.h \
aptcc_show_broken.h \
acqprogress.h \
diff --git a/backends/aptcc/apt.cpp b/backends/aptcc/apt.cpp
index 559496a..89cbc63 100644
--- a/backends/aptcc/apt.cpp
+++ b/backends/aptcc/apt.cpp
@@ -46,9 +46,6 @@
#include <dirent.h>
#include <assert.h>
-// Gstreamer stuff
-// #include <gst/gst.h>
-
aptcc::aptcc(PkBackend *backend, bool &cancel)
:
packageRecords(0),
@@ -478,8 +475,6 @@ void aptcc::povidesCodec(vector<pair<pkgCache::PkgIterator, pkgCache::VerIterato
cout << opt << endl;
regex_t sre;
gchar *itemreg;
-// GstCaps *caps;
-// caps = gst_caps_new_simple(data.c_str(), opt.c_str());
itemreg = g_strdup_printf("^%s:.* %s\\(, %s\\(,.*\\|;.*\\|$\\)\\|;\\|$\\)",
type.c_str(),
data.c_str(),
diff --git a/backends/aptcc/gstMatcher.cpp b/backends/aptcc/gstMatcher.cpp
new file mode 100644
index 0000000..eb0f77d
--- /dev/null
+++ b/backends/aptcc/gstMatcher.cpp
@@ -0,0 +1,109 @@
+// apt.cc
+//
+// Copyright 1999-2008 Daniel Burrows
+// Copyright (C) 2009 Daniel Nicoletti <dantti85-pk at yahoo.com.br>
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; see the file COPYING. If not, write to
+// the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+// Boston, MA 02111-1307, USA.
+
+#include "gstMatcher.h"
+#include <stdio.h>
+#include <iostream>
+
+#include <gst/gst.h>
+
+gstMatcher::gstMatcher(gchar **values)
+{
+ // The search term from PackageKit daemon:
+ // gstreamer0.10(urisource-foobar)
+ // gstreamer0.10(decoder-audio/x-wma)(wmaversion=3)
+
+ // The optional field is more complicated, it can have
+ // types, like int, float...
+ // TODO use some GST helper :/
+ regex_t pkre;
+
+ const char *pkreg = "^gstreamer\\([0-9\\.]\\+\\)"
+ "(\\(encoder\\|decoder\\|urisource\\|urisink\\|element\\)-\\([^)]\\+\\))"
+ "\\((.*)\\)\\?";
+
+ if(regcomp(&pkre, pkreg, 0) != 0) {
+ g_debug("Regex compilation error: ", pkreg);
+ return;
+ }
+
+ gchar *value;
+ vector<pair<string, regex_t> > search;
+ for (uint i = 0; i < g_strv_length(values); i++) {
+ value = values[i];
+ regmatch_t matches[5];
+ if (regexec(&pkre, value, 5, matches, 0) == 0) {
+ string version, type, data, opt;
+ version = "\nGstreamer-Version: ";
+ version.append(string(value, matches[1].rm_so, matches[1].rm_eo - matches[1].rm_so));
+ type = string(value, matches[2].rm_so, matches[2].rm_eo - matches[2].rm_so);
+ data = string(value, matches[3].rm_so, matches[3].rm_eo - matches[3].rm_so);
+ if (matches[4].rm_so != -1) {
+ // remove the '(' ')' that the regex matched
+ opt = string(value, matches[4].rm_so + 1, matches[4].rm_eo - matches[4].rm_so - 2);
+ } else {
+ // if the 4th element did not match match everything
+ opt = ".*";
+ }
+
+ if (type.compare("encoder") == 0) {
+ type = "Gstreamer-Encoders";
+ } else if (type.compare("decoder") == 0) {
+ type = "Gstreamer-Decoders";
+ } else if (type.compare("urisource") == 0) {
+ type = "Gstreamer-Uri-Sources";
+ } else if (type.compare("urisink") == 0) {
+ type = "Gstreamer-Uri-Sinks";
+ } else if (type.compare("element") == 0) {
+ type = "Gstreamer-Elements";
+ }
+ cout << version << endl;
+ cout << type << endl;
+ cout << data << endl;
+ cout << opt << endl;
+ regex_t sre;
+ gchar *itemreg;
+ GstCaps *caps;
+ caps = gst_caps_new_simple(data.c_str(), opt.c_str());
+ itemreg = g_strdup_printf("^%s:.* %s\\(, %s\\(,.*\\|;.*\\|$\\)\\|;\\|$\\)",
+ type.c_str(),
+ data.c_str(),
+ opt.c_str());
+ if(regcomp(&sre, itemreg, REG_NEWLINE | REG_NOSUB) == 0) {
+ search.push_back(pair<string, regex_t>(version, sre));
+ } else {
+ g_debug("Search regex compilation error: ", itemreg);
+ }
+ g_free(itemreg);
+ } else {
+ g_debug("Did not match: %s", value);
+ }
+ }
+ regfree(&pkre);
+
+ // If nothing matched just return
+ if (search.size() == 0) {
+ return;
+ }
+}
+
+gstMatcher::~gstMatcher()
+{
+}
diff --git a/backends/aptcc/gstMatcher.h b/backends/aptcc/gstMatcher.h
new file mode 100644
index 0000000..2645702
--- /dev/null
+++ b/backends/aptcc/gstMatcher.h
@@ -0,0 +1,43 @@
+// apt.h -*-c++-*-
+//
+// Copyright 1999-2002, 2004-2005, 2007-2008 Daniel Burrows
+// Copyright (C) 2009 Daniel Nicoletti <dantti85-pk at yahoo.com.br>
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; see the file COPYING. If not, write to
+// the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+// Boston, MA 02111-1307, USA.
+//
+
+#ifndef GST_MATCHER_H
+#define GST_MATCHER_H
+
+#include <regex.h>
+
+#include <glib.h>
+
+#include <vector>
+#include <map>
+#include <string>
+
+using namespace std;
+
+class gstMatcher
+{
+public:
+ gstMatcher(gchar **values);
+ ~gstMatcher();
+
+};
+
+#endif
diff --git a/backends/aptcc/pk-backend-aptcc.cpp b/backends/aptcc/pk-backend-aptcc.cpp
index c46e1c8..3659b01 100644
--- a/backends/aptcc/pk-backend-aptcc.cpp
+++ b/backends/aptcc/pk-backend-aptcc.cpp
@@ -1058,9 +1058,9 @@ backend_search_package_thread (PkBackend *backend)
continue;
}
+ pkgCache::VerIterator ver = m_apt->find_ver(pkg);
if (m_matcher->matches(pkg.Name())) {
// Don't insert virtual packages instead add what it provides
- pkgCache::VerIterator ver = m_apt->find_ver(pkg);
if (ver.end() == false) {
output.push_back(pair<pkgCache::PkgIterator, pkgCache::VerIterator>(pkg, ver));
} else {
@@ -1079,12 +1079,9 @@ backend_search_package_thread (PkBackend *backend)
}
} else {
// Don't insert virtual packages instead add what it provides
- pkgCache::VerIterator ver = m_apt->find_ver(pkg);
if (ver.end() == false) {
- if (m_matcher->matches(get_default_short_description(ver, m_apt->packageRecords))
- || m_matcher->matches(get_default_long_description(ver, m_apt->packageRecords))
- || m_matcher->matches(get_short_description(ver, m_apt->packageRecords))
- || m_matcher->matches(get_long_description(ver, m_apt->packageRecords)))
+ if (m_matcher->matches(get_short_description(ver, m_apt->packageRecords))
+ || m_matcher->matches(get_long_description(ver, m_apt->packageRecords)))
{
output.push_back(pair<pkgCache::PkgIterator, pkgCache::VerIterator>(pkg, ver));
}
@@ -1098,11 +1095,8 @@ backend_search_package_thread (PkBackend *backend)
{
// we add the package now because we will need to
// remove duplicates later anyway
- if (m_matcher->matches(Prv.OwnerPkg().Name())
- || m_matcher->matches(get_default_short_description(ver, m_apt->packageRecords))
- || m_matcher->matches(get_default_long_description(ver, m_apt->packageRecords))
- || m_matcher->matches(get_short_description(ver, m_apt->packageRecords))
- || m_matcher->matches(get_long_description(ver, m_apt->packageRecords)))
+ if (m_matcher->matches(get_short_description(ver, m_apt->packageRecords))
+ || m_matcher->matches(get_long_description(ver, m_apt->packageRecords)))
{
output.push_back(pair<pkgCache::PkgIterator, pkgCache::VerIterator>(Prv.OwnerPkg(), ver));
}
commit 1abc688aed199cf91061ff614fd6d8bdbabffbb6
Author: Daniel Nicoletti <dantti85-pk at yahoo.com.br>
Date: Tue Nov 23 23:57:13 2010 -0200
aptcc: link aptcc to gstreamer
diff --git a/backends/aptcc/Makefile.am b/backends/aptcc/Makefile.am
index 087175b..e78676f 100644
--- a/backends/aptcc/Makefile.am
+++ b/backends/aptcc/Makefile.am
@@ -13,9 +13,9 @@ libpk_backend_aptcc_la_SOURCES = pkg_acqfile.cpp \
apt.cpp \
pk-backend-aptcc.cpp
libpk_backend_aptcc_la_LIBADD = -lcrypt $(PK_PLUGIN_LIBS)
-libpk_backend_aptcc_la_LDFLAGS = -module -avoid-version $(APTCC_LIBS) $(GST_LIBS)
+libpk_backend_aptcc_la_LDFLAGS = -module -avoid-version $(APTCC_LIBS) $(GSTREAMER_LIBS)
libpk_backend_aptcc_la_CFLAGS = $(PK_PLUGIN_CFLAGS)
-libpk_backend_aptcc_la_CPPFLAGS = $(PK_PLUGIN_CFLAGS) $(APTCC_CFLAGS)
+libpk_backend_aptcc_la_CPPFLAGS = $(PK_PLUGIN_CFLAGS) $(APTCC_CFLAGS) $(GSTREAMER_CFLAGS)
aptconfdir = ${SYSCONFDIR}/apt/apt.conf.d
aptconf_DATA = 20packagekit
diff --git a/configure.ac b/configure.ac
index f499542..d044d05 100644
--- a/configure.ac
+++ b/configure.ac
@@ -671,7 +671,10 @@ if test x$enable_aptcc = xyes; then
AC_SUBST(APTCC_CFLAGS)
AC_SUBST(APTCC_LIBS)
- AC_CHECK_LIB([gstreamer-0.10], [gst_init], AC_SUBST([GST_LIBS], [`pkg-config âlibs gstreamer-0.10`]), AC_MSG_ERROR([Gstreamer-0.10 not found], [2]))
+ PKG_CHECK_MODULES(GSTREAMER, gstreamer-0.10 gstreamer-base-0.10 gstreamer-plugins-base-0.10,,
+ [AC_MSG_ERROR([Can't find the gstreamer libraries -- please install libgstreamermm-0.10-dev])])
+ AC_SUBST(GSTREAMER_CFLAGS)
+ AC_SUBST(GSTREAMER_LIBS)
AC_MSG_CHECKING([whether apt includes the automatic dependency removal patch (required)])
commit 493962f8a4e3fa368500b38574ea7f74bb107fa2
Author: fri <pavelfric at seznam.cz>
Date: Tue Nov 23 17:46:00 2010 +0000
l10n: Updated Czech (cs) translation to 100%
New status: 375 messages complete with 0 fuzzies and 0 untranslated.
Transmitted-via: Transifex (www.transifex.net).
diff --git a/po/cs.po b/po/cs.po
index af4b089..0658394 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -4,14 +4,14 @@
#
# Vojtech Smejkal <smejkalv at gmail.com>, 2008.
# Adam Pribyl <pribyl at lowlevel.cz>, 2008.
-# Pavel Frix <fripohled.blogspot.com>, 2010.
+# Pavel Fric <fripohled.blogspot.com>, 2010.
msgid ""
msgstr ""
"Project-Id-Version: packagekit.master.cs\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-11-21 07:25+0000\n"
-"PO-Revision-Date: 2010-11-21 18:00+0100\n"
-"Last-Translator: Pavel Frix <fripohled.blogspot.com>\n"
+"PO-Revision-Date: 2010-11-21 20:28+0100\n"
+"Last-Translator: Pavel Fric <fripohled.blogspot.com>\n"
"Language-Team: Czech <fedora-cs-list at redhat.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
commit 1202584b683b58b8c37bcdc74ad4f80103bfb9cd
Author: Cheng-Chia Tseng <pswo10680 at gmail.com>
Date: Tue Nov 23 06:25:06 2010 +0000
l10n: Updated Chinese (Taiwan) (zh_TW) translation to 100%
New status: 375 messages complete with 0 fuzzies and 0 untranslated.
Transmitted-via: Transifex (www.transifex.net).
diff --git a/po/zh_TW.po b/po/zh_TW.po
index 01be68b..f75178b 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: packagekit.master\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-08-12 01:24+0000\n"
-"PO-Revision-Date: 2010-08-17 13:10+0800\n"
+"POT-Creation-Date: 2010-11-22 07:19+0000\n"
+"PO-Revision-Date: 2010-11-23 14:24+0800\n"
"Last-Translator: Cheng-Chia Tseng <pswo10680 at gmail.com>\n"
"Language-Team: chinese-l10n <chinese-l10n at googlegroups.com>\n"
"MIME-Version: 1.0\n"
@@ -19,115 +19,119 @@ msgstr ""
#. TRANSLATORS: this is an atomic transaction
#. TRANSLATORS: the role is the point of the transaction, e.g. update-system
-#: ../client/pk-console.c:176 ../client/pk-console.c:598
+#: ../client/pk-console.c:174
+#: ../client/pk-console.c:596
msgid "Transaction"
msgstr "èçäºé
"
#. TRANSLATORS: this is the time the transaction was started in system timezone
-#: ../client/pk-console.c:178
+#: ../client/pk-console.c:176
msgid "System time"
msgstr "系統æé"
#. TRANSLATORS: this is if the transaction succeeded or not
-#: ../client/pk-console.c:180
+#: ../client/pk-console.c:178
msgid "Succeeded"
msgstr "æå"
-#: ../client/pk-console.c:180
+#: ../client/pk-console.c:178
msgid "True"
msgstr "True"
-#: ../client/pk-console.c:180
+#: ../client/pk-console.c:178
msgid "False"
msgstr "False"
#. TRANSLATORS: this is the transactions role, e.g. "update-system"
#. TRANSLATORS: the trasaction role, e.g. update-system
-#: ../client/pk-console.c:182 ../src/pk-polkit-action-lookup.c:332
+#: ../client/pk-console.c:180
+#: ../src/pk-polkit-action-lookup.c:332
msgid "Role"
msgstr "ä»»å"
#. TRANSLATORS: this is The duration of the transaction
-#: ../client/pk-console.c:187
+#: ../client/pk-console.c:185
msgid "Duration"
-msgstr "æçºæé"
+msgstr "æé"
-#: ../client/pk-console.c:187
+#: ../client/pk-console.c:185
msgid "(seconds)"
msgstr "(ç§)"
#. TRANSLATORS: this is The command line used to do the action
#. TRANSLATORS: the command line of the thing that wants the authentication
-#: ../client/pk-console.c:191 ../src/pk-polkit-action-lookup.c:346
+#: ../client/pk-console.c:189
+#: ../src/pk-polkit-action-lookup.c:346
msgid "Command line"
msgstr "æ令å"
#. TRANSLATORS: this is the user ID of the user that started the action
-#: ../client/pk-console.c:193
+#: ../client/pk-console.c:191
msgid "User ID"
msgstr "使ç¨è
ID"
#. TRANSLATORS: this is the username, e.g. hughsie
-#: ../client/pk-console.c:200
+#: ../client/pk-console.c:198
msgid "Username"
msgstr "使ç¨è
å稱"
#. TRANSLATORS: this is the users real name, e.g. "Richard Hughes"
-#: ../client/pk-console.c:204
+#: ../client/pk-console.c:202
msgid "Real name"
msgstr "ç實å稱"
-#: ../client/pk-console.c:212
+#: ../client/pk-console.c:210
msgid "Affected packages:"
msgstr "åå½±é¿çå¥ä»¶ï¼"
-#: ../client/pk-console.c:214
+#: ../client/pk-console.c:212
msgid "Affected packages: None"
msgstr "åå½±é¿çå¥ä»¶ï¼ç¡"
#. TRANSLATORS: this is the distro, e.g. Fedora 10
-#: ../client/pk-console.c:249
+#: ../client/pk-console.c:247
msgid "Distribution"
msgstr "ç¼è¡ç"
#. TRANSLATORS: this is type of update, stable or testing
-#: ../client/pk-console.c:251
+#: ../client/pk-console.c:249
msgid "Type"
msgstr "é¡å"
#. TRANSLATORS: this is any summary text describing the upgrade
#. TRANSLATORS: this is the summary of the group
-#: ../client/pk-console.c:253 ../client/pk-console.c:292
+#: ../client/pk-console.c:251
+#: ../client/pk-console.c:290
msgid "Summary"
msgstr "æè¦"
#. TRANSLATORS: this is the group category name
-#: ../client/pk-console.c:281
+#: ../client/pk-console.c:279
msgid "Category"
msgstr "åé¡"
#. TRANSLATORS: this is group identifier
-#: ../client/pk-console.c:283
+#: ../client/pk-console.c:281
msgid "ID"
msgstr "ID"
#. TRANSLATORS: this is the parent group
-#: ../client/pk-console.c:286
+#: ../client/pk-console.c:284
msgid "Parent"
msgstr "親代"
#. TRANSLATORS: this is the name of the parent group
-#: ../client/pk-console.c:289
+#: ../client/pk-console.c:287
msgid "Name"
msgstr "å稱"
#. TRANSLATORS: this is preferred icon for the group
-#: ../client/pk-console.c:295
+#: ../client/pk-console.c:293
msgid "Icon"
msgstr "å示"
#. TRANSLATORS: this is a header for the package that can be updated
-#: ../client/pk-console.c:341
+#: ../client/pk-console.c:339
msgid "Details about the update:"
msgstr "éæ¼æ´æ°ç詳細è³æï¼"
@@ -136,9 +140,10 @@ msgstr "éæ¼æ´æ°ç詳細è³æï¼"
#. TRANSLATORS: the package that is not signed by a known key
#. TRANSLATORS: the package name that was trying to be installed
#. TRANSLATORS: title, the names of the packages that the method is processing
-#: ../client/pk-console.c:347 ../client/pk-console.c:617
-#: ../lib/packagekit-glib2/pk-task-text.c:126
-#: ../lib/packagekit-glib2/pk-task-text.c:208
+#: ../client/pk-console.c:345
+#: ../client/pk-console.c:615
+#: ../lib/packagekit-glib2/pk-task-text.c:124
+#: ../lib/packagekit-glib2/pk-task-text.c:206
#: ../src/pk-polkit-action-lookup.c:357
msgid "Package"
msgid_plural "Packages"
@@ -146,200 +151,200 @@ msgstr[0] "å¥ä»¶"
msgstr[1] "å¥ä»¶"
#. TRANSLATORS: details about the update, any packages that this update updates
-#: ../client/pk-console.c:350
+#: ../client/pk-console.c:348
msgid "Updates"
msgstr "æ´æ°"
#. TRANSLATORS: details about the update, any packages that this update obsoletes
-#: ../client/pk-console.c:354
+#: ../client/pk-console.c:352
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:358 ../lib/packagekit-glib2/pk-task-text.c:211
+#: ../client/pk-console.c:356
+#: ../lib/packagekit-glib2/pk-task-text.c:209
msgid "Vendor"
msgstr "å» å"
#. TRANSLATORS: details about the update, the bugzilla URLs
-#: ../client/pk-console.c:362
+#: ../client/pk-console.c:360
msgid "Bugzilla"
msgstr "Bugzilla"
#. TRANSLATORS: details about the update, the CVE URLs
-#: ../client/pk-console.c:366
+#: ../client/pk-console.c:364
msgid "CVE"
msgstr "CVE"
#. TRANSLATORS: details about the update, if the package requires a restart
-#: ../client/pk-console.c:370
+#: ../client/pk-console.c:368
msgid "Restart"
msgstr "éæ°åå"
#. TRANSLATORS: details about the update, any description of the update
-#: ../client/pk-console.c:374
+#: ../client/pk-console.c:372
msgid "Update text"
msgstr "æ´æ°æå"
#. TRANSLATORS: details about the update, the changelog for the package
-#: ../client/pk-console.c:378
+#: ../client/pk-console.c:376
msgid "Changes"
msgstr "è®æ´"
#. TRANSLATORS: details about the update, the ongoing state of the update
-#: ../client/pk-console.c:382
+#: ../client/pk-console.c:380
msgid "State"
msgstr "çæ
"
#. TRANSLATORS: details about the update, date the update was issued
-#: ../client/pk-console.c:386
+#: ../client/pk-console.c:384
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:390 ../lib/packagekit-glib2/pk-console-shared.c:517
+#: ../client/pk-console.c:388
+#: ../lib/packagekit-glib2/pk-console-shared.c:515
msgid "Updated"
msgstr "å·²æ´æ°"
#. TRANSLATORS: if the repo is enabled
-#: ../client/pk-console.c:426
+#: ../client/pk-console.c:424
msgid "Enabled"
msgstr "å·²åç¨"
#. TRANSLATORS: if the repo is disabled
-#: ../client/pk-console.c:429
+#: ../client/pk-console.c:427
msgid "Disabled"
msgstr "å·²åç¨"
#. TRANSLATORS: a package requires the system to be restarted
-#: ../client/pk-console.c:461
+#: ../client/pk-console.c:459
msgid "System restart required by:"
msgstr "系統éæ°åå被æ¤éæ±ï¼"
#. TRANSLATORS: a package requires the session to be restarted
-#: ../client/pk-console.c:464
+#: ../client/pk-console.c:462
msgid "Session restart required:"
msgstr "éè¦éæ°ååä½æ¥é段ï¼"
#. TRANSLATORS: a package requires the system to be restarted due to a security update
-#: ../client/pk-console.c:467
+#: ../client/pk-console.c:465
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:470
+#: ../client/pk-console.c:468
msgid "Session restart (security) required:"
msgstr "éè¦éæ°åå (å®å
¨æ§) ä½æ¥é段ï¼"
#. TRANSLATORS: a package requires the application to be restarted
-#: ../client/pk-console.c:473
+#: ../client/pk-console.c:471
msgid "Application restart required by:"
msgstr "æç¨ç¨å¼éæ°åå被æ¤éæ±ï¼"
#. TRANSLATORS: This a list of details about the package
-#: ../client/pk-console.c:508
+#: ../client/pk-console.c:506
msgid "Package description"
msgstr "å¥ä»¶æè¿°"
#. TRANSLATORS: This a message (like a little note that may be of interest) from the transaction
-#: ../client/pk-console.c:539
+#: ../client/pk-console.c:537
msgid "Message:"
msgstr "è¨æ¯ï¼"
#. TRANSLATORS: This where the package has no files
-#: ../client/pk-console.c:560
+#: ../client/pk-console.c:558
msgid "No files"
msgstr "ç¡æªæ¡"
#. TRANSLATORS: This a list files contained in the package
-#: ../client/pk-console.c:565
+#: ../client/pk-console.c:563
msgid "Package files"
msgstr "å¥ä»¶æªæ¡"
#. TRANSLATORS: the percentage complete of the transaction
-#: ../client/pk-console.c:633
+#: ../client/pk-console.c:631
msgid "Percentage"
msgstr "ç¾åæ¯"
#. TRANSLATORS: the status of the transaction (e.g. downloading)
-#: ../client/pk-console.c:651
+#: ../client/pk-console.c:649
msgid "Status"
msgstr "çæ
"
#. TRANSLATORS: the results from the transaction
-#: ../client/pk-console.c:680
+#: ../client/pk-console.c:678
msgid "Results:"
msgstr "çµæï¼"
#. TRANSLATORS: we failed to get any results, which is pretty fatal in my book
-#: ../client/pk-console.c:687
+#: ../client/pk-console.c:685
msgid "Fatal error"
msgstr "å´éé¯èª¤"
+#. TRANSLATORS: the user asked to update everything, but there is nothing that can be updated
+#: ../client/pk-console.c:701
+msgid "There are no packages to update."
+msgstr "æ²æå¥ä»¶éè¦æ´æ°ã"
+
#. TRANSLATORS: the transaction failed in a way we could not expect
-#: ../client/pk-console.c:696
-#: ../contrib/command-not-found/pk-command-not-found.c:454
-#: ../contrib/command-not-found/pk-command-not-found.c:634
+#: ../client/pk-console.c:704
+#: ../contrib/command-not-found/pk-command-not-found.c:639
msgid "The transaction failed"
msgstr "èçäºé
失æ"
#. TRANSLATORS: print a message when there are no updates
-#: ../client/pk-console.c:727
+#: ../client/pk-console.c:733
msgid "There are no updates available at this time."
msgstr "æ¤å»å°ç¡æ´æ°å¯ç¨ã"
-#: ../client/pk-console.c:750
+#: ../client/pk-console.c:756
msgid "There are no upgrades available at this time."
msgstr "æ¤å»å°ç¡åç´å¯ç¨ã"
#. TRANSLATORS: a package needs to restart their system
-#: ../client/pk-console.c:817
+#: ../client/pk-console.c:823
msgid "Please restart the computer to complete the update."
msgstr "è«éæ°ååé»è
¦ä¾å®ææ´æ°ã"
#. TRANSLATORS: a package needs to restart the session
-#: ../client/pk-console.c:820
+#: ../client/pk-console.c:826
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:823
-msgid ""
-"Please restart the computer to complete the update as important security "
-"updates have been installed."
+#: ../client/pk-console.c:829
+msgid "Please restart the computer to complete the update as important security updates have been installed."
msgstr "å çºé大å®å
¨æ§æ´æ°å·²å®è£ï¼è«éæ°ååé»è
¦ä¾å®ææ´æ°åä½ã"
#. TRANSLATORS: a package needs to restart the session (due to security)
-#: ../client/pk-console.c:826
-msgid ""
-"Please logout and login to complete the update as important security updates "
-"have been installed."
+#: ../client/pk-console.c:832
+msgid "Please logout and login to complete the update as important security updates have been installed."
msgstr "å çºé大å®å
¨æ§æ´æ°å·²å®è£ï¼è«ç»åºä¸¦å次ç»å
¥ä¾å®ææ´æ°åä½ã"
#. TRANSLATORS: The user used 'pkcon install dave.rpm' rather than 'pkcon install-local dave.rpm'
-#: ../client/pk-console.c:852
+#: ../client/pk-console.c:858
#, c-format
-msgid ""
-"Expected package name, actually got file. Try using 'pkcon install-local %s' "
-"instead."
-msgstr ""
-"é æçå¥ä»¶å稱ï¼å·²å¯¦éåå¾æªæ¡ãåè©¦ä½¿ç¨ 'pkcon install-local %s' ä¾æ¿ä»£ã"
+msgid "Expected package name, actually got file. Try using 'pkcon install-local %s' instead."
+msgstr "é æçå¥ä»¶å稱ï¼å·²å¯¦éåå¾æªæ¡ãåè©¦ä½¿ç¨ 'pkcon install-local %s' ä¾æ¿ä»£ã"
#. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
-#: ../client/pk-console.c:860
+#: ../client/pk-console.c:866
#, 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:888
+#: ../client/pk-console.c:894
#, 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:916 ../client/pk-console.c:944
+#: ../client/pk-console.c:922
+#: ../client/pk-console.c:950
#, c-format
msgid "This tool could not find the package: %s"
msgstr "æ¤å·¥å
·ç¡æ³æ¾å°éåå¥ä»¶ï¼%s"
@@ -348,652 +353,680 @@ msgstr "æ¤å·¥å
·ç¡æ³æ¾å°éåå¥ä»¶ï¼%s"
#. TRANSLATORS: There was an error getting the dependencies for the package. The detailed error follows
#. TRANSLATORS: There was an error getting the details about the package. The detailed error follows
#. TRANSLATORS: The package name was not found in any software sources. The detailed error follows
-#: ../client/pk-console.c:972 ../client/pk-console.c:1000
-#: ../client/pk-console.c:1028 ../client/pk-console.c:1056
-#: ../client/pk-console.c:1084
+#: ../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
#, 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:1113
+#: ../client/pk-console.c:1119
msgid "The daemon crashed mid-transaction!"
msgstr "å¹å¾ç¨å¼æå£äº mid-transactionï¼"
#. TRANSLATORS: This is the header to the --help menu
-#: ../client/pk-console.c:1147
+#: ../client/pk-console.c:1153
msgid "PackageKit Console Interface"
msgstr "PackageKit 主æ§å°ä»é¢"
#. these are commands we can use with pkcon
-#: ../client/pk-console.c:1149
+#: ../client/pk-console.c:1155
msgid "Subcommands:"
msgstr "次æ令ï¼"
#. TRANSLATORS: we keep a database updated with the time that an action was last executed
-#: ../client/pk-console.c:1228
+#: ../client/pk-console.c:1234
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:1268 ../client/pk-monitor.c:373
+#: ../client/pk-console.c:1275
+#: ../client/pk-monitor.c:371
msgid "Show the program version and exit"
msgstr "顯示ç¨å¼çæ¬ç¶å¾é¢é"
#. TRANSLATORS: command line argument, use a filter to narrow down results
-#: ../client/pk-console.c:1271
+#: ../client/pk-console.c:1278
msgid "Set the filter, e.g. installed"
msgstr "è¨å®é濾æ¢ä»¶ï¼ä¾å¦ï¼installed"
#. TRANSLATORS: command line argument, use a non-standard install prefix
-#: ../client/pk-console.c:1274
+#: ../client/pk-console.c:1281
msgid "Set the install root, e.g. '/' or '/mnt/ltsp'"
msgstr "è¨å®å®è£çæ ¹ç®éï¼ä¾ï¼'/' æ '/mnt/ltsp'"
#. TRANSLATORS: command line argument, work asynchronously
-#: ../client/pk-console.c:1277
+#: ../client/pk-console.c:1284
msgid "Exit without waiting for actions to complete"
msgstr "ä¸çå¾
åä½å®æ便é¢é"
#. command line argument, do we ask questions
-#: ../client/pk-console.c:1280
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:527
+#: ../client/pk-console.c:1287
+#: ../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:1283
+#: ../client/pk-console.c:1290
msgid "Run the command using idle network bandwidth and also using less power"
msgstr "使ç¨éç½®çç¶²è·¯é »å¯¬èè¼å°çè½æºä¾å·è¡æ令"
#. TRANSLATORS: command line argument, just output without fancy formatting
-#: ../client/pk-console.c:1286
-msgid ""
-"Print to screen a machine readable output, rather than using animated widgets"
+#: ../client/pk-console.c:1293
+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:1296
+msgid "The maximum metadata cache age. Use -1 for 'never'."
+msgstr "æ大çä¸ä»è³æå¿«åæéãä½¿ç¨ -1 代表ãæ°¸é ãã"
+
#. TRANSLATORS: we failed to contact the daemon
-#: ../client/pk-console.c:1308
+#: ../client/pk-console.c:1333
msgid "Failed to contact PackageKit"
msgstr "è¯çµ¡ PackageKit 失æ"
#. TRANSLATORS: The user specified an incorrect filter
-#: ../client/pk-console.c:1370
+#: ../client/pk-console.c:1381
msgid "The proxy could not be set"
msgstr "ç¡æ³è¨å® proxy"
#. TRANSLATORS: The user specified an incorrect filter
-#: ../client/pk-console.c:1382
+#: ../client/pk-console.c:1393
msgid "The install root could not be set"
msgstr "ç¡æ³è¨å®å®è£çæ ¹ç®é"
#. TRANSLATORS: The user specified an incorrect filter
-#: ../client/pk-console.c:1394
+#: ../client/pk-console.c:1405
msgid "The filter specified was invalid"
msgstr "æå®çé濾æ¢ä»¶ç¡æ"
#. TRANSLATORS: a search type can be name, details, file, etc
-#: ../client/pk-console.c:1413
+#: ../client/pk-console.c:1424
msgid "A search type is required, e.g. name"
msgstr "éè¦é¸åæå°é¡åï¼ä¾å¦ï¼å稱"
#. TRANSLATORS: the user needs to provide a search term
-#: ../client/pk-console.c:1420 ../client/pk-console.c:1432
-#: ../client/pk-console.c:1444 ../client/pk-console.c:1456
+#: ../client/pk-console.c:1431
+#: ../client/pk-console.c:1443
+#: ../client/pk-console.c:1455
+#: ../client/pk-console.c:1467
msgid "A search term is required"
msgstr "éè¦è¼¸å
¥æå°ç¨çééµè©"
#. TRANSLATORS: the search type was provided, but invalid
-#: ../client/pk-console.c:1466
+#: ../client/pk-console.c:1477
msgid "Invalid search type"
msgstr "ç¡æçæå°é¡å"
#. TRANSLATORS: the user did not specify what they wanted to install
-#: ../client/pk-console.c:1472
+#: ../client/pk-console.c:1483
msgid "A package name to install is required"
msgstr "éè¦æè¦å®è£çå¥ä»¶å稱"
#. TRANSLATORS: the user did not specify what they wanted to install
-#: ../client/pk-console.c:1481
+#: ../client/pk-console.c:1492
msgid "A filename to install is required"
msgstr "éè¦æè¦å®è£çæªæ¡å稱"
#. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:1493
+#: ../client/pk-console.c:1503
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:1504
+#: ../client/pk-console.c:1514
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:1513
+#: ../client/pk-console.c:1523
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:1520
+#: ../client/pk-console.c:1530
msgid "Directory not found"
msgstr "æ¾ä¸å°ç®é"
#. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:1529
+#: ../client/pk-console.c:1539
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:1540
+#: ../client/pk-console.c:1550
msgid "A transaction identifier (tid) is required"
msgstr "éè¦èçäºé
èå¥ç¬¦ (tid)"
#. TRANSLATORS: The user did not specify a package name
-#: ../client/pk-console.c:1561
+#: ../client/pk-console.c:1571
msgid "A package name to resolve is required"
msgstr "éè¦æå®æ³è§£æå¥ä»¶çå稱"
#. TRANSLATORS: The user did not specify a repository (software source) name
-#: ../client/pk-console.c:1572 ../client/pk-console.c:1583
+#: ../client/pk-console.c:1582
+#: ../client/pk-console.c:1593
msgid "A repository name is required"
msgstr "éè¦æå®å¥ä»¶åº«å稱"
#. TRANSLATORS: The user didn't provide any data
-#: ../client/pk-console.c:1594
+#: ../client/pk-console.c:1604
msgid "A repo name, parameter and value are required"
msgstr "éè¦æå®ä¸åå¥ä»¶åº«å稱ãåæ¸åå¼"
#. TRANSLATORS: The user didn't specify what action to use
-#: ../client/pk-console.c:1611
+#: ../client/pk-console.c:1621
msgid "An action, e.g. 'update-system' is required"
msgstr "éè¦æå®ä¸é
åä½ï¼ä¾å¦ï¼ãupdate-systemã"
#. TRANSLATORS: The user specified an invalid action
-#: ../client/pk-console.c:1618
+#: ../client/pk-console.c:1628
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:1628 ../client/pk-console.c:1643
-#: ../client/pk-console.c:1652 ../client/pk-console.c:1672
-#: ../client/pk-console.c:1681 ../client/pk-generate-pack.c:316
+#: ../client/pk-console.c:1638
+#: ../client/pk-console.c:1652
+#: ../client/pk-console.c:1661
+#: ../client/pk-console.c:1681
+#: ../client/pk-console.c:1690
+#: ../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:1661
+#: ../client/pk-console.c:1670
msgid "A package provide string is required"
msgstr "éè¦æå®å¥ä»¶æä¾å串"
+#. TRANSLATORS: The user did not provide a distro name
+#: ../client/pk-console.c:1714
+msgid "A distribution name is required"
+msgstr "éè¦æç¼è¡çå稱"
+
+#. TRANSLATORS: The user did not provide an upgrade type
+#: ../client/pk-console.c:1720
+msgid "An upgrade type is required, e.g. 'minimal', 'default' or 'complete'"
+msgstr "éè¦æåç´é¡åï¼ä¾å¦ï¼ãminimalã(æå°)ããdefaultã(é è¨)ããcompleteã(å®æ´)"
+
#. TRANSLATORS: The user tried to use an unsupported option on the command line
-#: ../client/pk-console.c:1742
+#: ../client/pk-console.c:1770
#, c-format
msgid "Option '%s' is not supported"
msgstr "ä¸æ¯æ´ '%s' é¸é
"
#. TRANSLATORS: Generic failure of what they asked to do
-#: ../client/pk-console.c:1752
+#: ../client/pk-console.c:1780
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:255
+#: ../client/pk-generate-pack.c:253
msgid "Set the file name of dependencies to be excluded"
msgstr "è¨å®è¦æé¤çç¸ä¾æªå"
#. TRANSLATORS: the output location
-#: ../client/pk-generate-pack.c:258
+#: ../client/pk-generate-pack.c:256
msgid "The output file or directory (the current directory is used if omitted)"
msgstr "輸åºæªæç®é (è¥çç¥ç話æ使ç¨ç®åçç®é)"
#. TRANSLATORS: put a list of packages in the pack
-#: ../client/pk-generate-pack.c:261
+#: ../client/pk-generate-pack.c:259
msgid "The package to be put into the service pack"
msgstr "å°æ¾å
¥æåå
ä¸çå¥ä»¶"
#. TRANSLATORS: put all pending updates in the pack
-#: ../client/pk-generate-pack.c:264
+#: ../client/pk-generate-pack.c:262
msgid "Put all updates available in the service pack"
msgstr "å°ææå¯ç¨çå¥ä»¶æ¾å
¥æåå
ä¸"
#. TRANSLATORS: This is when the user fails to supply the correct arguments
-#: ../client/pk-generate-pack.c:300
+#: ../client/pk-generate-pack.c:298
msgid "Neither --package or --updates option selected."
msgstr "--package è --updates é¸é
çæªé¸åã"
#. TRANSLATORS: This is when the user fails to supply just one argument
-#: ../client/pk-generate-pack.c:308
+#: ../client/pk-generate-pack.c:306
msgid "Both options selected."
msgstr "å
©åé¸é
ç被é¸åã"
#. TRANSLATORS: This is when the user fails to supply the output
-#: ../client/pk-generate-pack.c:324
+#: ../client/pk-generate-pack.c:322
msgid "A output directory or file name is required"
msgstr "éè¦è¼¸åºç®éææªæ¡å稱"
#. TRANSLATORS: This is when the daemon is not-installed/broken and fails to startup
-#: ../client/pk-generate-pack.c:342
+#: ../client/pk-generate-pack.c:340
msgid "The daemon failed to startup"
msgstr "å¹å¾ç¨å¼åå失æ"
#. TRANSLATORS: This is when the backend doesn't have the capability to get-depends
#. TRANSLATORS: This is when the backend doesn't have the capability to download
-#: ../client/pk-generate-pack.c:353 ../client/pk-generate-pack.c:359
+#: ../client/pk-generate-pack.c:351
+#: ../client/pk-generate-pack.c:357
msgid "The package manager cannot perform this type of operation."
msgstr "å¥ä»¶ç®¡çå¡ç¡æ³å·è¡é種é¡åçæä½ã"
#. TRANSLATORS: This is when the distro didn't include libarchive support into PK
-#: ../client/pk-generate-pack.c:366
-msgid ""
-"Service packs cannot be created as PackageKit was not built with libarchive "
-"support."
+#: ../client/pk-generate-pack.c:364
+msgid "Service packs cannot be created as PackageKit was not built with libarchive support."
msgstr "æåå
ç¡æ³å»ºç«ï¼å çºå»ºæ§ PackageKit ææ²æåç¨ libarchive æ¯æ´ã"
#. TRANSLATORS: the user specified an absolute path, but didn't get the extension correct
-#: ../client/pk-generate-pack.c:377
+#: ../client/pk-generate-pack.c:375
msgid "If specifying a file, the service pack name must end with"
msgstr "è¥è¦æå®æªæ¡ç話ï¼æåå
å稱å¿
é 以æ¤çºçµå°¾"
#. TRANSLATORS: This is when file already exists
-#: ../client/pk-generate-pack.c:393
+#: ../client/pk-generate-pack.c:391
msgid "A pack with the same name already exists, do you want to overwrite it?"
msgstr "ææç¸åå稱çæåå
å·²ç¶åå¨ï¼æ¨è¦è¦å¯«éåæªæ¡åï¼"
#. TRANSLATORS: This is when the pack was not overwritten
-#: ../client/pk-generate-pack.c:396
+#: ../client/pk-generate-pack.c:394
msgid "The pack was not overwritten."
msgstr "æåå
æªè¢«è¦å¯«ã"
#. TRANSLATORS: This is when the temporary directory cannot be created, the directory name follows
-#: ../client/pk-generate-pack.c:409
+#: ../client/pk-generate-pack.c:407
msgid "Failed to create directory:"
msgstr "建ç«ç®é失æï¼"
#. TRANSLATORS: This is when the list of packages from the remote computer cannot be opened
-#: ../client/pk-generate-pack.c:421
+#: ../client/pk-generate-pack.c:419
msgid "Failed to open package list."
msgstr "éåå¥ä»¶æ¸
å®å¤±æã"
#. TRANSLATORS: The package name is being matched up to available packages
-#: ../client/pk-generate-pack.c:430
+#: ../client/pk-generate-pack.c:428
msgid "Finding package name."
msgstr "æ£å¨å°æ¾å¥ä»¶å稱ã"
#. TRANSLATORS: This is when the package cannot be found in any software source. The detailed error follows
-#: ../client/pk-generate-pack.c:434
+#: ../client/pk-generate-pack.c:432
#, c-format
msgid "Failed to find package '%s': %s"
msgstr "æ¾ä¸å°å¥ä»¶ã%sãï¼%s"
#. TRANSLATORS: This is telling the user we are in the process of making the pack
-#: ../client/pk-generate-pack.c:442
+#: ../client/pk-generate-pack.c:440
msgid "Creating service pack..."
msgstr "æ£å¨å»ºç«æåå
..."
#. TRANSLATORS: we succeeded in making the file
-#: ../client/pk-generate-pack.c:457
+#: ../client/pk-generate-pack.c:455
#, c-format
msgid "Service pack created '%s'"
msgstr "æåå
建ç«äºã%sã"
#. TRANSLATORS: we failed to make te file
-#: ../client/pk-generate-pack.c:462
+#: ../client/pk-generate-pack.c:460
#, c-format
msgid "Failed to create '%s': %s"
msgstr "ç¡æ³å»ºç«ã%sãï¼%s"
-#: ../client/pk-monitor.c:286
+#: ../client/pk-monitor.c:284
msgid "Failed to get daemon state"
msgstr "æªè½åå¾å¹å¾ç¨å¼çæ
"
-#: ../client/pk-monitor.c:351
+#: ../client/pk-monitor.c:349
msgid "Failed to get properties"
msgstr "æªè½åå¾å±¬æ§"
#. TRANSLATORS: this is a program that monitors PackageKit
-#: ../client/pk-monitor.c:389
+#: ../client/pk-monitor.c:387
msgid "PackageKit Monitor"
msgstr "PackageKit ç£æ§ç¨å¼"
#. TRANSLATORS: when we are getting data from the daemon
-#: ../contrib/browser-plugin/pk-plugin-install.c:497
+#: ../contrib/browser-plugin/pk-plugin-install.c:499
msgid "Getting package information..."
msgstr "æ£å¨åå¾å¥ä»¶è³è¨..."
#. TRANSLATORS: run an applicaiton
-#: ../contrib/browser-plugin/pk-plugin-install.c:503
+#: ../contrib/browser-plugin/pk-plugin-install.c:505
#, c-format
msgid "Run %s"
msgstr "å·è¡ %s"
#. TRANSLATORS: show the installed version of a package
-#: ../contrib/browser-plugin/pk-plugin-install.c:509
+#: ../contrib/browser-plugin/pk-plugin-install.c:511
msgid "Installed version"
msgstr "å·²å®è£ççæ¬"
#. TRANSLATORS: run the application now
-#: ../contrib/browser-plugin/pk-plugin-install.c:517
+#: ../contrib/browser-plugin/pk-plugin-install.c:519
#, c-format
msgid "Run version %s now"
msgstr "ç«å»å·è¡çæ¬ %s"
#. TRANSLATORS: run the application now
-#: ../contrib/browser-plugin/pk-plugin-install.c:523
+#: ../contrib/browser-plugin/pk-plugin-install.c:525
msgid "Run now"
msgstr "ç«å»å·è¡"
#. TRANSLATORS: update to a new version of the package
-#: ../contrib/browser-plugin/pk-plugin-install.c:529
+#: ../contrib/browser-plugin/pk-plugin-install.c:531
#, c-format
msgid "Update to version %s"
msgstr "æ´æ°è³çæ¬ %s"
#. TRANSLATORS: To install a package
-#: ../contrib/browser-plugin/pk-plugin-install.c:535
+#: ../contrib/browser-plugin/pk-plugin-install.c:537
#, c-format
msgid "Install %s now"
msgstr "ç«å»å®è£ %s"
#. TRANSLATORS: the version of the package
-#: ../contrib/browser-plugin/pk-plugin-install.c:538
+#: ../contrib/browser-plugin/pk-plugin-install.c:540
msgid "Version"
msgstr "çæ¬"
#. TRANSLATORS: noting found, so can't install
-#: ../contrib/browser-plugin/pk-plugin-install.c:543
+#: ../contrib/browser-plugin/pk-plugin-install.c:545
msgid "No packages found for your system"
msgstr "æ¾ä¸å°é©åæ¨ç³»çµ±çå¥ä»¶"
#. TRANSLATORS: package is being installed
-#: ../contrib/browser-plugin/pk-plugin-install.c:548
+#: ../contrib/browser-plugin/pk-plugin-install.c:550
msgid "Installing..."
msgstr "æ£å¨å®è£..."
#. TRANSLATORS: downloading repo data so we can search
-#: ../contrib/command-not-found/pk-command-not-found.c:367
+#: ../contrib/command-not-found/pk-command-not-found.c:366
msgid "Downloading details about the software sources."
msgstr "æ£å¨ä¸è¼éæ¼è»é«ä¾æºç詳細è³æã"
#. TRANSLATORS: downloading file lists so we can search
-#: ../contrib/command-not-found/pk-command-not-found.c:371
+#: ../contrib/command-not-found/pk-command-not-found.c:370
msgid "Downloading filelists (this may take some time to complete)."
msgstr "æ£å¨ä¸è¼æªæ¡æ¸
å® (éæè±ä¸ä¸æ®µæéæè½å®æ)ã"
#. TRANSLATORS: waiting for native lock
-#: ../contrib/command-not-found/pk-command-not-found.c:375
+#: ../contrib/command-not-found/pk-command-not-found.c:374
msgid "Waiting for package manager lock."
msgstr "æ£å¨çå¾
å¥ä»¶ç®¡çç¨å¼è§£éã"
#. TRANSLATORS: loading package cache so we can search
-#: ../contrib/command-not-found/pk-command-not-found.c:379
+#: ../contrib/command-not-found/pk-command-not-found.c:378
msgid "Loading list of packages."
msgstr "æ£å¨è¼å
¥å¥ä»¶æ¸
å®ã"
#. TRANSLATORS: we failed to find the package, this shouldn't happen
-#: ../contrib/command-not-found/pk-command-not-found.c:445
+#: ../contrib/command-not-found/pk-command-not-found.c:444
msgid "Failed to search for file"
msgstr "æå°æªæ¡å¤±æ"
+#. TRANSLATORS: the transaction failed in a way we could not expect
+#: ../contrib/command-not-found/pk-command-not-found.c:456
+msgid "Getting the list of files failed"
+msgstr "åå¾æªæ¡æ¸
å®å¤±æ"
+
#. TRANSLATORS: we failed to launch the executable, the error follows
-#: ../contrib/command-not-found/pk-command-not-found.c:597
+#: ../contrib/command-not-found/pk-command-not-found.c:602
msgid "Failed to launch:"
msgstr "åå失æï¼"
#. TRANSLATORS: we failed to install the package
-#: ../contrib/command-not-found/pk-command-not-found.c:625
+#: ../contrib/command-not-found/pk-command-not-found.c:630
msgid "Failed to install packages"
msgstr "å®è£å¥ä»¶å¤±æ"
#. TRANSLATORS: tool that gets called when the command is not found
-#: ../contrib/command-not-found/pk-command-not-found.c:701
+#: ../contrib/command-not-found/pk-command-not-found.c:706
msgid "PackageKit Command Not Found"
msgstr "æ¾ä¸å° PackageKit æ令"
-#. TRANSLATORS: the prefix of all the output telling the user why it's not executing
-#: ../contrib/command-not-found/pk-command-not-found.c:727
-msgid "Command not found."
-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:739
+msgid "command not found"
+msgstr "æ¾ä¸å°æ令"
#. TRANSLATORS: tell the user what we think the command is
-#: ../contrib/command-not-found/pk-command-not-found.c:745
+#: ../contrib/command-not-found/pk-command-not-found.c:757
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:771
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:785
+#: ../contrib/command-not-found/pk-command-not-found.c:794
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:801
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:819
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:808
+#: ../contrib/command-not-found/pk-command-not-found.c:826
#, 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:832
+#: ../contrib/command-not-found/pk-command-not-found.c:853
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:842
+#: ../contrib/command-not-found/pk-command-not-found.c:863
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:851
+#: ../contrib/command-not-found/pk-command-not-found.c:872
msgid "Please choose a package to install"
msgstr "è«é¸æ欲å®è£çå¥ä»¶"
#. TRANSLATORS: we are starting to install the packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:197
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:195
msgid "Starting install"
msgstr "æ£å¨éå§å®è£"
#. TRANSLATORS: we couldn't find the package name, non-fatal
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:409
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:407
#, c-format
msgid "Failed to find the package %s, or already installed: %s"
msgstr "æ¾ä¸å°å¥ä»¶ %sï¼ææ¯å·²ç¶å®è£äºï¼%s"
#. command line argument, simulate what would be done, but don't actually do it
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:518
-msgid ""
-"Don't actually install any packages, only simulate what would be installed"
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:516
+msgid "Don't actually install any packages, only simulate what would be installed"
msgstr "ä¸è¦ççå®è£ä»»ä½å¥ä»¶ï¼åªè¦æ¨¡æ¬è¦å®è£ä»éº¼å°±å¥½"
#. command line argument, do we skip packages that depend on the ones specified
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:521
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:519
msgid "Do not install dependencies of the core packages"
msgstr "ä¸è¦å®è£æ ¸å¿å¥ä»¶çç¸ä¾éä¿"
#. command line argument, do we operate quietly
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:524
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:522
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:542
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:540
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:556
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:554
#, c-format
msgid "ERROR: Specify package names to install."
msgstr "é¯èª¤ï¼æå®è¦å®è£çå¥ä»¶å稱ã"
#. TRANSLATORS: we are getting the list of repositories
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:592
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:590
#, c-format
msgid "Getting sources list"
msgstr "æ£å¨åå¾ä¾æºæ¸
å®"
#. TRANSLATORS: operation was not successful
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c: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
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:600
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:675
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:759
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:803
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:870
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:914
msgid "FAILED."
msgstr "失æã"
#. TRANSLATORS: all completed 100%
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c: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
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:615
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:655
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:690
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:774
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:818
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:885
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:929
#, c-format
msgid "OK."
msgstr "確å®ã"
#. TRANSLATORS: tell the user what we found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:620
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:618
#, c-format
msgid "Found %i enabled and %i disabled sources."
msgstr "æ¾å° %i ååç¨çè %i ååç¨çä¾æºã"
#. TRANSLATORS: we're finding repositories that match out pattern
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:627
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:625
#, c-format
msgid "Finding debugging sources"
msgstr "æ£å¨å°æ¾é¤é¯ä¾æº"
#. TRANSLATORS: tell the user what we found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:660
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:658
#, c-format
msgid "Found %i disabled debuginfo repos."
msgstr "æ¾å° %i ååç¨çé¤é¯è³è¨å¥ä»¶åº«ã"
#. TRANSLATORS: we're now enabling all the debug sources we found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:667
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:665
#, c-format
msgid "Enabling debugging sources"
msgstr "æ£å¨åç¨é¤é¯ä¾æº"
#. TRANSLATORS: tell the user how many we enabled
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:695
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:693
#, c-format
msgid "Enabled %i debugging sources."
msgstr "å·²åç¨ %i åé¤é¯ä¾æºã"
#. TRANSLATORS: we're now finding packages that match in all the repos
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:702
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:700
#, c-format
msgid "Finding debugging packages"
msgstr "æ£å¨å°æ¾é¤é¯å¥ä»¶"
#. TRANSLATORS: we couldn't find the package name, non-fatal
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:714
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:712
#, c-format
msgid "Failed to find the package %s: %s"
msgstr "æ¾ä¸å°å¥ä»¶ %sï¼%s"
#. TRANSLATORS: we couldn't find the debuginfo package name, non-fatal
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:737
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:735
#, c-format
msgid "Failed to find the debuginfo package %s: %s"
msgstr "æ¾ä¸å°é¤é¯è³è¨å¥ä»¶ %sï¼%s"
#. TRANSLATORS: no debuginfo packages could be found to be installed
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:765
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:763
#, c-format
msgid "Found no packages to install."
msgstr "æ¾ä¸å°è¦å®è£çå¥ä»¶ã"
#. TRANSLATORS: tell the user we found some packages, and then list them
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:779
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:777
#, c-format
msgid "Found %i packages:"
msgstr "æ¾å° %i åå¥ä»¶ï¼"
#. TRANSLATORS: tell the user we are searching for deps
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:795
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:793
#, c-format
msgid "Finding packages that depend on these packages"
msgstr "æ£å¨å°æ¾ä¾è³´æ¼éäºå¥ä»¶çå¥ä»¶"
#. TRANSLATORS: could not install, detailed error follows
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:808
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:806
#, c-format
msgid "Could not find dependant packages: %s"
msgstr "æ¾ä¸å°ä¾è³´çå¥ä»¶ï¼%s"
#. TRANSLATORS: tell the user we found some more packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:824
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:822
#, c-format
msgid "Found %i extra packages."
msgstr "æ¾å° %i åé¡å¤å¥ä»¶ã"
#. TRANSLATORS: tell the user we found some more packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:828
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:826
#, c-format
msgid "No extra packages required."
msgstr "ä¸éè¦é¡å¤çå¥ä»¶ã"
#. TRANSLATORS: tell the user we found some packages (and deps), and then list them
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:837
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:835
#, c-format
msgid "Found %i packages to install:"
msgstr "æ¾å° %i åå¥ä»¶è¦å®è£ï¼"
#. TRANSLATORS: simulate mode is a testing mode where we quit before the action
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:850
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:848
#, c-format
msgid "Not installing packages in simulate mode"
msgstr "å¨æ¨¡æ¬æ¨¡å¼å
§ä¸æå®è£å¥ä»¶"
#. TRANSLATORS: we are now installing the debuginfo packages we found earlier
#. TRANSLATORS: transaction state, installing packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:862
-#: ../lib/packagekit-glib2/pk-console-shared.c:289
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:860
+#: ../lib/packagekit-glib2/pk-console-shared.c:287
#, c-format
msgid "Installing packages"
msgstr "æ£å¨å®è£å¥ä»¶"
#. TRANSLATORS: could not install, detailed error follows
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:875
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:873
#, c-format
msgid "Could not install packages: %s"
msgstr "ç¡æ³å®è£å¥ä»¶ï¼%s"
#. TRANSLATORS: we are now disabling all debuginfo repos we previously enabled
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:907
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:905
#, c-format
msgid "Disabling sources previously enabled"
msgstr "æ£å¨åç¨å
ååç¨çä¾æº"
#. TRANSLATORS: no debuginfo packages could be found to be installed, detailed error follows
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:919
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:917
#, c-format
msgid "Could not disable the debugging sources: %s"
msgstr "ç¡æ³åç¨é¤é¯ä¾æºï¼%s"
#. TRANSLATORS: we disabled all the debugging repos that we enabled before
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:934
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:932
#, c-format
msgid "Disabled %i debugging sources."
msgstr "å·²åç¨ %i åé¤é¯ä¾æºã"
@@ -1100,604 +1133,617 @@ msgstr "PackageKit å¥ä»¶æ¸
å®"
msgid "PackageKit Service Pack"
msgstr "PackageKit æåå
"
-#: ../lib/packagekit-glib2/pk-console-shared.c:65
+#: ../lib/packagekit-glib2/pk-console-shared.c:63
#, 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:191
+#: ../lib/packagekit-glib2/pk-console-shared.c:189
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:202
+#: ../lib/packagekit-glib2/pk-console-shared.c:200
msgid "Please choose the correct package: "
msgstr "è«é¸ææ£ç¢ºçå¥ä»¶ï¼"
#. TRANSLATORS: This is when the transaction status is not known
-#: ../lib/packagekit-glib2/pk-console-shared.c:257
+#: ../lib/packagekit-glib2/pk-console-shared.c:255
msgid "Unknown state"
msgstr "ä¸æççæ
"
#. TRANSLATORS: transaction state, the daemon is in the process of starting
-#: ../lib/packagekit-glib2/pk-console-shared.c:261
+#: ../lib/packagekit-glib2/pk-console-shared.c:259
msgid "Starting"
msgstr "æ£å¨éå§"
#. TRANSLATORS: transaction state, the transaction is waiting for another to complete
-#: ../lib/packagekit-glib2/pk-console-shared.c:265
+#: ../lib/packagekit-glib2/pk-console-shared.c:263
msgid "Waiting in queue"
msgstr "æ£å¨ä¾ä½åçå¾
"
#. TRANSLATORS: transaction state, just started
-#: ../lib/packagekit-glib2/pk-console-shared.c:269
+#: ../lib/packagekit-glib2/pk-console-shared.c:267
msgid "Running"
msgstr "æ£å¨å·è¡"
#. TRANSLATORS: transaction state, is querying data
-#: ../lib/packagekit-glib2/pk-console-shared.c:273
+#: ../lib/packagekit-glib2/pk-console-shared.c:271
msgid "Querying"
msgstr "æ£å¨æ¥è©¢"
#. TRANSLATORS: transaction state, getting data from a server
-#: ../lib/packagekit-glib2/pk-console-shared.c:277
+#: ../lib/packagekit-glib2/pk-console-shared.c:275
msgid "Getting information"
msgstr "æ£å¨åå¾è³è¨"
#. TRANSLATORS: transaction state, removing packages
-#: ../lib/packagekit-glib2/pk-console-shared.c:281
+#: ../lib/packagekit-glib2/pk-console-shared.c:279
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:285
-#: ../lib/packagekit-glib2/pk-console-shared.c:663
+#: ../lib/packagekit-glib2/pk-console-shared.c:283
+#: ../lib/packagekit-glib2/pk-console-shared.c:661
msgid "Downloading packages"
msgstr "æ£å¨ä¸è¼å¥ä»¶"
#. TRANSLATORS: transaction state, refreshing internal lists
-#: ../lib/packagekit-glib2/pk-console-shared.c:293
+#: ../lib/packagekit-glib2/pk-console-shared.c:291
msgid "Refreshing software list"
msgstr "æ£å¨éæ°æ´çè»é«æ¸
å®"
#. TRANSLATORS: transaction state, installing updates
-#: ../lib/packagekit-glib2/pk-console-shared.c:297
+#: ../lib/packagekit-glib2/pk-console-shared.c:295
msgid "Installing updates"
msgstr "æ£å¨å®è£æ´æ°"
#. TRANSLATORS: transaction state, removing old packages, and cleaning config files
-#: ../lib/packagekit-glib2/pk-console-shared.c:301
+#: ../lib/packagekit-glib2/pk-console-shared.c:299
msgid "Cleaning up packages"
msgstr "æ£å¨æ¸
çå¥ä»¶"
#. TRANSLATORS: transaction state, obsoleting old packages
-#: ../lib/packagekit-glib2/pk-console-shared.c:305
+#: ../lib/packagekit-glib2/pk-console-shared.c:303
msgid "Obsoleting packages"
msgstr "æ£å¨å»¢æ£å¥ä»¶"
#. TRANSLATORS: transaction state, checking the transaction before we do it
-#: ../lib/packagekit-glib2/pk-console-shared.c:309
+#: ../lib/packagekit-glib2/pk-console-shared.c:307
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:313
+#: ../lib/packagekit-glib2/pk-console-shared.c:311
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:317
-#: ../lib/packagekit-glib2/pk-console-shared.c:623
+#: ../lib/packagekit-glib2/pk-console-shared.c:315
+#: ../lib/packagekit-glib2/pk-console-shared.c:621
msgid "Rolling back"
msgstr "æ£å¨å復"
#. TRANSLATORS: transaction state, when we're doing a test transaction
-#: ../lib/packagekit-glib2/pk-console-shared.c:321
+#: ../lib/packagekit-glib2/pk-console-shared.c:319
msgid "Testing changes"
msgstr "æ£å¨æ¸¬è©¦è®æ´"
#. TRANSLATORS: transaction state, when we're writing to the system package database
-#: ../lib/packagekit-glib2/pk-console-shared.c:325
+#: ../lib/packagekit-glib2/pk-console-shared.c:323
msgid "Committing changes"
msgstr "æ£å¨é交è®æ´"
#. TRANSLATORS: transaction state, requesting data from a server
-#: ../lib/packagekit-glib2/pk-console-shared.c:329
+#: ../lib/packagekit-glib2/pk-console-shared.c:327
msgid "Requesting data"
msgstr "æ£å¨è«æ±è³æ"
#. TRANSLATORS: transaction state, all done!
-#: ../lib/packagekit-glib2/pk-console-shared.c:333
+#: ../lib/packagekit-glib2/pk-console-shared.c:331
msgid "Finished"
msgstr "å·²å®æ"
#. TRANSLATORS: transaction state, in the process of cancelling
-#: ../lib/packagekit-glib2/pk-console-shared.c:337
+#: ../lib/packagekit-glib2/pk-console-shared.c:335
msgid "Cancelling"
msgstr "æ£å¨åæ¶"
#. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:341
+#: ../lib/packagekit-glib2/pk-console-shared.c:339
msgid "Downloading repository information"
msgstr "æ£å¨ä¸è¼å¥ä»¶åº«è³è¨"
#. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:345
+#: ../lib/packagekit-glib2/pk-console-shared.c:343
msgid "Downloading list of packages"
msgstr "æ£å¨ä¸è¼å¥ä»¶æ¸
å®"
#. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:349
+#: ../lib/packagekit-glib2/pk-console-shared.c:347
msgid "Downloading file lists"
msgstr "æ£å¨ä¸è¼æªæ¡æ¸
å®"
#. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:353
+#: ../lib/packagekit-glib2/pk-console-shared.c:351
msgid "Downloading lists of changes"
msgstr "æ£å¨ä¸è¼è®æ´çæ¸
å®"
#. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:357
+#: ../lib/packagekit-glib2/pk-console-shared.c:355
msgid "Downloading groups"
msgstr "æ£å¨ä¸è¼ç¾¤çµ"
#. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:361
+#: ../lib/packagekit-glib2/pk-console-shared.c:359
msgid "Downloading update information"
msgstr "æ£å¨ä¸è¼æ´æ°è³è¨"
#. TRANSLATORS: transaction state, repackaging delta files
-#: ../lib/packagekit-glib2/pk-console-shared.c:365
+#: ../lib/packagekit-glib2/pk-console-shared.c:363
msgid "Repackaging files"
msgstr "æ£å¨éæ°å
è£æªæ¡"
#. TRANSLATORS: transaction state, loading databases
-#: ../lib/packagekit-glib2/pk-console-shared.c:369
+#: ../lib/packagekit-glib2/pk-console-shared.c:367
msgid "Loading cache"
msgstr "æ£å¨è¼å
¥å¿«å"
#. TRANSLATORS: transaction state, scanning for running processes
-#: ../lib/packagekit-glib2/pk-console-shared.c:373
+#: ../lib/packagekit-glib2/pk-console-shared.c:371
msgid "Scanning applications"
msgstr "æ£å¨æææç¨ç¨å¼"
#. TRANSLATORS: transaction state, generating a list of packages installed on the system
-#: ../lib/packagekit-glib2/pk-console-shared.c:377
+#: ../lib/packagekit-glib2/pk-console-shared.c:375
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:381
+#: ../lib/packagekit-glib2/pk-console-shared.c:379
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:385
+#: ../lib/packagekit-glib2/pk-console-shared.c:383
msgid "Waiting for authentication"
msgstr "æ£å¨çåèªè"
#. TRANSLATORS: transaction state, we are updating the list of processes
-#: ../lib/packagekit-glib2/pk-console-shared.c:389
+#: ../lib/packagekit-glib2/pk-console-shared.c:387
msgid "Updating running applications"
msgstr "æ£å¨æ´æ°æ£å¨å·è¡ä¸çæç¨ç¨å¼"
#. TRANSLATORS: transaction state, we are checking executable files currently in use
-#: ../lib/packagekit-glib2/pk-console-shared.c:393
+#: ../lib/packagekit-glib2/pk-console-shared.c:391
msgid "Checking applications in use"
msgstr "æ£å¨æª¢æ¥ä½¿ç¨ä¸çæç¨ç¨å¼"
#. TRANSLATORS: transaction state, we are checking for libraries currently in use
-#: ../lib/packagekit-glib2/pk-console-shared.c:397
+#: ../lib/packagekit-glib2/pk-console-shared.c:395
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:401
+#: ../lib/packagekit-glib2/pk-console-shared.c:399
msgid "Copying files"
msgstr "æ£å¨è¤è£½æªæ¡"
#. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:419
+#: ../lib/packagekit-glib2/pk-console-shared.c:417
msgid "Trivial"
msgstr "å°"
#. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:423
+#: ../lib/packagekit-glib2/pk-console-shared.c:421
msgid "Normal"
msgstr "ä¸è¬"
#. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:427
+#: ../lib/packagekit-glib2/pk-console-shared.c:425
msgid "Important"
msgstr "éè¦"
#. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:431
+#: ../lib/packagekit-glib2/pk-console-shared.c:429
msgid "Security"
msgstr "å®å
¨æ§"
#. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:435
+#: ../lib/packagekit-glib2/pk-console-shared.c:433
msgid "Bug fix "
msgstr "é¯èª¤ä¿®æ£"
#. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:439
+#: ../lib/packagekit-glib2/pk-console-shared.c:437
msgid "Enhancement"
msgstr "å¢å¼·"
#. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:443
+#: ../lib/packagekit-glib2/pk-console-shared.c:441
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:448
-#: ../lib/packagekit-glib2/pk-console-shared.c:521
+#: ../lib/packagekit-glib2/pk-console-shared.c:446
+#: ../lib/packagekit-glib2/pk-console-shared.c:519
msgid "Installed"
msgstr "å·²å®è£"
#. TRANSLATORS: The state of a package, i.e. not installed
-#: ../lib/packagekit-glib2/pk-console-shared.c:453
+#: ../lib/packagekit-glib2/pk-console-shared.c:451
msgid "Available"
msgstr "å¯ç¨"
#. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:471
+#: ../lib/packagekit-glib2/pk-console-shared.c:469
msgid "Downloading"
msgstr "æ£å¨ä¸è¼"
#. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:475
+#: ../lib/packagekit-glib2/pk-console-shared.c:473
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:479
-#: ../lib/packagekit-glib2/pk-console-shared.c:599
+#: ../lib/packagekit-glib2/pk-console-shared.c:477
+#: ../lib/packagekit-glib2/pk-console-shared.c:597
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:483
-#: ../lib/packagekit-glib2/pk-console-shared.c:595
+#: ../lib/packagekit-glib2/pk-console-shared.c:481
+#: ../lib/packagekit-glib2/pk-console-shared.c:593
msgid "Removing"
msgstr "æ£å¨ç§»é¤"
#. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:487
+#: ../lib/packagekit-glib2/pk-console-shared.c:485
msgid "Cleaning up"
msgstr "æ£å¨æ¸
é¤"
#. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:491
+#: ../lib/packagekit-glib2/pk-console-shared.c:489
msgid "Obsoleting"
msgstr "æ£å¨å»¢æ£"
#. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:495
+#: ../lib/packagekit-glib2/pk-console-shared.c:493
msgid "Reinstalling"
msgstr "æ£å¨éæ°å®è£"
#. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:513
+#: ../lib/packagekit-glib2/pk-console-shared.c:511
msgid "Downloaded"
msgstr "å·²ä¸è¼"
#. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:525
+#: ../lib/packagekit-glib2/pk-console-shared.c:523
msgid "Removed"
msgstr "已移é¤"
#. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:529
+#: ../lib/packagekit-glib2/pk-console-shared.c:527
msgid "Cleaned up"
msgstr "å·²æ¸
é¤"
#. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:533
+#: ../lib/packagekit-glib2/pk-console-shared.c:531
msgid "Obsoleted"
msgstr "已廢æ£"
#. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:537
+#: ../lib/packagekit-glib2/pk-console-shared.c:535
msgid "Reinstalled"
msgstr "å·²éæ°å®è£"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:555
+#: ../lib/packagekit-glib2/pk-console-shared.c:553
msgid "Unknown role type"
msgstr "æªç¥çä»»åé¡å"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:559
+#: ../lib/packagekit-glib2/pk-console-shared.c:557
msgid "Getting dependencies"
msgstr "æ£å¨åå¾ç¸å®¹æ§"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:563
+#: ../lib/packagekit-glib2/pk-console-shared.c:561
msgid "Getting update details"
msgstr "æ£å¨åå¾æ´æ°è©³ç´°è³æ"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:567
+#: ../lib/packagekit-glib2/pk-console-shared.c:565
msgid "Getting details"
msgstr "æ£å¨åå¾è©³ç´°è³æ"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:571
+#: ../lib/packagekit-glib2/pk-console-shared.c:569
msgid "Getting requires"
msgstr "æ£å¨åå¾éæ±"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:575
+#: ../lib/packagekit-glib2/pk-console-shared.c:573
msgid "Getting updates"
msgstr "æ£å¨åå¾æ´æ°"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:579
+#: ../lib/packagekit-glib2/pk-console-shared.c:577
msgid "Searching by details"
msgstr "æ£å¨ä¾è©³ç´°è³ææå°"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:583
+#: ../lib/packagekit-glib2/pk-console-shared.c:581
msgid "Searching by file"
msgstr "æ£å¨ä¾æªæ¡æå°"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:587
+#: ../lib/packagekit-glib2/pk-console-shared.c:585
msgid "Searching groups"
msgstr "æ£å¨æå°ç¾¤çµ"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:591
+#: ../lib/packagekit-glib2/pk-console-shared.c:589
msgid "Searching by name"
msgstr "æ£å¨ä¾å稱æå°"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:603
+#: ../lib/packagekit-glib2/pk-console-shared.c:601
msgid "Installing files"
msgstr "æ£å¨å®è£æªæ¡"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:607
+#: ../lib/packagekit-glib2/pk-console-shared.c:605
msgid "Refreshing cache"
msgstr "æ£å¨éæ°æ´çå¿«å"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:611
+#: ../lib/packagekit-glib2/pk-console-shared.c:609
msgid "Updating packages"
msgstr "æ£å¨æ´æ°å¥ä»¶"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:615
+#: ../lib/packagekit-glib2/pk-console-shared.c:613
msgid "Updating system"
msgstr "æ£å¨æ´æ°ç³»çµ±"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:619
+#: ../lib/packagekit-glib2/pk-console-shared.c:617
msgid "Canceling"
msgstr "æ£å¨åæ¶"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:627
+#: ../lib/packagekit-glib2/pk-console-shared.c:625
msgid "Getting repositories"
msgstr "æ£å¨åå¾å¥ä»¶åº«"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:631
+#: ../lib/packagekit-glib2/pk-console-shared.c:629
msgid "Enabling repository"
msgstr "æ£å¨åç¨å¥ä»¶åº«"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:635
+#: ../lib/packagekit-glib2/pk-console-shared.c:633
msgid "Setting data"
msgstr "æ£å¨è¨å®è³æ"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:639
+#: ../lib/packagekit-glib2/pk-console-shared.c:637
msgid "Resolving"
msgstr "æ£å¨è§£æ"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:643
+#: ../lib/packagekit-glib2/pk-console-shared.c:641
msgid "Getting file list"
msgstr "æ£å¨åå¾æªæ¡æ¸
å®"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:647
+#: ../lib/packagekit-glib2/pk-console-shared.c:645
msgid "Getting provides"
msgstr "æ£å¨åå¾æä¾ä»éº¼"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:651
+#: ../lib/packagekit-glib2/pk-console-shared.c:649
msgid "Installing signature"
msgstr "æ£å¨å®è£ç°½ç« "
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:655
+#: ../lib/packagekit-glib2/pk-console-shared.c:653
msgid "Getting packages"
msgstr "æ£å¨åå¾å¥ä»¶"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:659
+#: ../lib/packagekit-glib2/pk-console-shared.c:657
msgid "Accepting EULA"
msgstr "æ£å¨æ¥åçµç«¯ä½¿ç¨è
ææ¬åææ¸"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:667
+#: ../lib/packagekit-glib2/pk-console-shared.c:665
msgid "Getting upgrades"
msgstr "æ£å¨åå¾åç´"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:671
+#: ../lib/packagekit-glib2/pk-console-shared.c:669
msgid "Getting categories"
msgstr "æ£å¨åå¾åé¡"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:675
+#: ../lib/packagekit-glib2/pk-console-shared.c:673
msgid "Getting transactions"
msgstr "æ£å¨åå¾èçäºé
"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:679
-#: ../lib/packagekit-glib2/pk-console-shared.c:683
+#: ../lib/packagekit-glib2/pk-console-shared.c:677
+#: ../lib/packagekit-glib2/pk-console-shared.c:681
msgid "Simulating install"
msgstr "æ£å¨æ¨¡æ¬å®è£"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:687
+#: ../lib/packagekit-glib2/pk-console-shared.c:685
msgid "Simulating remove"
msgstr "æ£å¨æ¨¡æ¬ç§»é¤"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:691
+#: ../lib/packagekit-glib2/pk-console-shared.c:689
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:69
+#: ../lib/packagekit-glib2/pk-task-text.c:67
msgid "Do you want to allow installing of unsigned software?"
msgstr "æ¨æ³è¦å
許æªç°½ç½²è»é«çå®è£åï¼"
#. TRANSLATORS: tell the user we've not done anything
-#: ../lib/packagekit-glib2/pk-task-text.c:74
+#: ../lib/packagekit-glib2/pk-task-text.c:72
msgid "The unsigned software will not be installed."
msgstr "æªç°½ç½²çè»é«ä¸æ被å®è£ã"
#. TRANSLATORS: the package repository is signed by a key that is not recognised
-#: ../lib/packagekit-glib2/pk-task-text.c:123
+#: ../lib/packagekit-glib2/pk-task-text.c:121
msgid "Software source signature required"
msgstr "éè¦è»é«ä¾æºç°½ç« "
#. TRANSLATORS: the package repository name
-#: ../lib/packagekit-glib2/pk-task-text.c:129
+#: ../lib/packagekit-glib2/pk-task-text.c:127
msgid "Software source name"
msgstr "è»é«ä¾æºå稱"
#. TRANSLATORS: the key URL
-#: ../lib/packagekit-glib2/pk-task-text.c:132
+#: ../lib/packagekit-glib2/pk-task-text.c:130
msgid "Key URL"
msgstr "éé° URL"
#. TRANSLATORS: the username of the key
-#: ../lib/packagekit-glib2/pk-task-text.c:135
+#: ../lib/packagekit-glib2/pk-task-text.c:133
msgid "Key user"
msgstr "éé°ä½¿ç¨è
"
#. TRANSLATORS: the key ID, usually a few hex digits
-#: ../lib/packagekit-glib2/pk-task-text.c:138
+#: ../lib/packagekit-glib2/pk-task-text.c:136
msgid "Key ID"
msgstr "éé° ID"
#. TRANSLATORS: the key fingerprint, again, yet more hex
-#: ../lib/packagekit-glib2/pk-task-text.c:141
+#: ../lib/packagekit-glib2/pk-task-text.c:139
msgid "Key fingerprint"
msgstr "éé°æç´"
#. TRANSLATORS: the timestamp (a bit like a machine readable time)
-#: ../lib/packagekit-glib2/pk-task-text.c:144
+#: ../lib/packagekit-glib2/pk-task-text.c:142
msgid "Key Timestamp"
msgstr "éé°æéæ³è¨"
#. TRANSLATORS: ask the user if they want to import
-#: ../lib/packagekit-glib2/pk-task-text.c:157
+#: ../lib/packagekit-glib2/pk-task-text.c:155
msgid "Do you accept this signature?"
msgstr "æ¨æ¯å¦æ¥åæ¤ç°½ç« ï¼"
#. TRANSLATORS: tell the user we've not done anything
-#: ../lib/packagekit-glib2/pk-task-text.c:162
+#: ../lib/packagekit-glib2/pk-task-text.c:160
msgid "The signature was not accepted."
msgstr "ç°½ç« æªè¢«æ¥åã"
#. TRANSLATORS: this is another name for a software licence that has to be read before installing
-#: ../lib/packagekit-glib2/pk-task-text.c:205
+#: ../lib/packagekit-glib2/pk-task-text.c:203
msgid "End user licence agreement required"
msgstr "éè¦æ¥åçµç«¯ä½¿ç¨è
ææ¬åææ¸"
#. TRANSLATORS: the EULA text itself (long and boring)
-#: ../lib/packagekit-glib2/pk-task-text.c:214
+#: ../lib/packagekit-glib2/pk-task-text.c:212
msgid "Agreement"
msgstr "åææ¸"
#. TRANSLATORS: ask the user if they've read and accepted the EULA
-#: ../lib/packagekit-glib2/pk-task-text.c:223
+#: ../lib/packagekit-glib2/pk-task-text.c:221
msgid "Do you accept this agreement?"
msgstr "æ¨æ¯å¦æ¥åæ¤åææ¸ï¼"
#. TRANSLATORS: tell the user we've not done anything
-#: ../lib/packagekit-glib2/pk-task-text.c:228
+#: ../lib/packagekit-glib2/pk-task-text.c:226
msgid "The agreement was not accepted."
msgstr "åææ¸æªè¢«æ¥åã"
#. TRANSLATORS: the user needs to change media inserted into the computer
-#: ../lib/packagekit-glib2/pk-task-text.c:267
+#: ../lib/packagekit-glib2/pk-task-text.c:265
msgid "Media change required"
msgstr "éè¦è®æ´åªé«"
#. TRANSLATORS: the type, e.g. DVD, CD, etc
-#: ../lib/packagekit-glib2/pk-task-text.c:270
+#: ../lib/packagekit-glib2/pk-task-text.c:268
msgid "Media type"
msgstr "åªé«é¡å"
#. TRANSLATORS: the media label, usually like 'disk-1of3'
-#: ../lib/packagekit-glib2/pk-task-text.c:273
+#: ../lib/packagekit-glib2/pk-task-text.c:271
msgid "Media label"
msgstr "åªé«æ¨ç±¤"
#. TRANSLATORS: the media description, usually like 'Fedora 12 disk 5'
-#: ../lib/packagekit-glib2/pk-task-text.c:276
+#: ../lib/packagekit-glib2/pk-task-text.c:274
msgid "Text"
msgstr "æå"
#. TRANSLATORS: ask the user to insert the media
-#: ../lib/packagekit-glib2/pk-task-text.c:282
+#: ../lib/packagekit-glib2/pk-task-text.c:280
msgid "Please insert the correct media"
msgstr "è«æå
¥æ£ç¢ºåªé«"
#. TRANSLATORS: tell the user we've not done anything as they are lazy
-#: ../lib/packagekit-glib2/pk-task-text.c:287
+#: ../lib/packagekit-glib2/pk-task-text.c:285
msgid "The correct media was not inserted."
msgstr "æ²ææå
¥æ£ç¢ºåªé«ã"
#. TRANSLATORS: When processing, we might have to remove other dependencies
-#: ../lib/packagekit-glib2/pk-task-text.c:302
+#: ../lib/packagekit-glib2/pk-task-text.c:300
msgid "The following packages have to be removed:"
msgstr "ä¸åå¥ä»¶å¿
é 被移é¤æï¼"
#. TRANSLATORS: When processing, we might have to install other dependencies
-#: ../lib/packagekit-glib2/pk-task-text.c:307
+#: ../lib/packagekit-glib2/pk-task-text.c:305
msgid "The following packages have to be installed:"
msgstr "ä¸åå¥ä»¶è¦è¢«å®è£ï¼"
#. TRANSLATORS: When processing, we might have to update other dependencies
-#: ../lib/packagekit-glib2/pk-task-text.c:312
+#: ../lib/packagekit-glib2/pk-task-text.c:310
msgid "The following packages have to be updated:"
msgstr "ä¸åå¥ä»¶è¦è¢«æ´æ°ï¼"
#. TRANSLATORS: When processing, we might have to reinstall other dependencies
-#: ../lib/packagekit-glib2/pk-task-text.c:317
+#: ../lib/packagekit-glib2/pk-task-text.c:315
msgid "The following packages have to be reinstalled:"
msgstr "ä¸åå¥ä»¶è¦è¢«éæ°å®è£ï¼"
#. TRANSLATORS: When processing, we might have to downgrade other dependencies
-#: ../lib/packagekit-glib2/pk-task-text.c:322
+#: ../lib/packagekit-glib2/pk-task-text.c:320
msgid "The following packages have to be downgraded:"
msgstr "ä¸åå¥ä»¶è¦è¢«éç´ï¼"
#. TRANSLATORS: ask the user if the proposed changes are okay
-#: ../lib/packagekit-glib2/pk-task-text.c:382
+#: ../lib/packagekit-glib2/pk-task-text.c:380
msgid "Proceed with changes?"
msgstr "è¦èçè®æ´åï¼"
#. TRANSLATORS: tell the user we didn't do anything
-#: ../lib/packagekit-glib2/pk-task-text.c:387
+#: ../lib/packagekit-glib2/pk-task-text.c:385
msgid "The transaction did not proceed."
msgstr "該èçäºé
æ²æå·è¡ã"
@@ -1716,8 +1762,7 @@ msgid "Authentication is required to accept a EULA"
msgstr "è¦æ¥åçµç«¯ä½¿ç¨è
ææ¬æ¢æ¬¾åè°éå
ç¶é身份èªè"
#: ../policy/org.freedesktop.packagekit.policy.in.h:9
-msgid ""
-"Authentication is required to cancel a task that was not started by yourself"
+msgid "Authentication is required to cancel a task that was not started by yourself"
msgstr "è¥è¦åæ¶ä¸é
並éç±æ¨ååçå·¥ä½ï¼æ¨å¿
é å
ç¶é身份èªè"
#: ../policy/org.freedesktop.packagekit.policy.in.h:10
@@ -1725,14 +1770,11 @@ msgid "Authentication is required to change software source parameters"
msgstr "è¦æ´æ¹è»é«ä¾æºåæ¸éå
ç¶é身份èªè"
#: ../policy/org.freedesktop.packagekit.policy.in.h:11
-msgid ""
-"Authentication is required to change the location used to decompress packages"
+msgid "Authentication is required to change the location used to decompress packages"
msgstr "è¦è®æ´ç¨ä¾è§£å£ç¸®å¥ä»¶çä½ç½®éå
éé身份èªè"
#: ../policy/org.freedesktop.packagekit.policy.in.h:12
-msgid ""
-"Authentication is required to consider a key used for signing packages as "
-"trusted"
+msgid "Authentication is required to consider a key used for signing packages as trusted"
msgstr "è¦å°ä¸åç¨ä¾ç°½ç½²å¥ä»¶çéé°åçºå·²ä¿¡ä»»çéé°éå
ç¶é身份èªè"
#: ../policy/org.freedesktop.packagekit.policy.in.h:13
@@ -1760,21 +1802,23 @@ msgid "Authentication is required to rollback a transaction"
msgstr "è¦å復èçäºé
éè¦å
ç¶é身份èªè"
#: ../policy/org.freedesktop.packagekit.policy.in.h:19
-msgid ""
-"Authentication is required to set the network proxy used for downloading "
-"packages"
+msgid "Authentication is required to set the network proxy used for downloading packages"
msgstr "è¦è¨å®ç¨ä¾ä¸è¼å¥ä»¶ç網路代ç伺æå¨ éå
ç¶é身份èªè"
#: ../policy/org.freedesktop.packagekit.policy.in.h:20
msgid "Authentication is required to update packages"
msgstr "è¦æ´æ°å¥ä»¶éå
ç¶é身份èªè"
+#: ../policy/org.freedesktop.packagekit.policy.in.h:21
+msgid "Authentication is required to upgrade the operating system"
+msgstr "è¦åç´ä½æ¥ç³»çµ±éå
éé身份èªè"
+
#. SECURITY:
#. - Normal users are allowed to cancel their own task without
#. authentication, but a different user id needs the admin password
#. to cancel another users task.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:26
+#: ../policy/org.freedesktop.packagekit.policy.in.h:27
msgid "Cancel foreign task"
msgstr "åæ¶å¤ä¾å·¥ä½"
@@ -1784,7 +1828,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:33
+#: ../policy/org.freedesktop.packagekit.policy.in.h:34
msgid "Change location that packages are installed"
msgstr "è®æ´å¥ä»¶è¦å®è£çä½ç½®"
@@ -1793,7 +1837,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:39
+#: ../policy/org.freedesktop.packagekit.policy.in.h:40
msgid "Change software source parameters"
msgstr "æ´æ¹è»é«ä¾æºåæ¸"
@@ -1803,7 +1847,7 @@ msgstr "æ´æ¹è»é«ä¾æºåæ¸"
#. - Paranoid users (or parents!) can change this to 'auth_admin' or
#. 'auth_admin_keep'.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:46
+#: ../policy/org.freedesktop.packagekit.policy.in.h:47
msgid "Install signed package"
msgstr "å®è£å·²ç°½ç½²çå¥ä»¶"
@@ -1813,7 +1857,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:53
+#: ../policy/org.freedesktop.packagekit.policy.in.h:54
msgid "Install untrusted local file"
msgstr "å®è£æªä¿¡ä»»çæ¬å°æªæ¡"
@@ -1821,7 +1865,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:58
+#: ../policy/org.freedesktop.packagekit.policy.in.h:59
msgid "Refresh system sources"
msgstr "éæ°æ´ç系統ä¾æº"
@@ -1832,7 +1876,7 @@ msgstr "éæ°æ´ç系統ä¾æº"
#. try to rebind drivers in use, for instance security authentication
#. devices.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:66
+#: ../policy/org.freedesktop.packagekit.policy.in.h:67
msgid "Reload a device"
msgstr "éæ°è¼å
¥è£ç½®"
@@ -1845,7 +1889,7 @@ msgstr "éæ°è¼å
¥è£ç½®"
#. be removed. If this is not possible, change this authentication to
#. 'auth_admin'.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:76
+#: ../policy/org.freedesktop.packagekit.policy.in.h:77
msgid "Remove package"
msgstr "移é¤å¥ä»¶"
@@ -1854,7 +1898,7 @@ msgstr "移é¤å¥ä»¶"
#. as this will change a large number of packages, and could expose the
#. system to previously patched security vulnerabilities.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:82
+#: ../policy/org.freedesktop.packagekit.policy.in.h:83
msgid "Rollback to a previous transaction"
msgstr "å復è³ä¸ä¸åèçäºé
"
@@ -1862,7 +1906,7 @@ msgstr "å復è³ä¸ä¸åèçäºé
"
#. - Normal users do not require admin authentication to set the proxy
#. used for downloading packages.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:87
+#: ../policy/org.freedesktop.packagekit.policy.in.h:88
msgid "Set network proxy"
msgstr "è¨å®ç¶²è·¯ä»£ç伺æå¨"
@@ -1872,7 +1916,7 @@ msgstr "è¨å®ç¶²è·¯ä»£ç伺æå¨"
#. without a secure authentication.
#. - This is not kept as each package should be authenticated.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:94
+#: ../policy/org.freedesktop.packagekit.policy.in.h:95
msgid "Trust a key used for signing packages"
msgstr "ä¿¡ä»»ä¸åç¨ä¾ç°½ç½²å¥ä»¶çéé°"
@@ -1883,10 +1927,19 @@ msgstr "ä¿¡ä»»ä¸åç¨ä¾ç°½ç½²å¥ä»¶çéé°"
#. - Changing this to anything other than 'yes' will break unattended
#. updates.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:102
+#: ../policy/org.freedesktop.packagekit.policy.in.h:103
msgid "Update packages"
msgstr "æ´æ°å¥ä»¶"
+#. SECURITY:
+#. - Normal users require admin authentication to upgrade the disto as
+#. this can make the system unbootable or stop other applications from
+#. working.
+#.
+#: ../policy/org.freedesktop.packagekit.policy.in.h:109
+msgid "Upgrade System"
+msgstr "åç´ç³»çµ±"
+
#. TRANSLATORS: failed due to DBus security
#: ../src/pk-main.c:87
msgid "Startup failed due to security policies on this machine."
@@ -1904,9 +1957,7 @@ msgstr "æ£ç¢ºç使ç¨è
(ä¸è¬çº root) æ²æååå¯å·è¡æª"
#. TRANSLATORS: or we are installed in a prefix
#: ../src/pk-main.c:93
-msgid ""
-"The org.freedesktop.PackageKit.conf file is not installed in the system "
-"directory:"
+msgid "The org.freedesktop.PackageKit.conf file is not installed in the system directory:"
msgstr "org.freedesktop.PackageKit.conf æªæ¡å°æªå®è£å¨ç³»çµ±ç®éä¸ï¼"
#. TRANSLATORS: a backend is the system package tool, e.g. yum, apt
@@ -1947,10 +1998,10 @@ msgstr "PackageKit æå"
#. TRANSLATORS: fatal error, dbus is not running
#: ../src/pk-main.c:267
msgid "Cannot connect to the system bus"
-msgstr "ç¡æ³é£æ¥è³ç³»çµ± bus"
+msgstr "ç¡æ³é£æ¥è³ç³»çµ±å¯æµ"
#. TRANSLATORS: cannot register on system bus, unknown reason -- geeky error follows
-#: ../src/pk-main.c:318
+#: ../src/pk-main.c:316
msgid "Error trying to start:"
msgstr "å試ååæç¼çé¯èª¤ï¼"
@@ -1959,7 +2010,8 @@ msgid "To install debugging packages, extra sources need to be enabled"
msgstr "è¦å®è£é¤é¯å¥ä»¶ï¼éè¦åç¨é¡å¤çä¾æº"
#. TRANSLATORS: is not GPG signed
-#: ../src/pk-polkit-action-lookup.c:171 ../src/pk-polkit-action-lookup.c:190
+#: ../src/pk-polkit-action-lookup.c:171
+#: ../src/pk-polkit-action-lookup.c:190
msgid "The software is not from a trusted source."
msgstr "éåè»é«ä¸¦éä¾èªä¿¡ä»»çä¾æºã"
@@ -1989,123 +2041,72 @@ msgstr "許å¤å¥ä»¶"
msgid "Only trusted"
msgstr "åªæä¿¡ä»»ç"
-#. TRANSLATORS: turn on all debugging
-#: ../src/egg-debug.c:388
-msgid "Show debugging information for all files"
-msgstr "顯示ä¾æææªæ¡ç¨çé¡å¤é¤é¯è³è¨"
-
-#. TRANSLATORS: a list of modules to debug
-#: ../src/egg-debug.c:458
-msgid "Debug these specific modules"
-msgstr "éå°éäºæå®ç模çµé¤é¯"
-
-#. TRANSLATORS: a list of functions to debug
-#: ../src/egg-debug.c:461
-msgid "Debug these specific functions"
-msgstr "éå°éäºæå®çåè½é¤é¯"
-
-#. TRANSLATORS: save to a log
-#: ../src/egg-debug.c:464
-msgid "Log debugging data to a file"
-msgstr "å°é¤é¯è³æç´éå°æªæ¡"
-
-#: ../src/egg-debug.c:468
-msgid "Debugging Options"
-msgstr "é¤é¯é¸é
"
-
-#: ../src/egg-debug.c:468
-msgid "Show debugging options"
-msgstr "顯示é¤é¯é¸é
"
-
+#~ msgid "Debug these specific modules"
+#~ msgstr "éå°éäºæå®ç模çµé¤é¯"
+#~ msgid "Debug these specific functions"
+#~ msgstr "éå°éäºæå®çåè½é¤é¯"
+#~ msgid "Log debugging data to a file"
+#~ msgstr "å°é¤é¯è³æç´éå°æªæ¡"
#~ msgid "Cannot install when offline"
#~ msgstr "ç¶é¢ç·æç¡æ³å®è£"
-
#~ msgid "Cannot refresh cache whilst offline"
#~ msgstr "ç¶é¢ç·æç¡æ³éæ°æ´çå¿«å"
-
#~ msgid "Please restart the application as it is being used."
#~ msgstr "è«éæ°ååæç¨ç¨å¼å çºè©²æç¨ç¨å¼æ£è¢«ä½¿ç¨ä¸ã"
-
#~ msgid "This tool could not install the files: %s"
#~ msgstr "æ¤å·¥å
·ç¡æ³å®è£æªæ¡ï¼%s"
-
#~ msgid "This tool could not remove the packages: %s"
#~ msgstr "æ¤å·¥å
·ç¡æ³ç§»é¤å¥ä»¶ï¼%s"
-
#~ msgid "Proceed removing additional packages?"
#~ msgstr "æ¯å¦è¦é²è¡ç§»é¤é¡å¤å¥ä»¶ï¼"
-
#~ msgid "The package removal was canceled!"
#~ msgstr "å¥ä»¶ç§»é¤å·²åæ¶ï¼"
-
#~ msgid "This tool could not download the package %s as it could not be found"
#~ msgstr "æ¤å·¥å
·ç¡æ³ä¸è¼ %s å¥ä»¶å çºæ¾ä¸å°è©²å¥ä»¶"
-
#~ msgid "This tool could not download the packages: %s"
#~ msgstr "æ¤å·¥å
·ç¡æ³ä¸è¼å¥ä»¶ï¼%s"
-
#~ msgid "This tool could not update %s: %s"
#~ msgstr "æ¤å·¥å
·ç¡æ³æ´æ° %sï¼%s"
-
#~ msgid "This tool could not get the requirements for %s: %s"
#~ msgstr "æ¤å·¥å
·ç¡æ³åå¾ %s çéæ±ï¼%s"
-
#~ msgid "This tool could not get the dependencies for %s: %s"
#~ msgstr "æ¤å·¥å
·ç¡æ³åå¾ %s çç¸ä¾æ§ï¼%s"
-
#~ msgid "This tool could not get package details for %s: %s"
#~ msgstr "æ¤å·¥å
·ç¡æ³åå¾ %s çå¥ä»¶è©³ç´°è³æï¼%s"
-
#~ msgid "This tool could not find the files for %s: %s"
#~ msgstr "æ¤å·¥å
·æ¾ä¸å° %s çæªæ¡ï¼%s"
-
#~ msgid "This tool could not get the file list for %s: %s"
#~ msgstr "æ¤å·¥å
·ç¡æ³åå¾ %s çæªæ¡æ¸
å®ï¼%s"
-
#~ msgid "File already exists: %s"
#~ msgstr "æªæ¡å·²ç¶åå¨ï¼%s"
-
#~ msgid "This tool could not get package list: %s"
#~ msgstr "æ¤å·¥å
·ç¡æ³åå¾å¥ä»¶æ¸
å®ï¼%s"
-
#~ msgid "File does not exist: %s"
#~ msgstr "æªæ¡ä¸åå¨ï¼%s"
-
#~ msgid "Packages to add"
#~ msgstr "è¦æ°å¢çå¥ä»¶"
-
#~ msgid "Packages to remove"
#~ msgstr "è¦ç§»é¤çå¥ä»¶"
-
#~ msgid "not found."
#~ msgstr "æ¾ä¸å°ã"
-
#~ msgid "No packages can be found to install"
#~ msgstr "æ¾ä¸å°è¦å®è£çå¥ä»¶"
-
#~ msgid "This tool could not find the update details for %s: %s"
#~ msgstr "æ¤å·¥å
·æ¾ä¸å° %s çæ´æ°è©³ç´°è³æï¼%s"
-
#~ msgid "This tool could not get the update details for %s: %s"
#~ msgstr "æ¤å·¥å
·ç¡æ³åå¾ %s çæ´æ°è©³ç´°è³æï¼%s"
-
#~ msgid "Error:"
#~ msgstr "é¯èª¤ï¼"
-
#~ msgid "Do you agree to this license?"
#~ msgstr "æ¨æ¯å¦åææ¤ææ¬åç´ï¼"
-
#~ msgid "The license was refused."
#~ msgstr "å·²æçµææ¬åç´ã"
-
#~ msgid "This tool could not connect to system DBUS."
#~ msgstr "æ¤å·¥å
·ç¡æ³é£æ¥è³ç³»çµ±ç DBUSã"
-
#~ msgid "A list file name to create is required"
#~ msgstr "éè¦æ³å»ºç«çæ¸
å®æªå"
-
#~ msgid "A list file to open is required"
#~ msgstr "éè¦æ³éåçæ¸
å®æªæ¡"
-
#~ msgid "Incorrect privileges for this operation"
#~ msgstr "å·è¡éé
æä½çæ¬éä¸å°"
+
commit 1159d027ea527aac94e338d0b8790dc2c6e41d28
Author: fri <pavelfric at seznam.cz>
Date: Sun Nov 21 17:04:16 2010 +0000
l10n: Updated Czech (cs) translation to 100%
New status: 375 messages complete with 0 fuzzies and 0 untranslated.
Transmitted-via: Transifex (www.transifex.net).
diff --git a/po/cs.po b/po/cs.po
index 4b11769..af4b089 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -4,1564 +4,1765 @@
#
# Vojtech Smejkal <smejkalv at gmail.com>, 2008.
# Adam Pribyl <pribyl at lowlevel.cz>, 2008.
+# Pavel Frix <fripohled.blogspot.com>, 2010.
msgid ""
msgstr ""
"Project-Id-Version: packagekit.master.cs\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-09-04 08:25+0000\n"
-"PO-Revision-Date: 2009-09-07 16:56+0100\n"
-"Last-Translator: Dušan Hokův <dusan at mirc.cz>\n"
+"POT-Creation-Date: 2010-11-21 07:25+0000\n"
+"PO-Revision-Date: 2010-11-21 18:00+0100\n"
+"Last-Translator: Pavel Frix <fripohled.blogspot.com>\n"
"Language-Team: Czech <fedora-cs-list at redhat.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Lokalize 0.2\n"
+"X-Generator: Lokalize 1.1\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. TRANSLATORS: this is an atomic transaction
-#: ../client/pk-console.c:238
-#: ../client/pk-console-test.c:146
+#. TRANSLATORS: the role is the point of the transaction, e.g. update-system
+#: ../client/pk-console.c:174 ../client/pk-console.c:596
msgid "Transaction"
msgstr "Transakce"
#. TRANSLATORS: this is the time the transaction was started in system timezone
-#: ../client/pk-console.c:240
-#: ../client/pk-console-test.c:148
+#: ../client/pk-console.c:176
msgid "System time"
msgstr "Systémový Äas"
#. TRANSLATORS: this is if the transaction succeeded or not
-#: ../client/pk-console.c:242
-#: ../client/pk-console-test.c:150
+#: ../client/pk-console.c:178
msgid "Succeeded"
msgstr "ÃspÄÅ¡né"
-#: ../client/pk-console.c:242
-#: ../client/pk-console-test.c:150
+#: ../client/pk-console.c:178
msgid "True"
msgstr "Pravda"
-#: ../client/pk-console.c:242
-#: ../client/pk-console-test.c:150
+#: ../client/pk-console.c:178
msgid "False"
msgstr "Nepravda"
#. TRANSLATORS: this is the transactions role, e.g. "update-system"
#. TRANSLATORS: the trasaction role, e.g. update-system
-#: ../client/pk-console.c:244
-#: ../client/pk-console-test.c:152
-#: ../src/pk-polkit-action-lookup.c:327
+#: ../client/pk-console.c:180 ../src/pk-polkit-action-lookup.c:332
msgid "Role"
-msgstr "Role"
+msgstr "Ãloha"
#. TRANSLATORS: this is The duration of the transaction
-#: ../client/pk-console.c:249
-#: ../client/pk-console-test.c:157
+#: ../client/pk-console.c:185
msgid "Duration"
msgstr "Doba trvánÃ"
-#: ../client/pk-console.c:249
-#: ../client/pk-console-test.c:157
+#: ../client/pk-console.c:185
msgid "(seconds)"
msgstr "(sekund)"
#. TRANSLATORS: this is The command line used to do the action
#. TRANSLATORS: the command line of the thing that wants the authentication
-#: ../client/pk-console.c:253
-#: ../client/pk-console-test.c:161
-#: ../src/pk-polkit-action-lookup.c:341
+#: ../client/pk-console.c:189 ../src/pk-polkit-action-lookup.c:346
msgid "Command line"
msgstr "PÅÃkazový Åádek"
#. TRANSLATORS: this is the user ID of the user that started the action
-#: ../client/pk-console.c:255
-#: ../client/pk-console-test.c:163
+#: ../client/pk-console.c:191
msgid "User ID"
msgstr "Uživatelské ID"
#. TRANSLATORS: this is the username, e.g. hughsie
-#: ../client/pk-console.c:262
-#: ../client/pk-console-test.c:170
+#: ../client/pk-console.c:198
msgid "Username"
msgstr "Uživatelské jméno"
#. TRANSLATORS: this is the users real name, e.g. "Richard Hughes"
-#: ../client/pk-console.c:266
-#: ../client/pk-console-test.c:174
+#: ../client/pk-console.c:202
msgid "Real name"
msgstr "SkuteÄné jméno"
-#: ../client/pk-console.c:274
-#: ../client/pk-console-test.c:182
+#: ../client/pk-console.c:210
msgid "Affected packages:"
-msgstr "OvlivnÄné balÃky:"
+msgstr "OvlivnÄné balÃÄky:"
-#: ../client/pk-console.c:276
-#: ../client/pk-console-test.c:184
+#: ../client/pk-console.c:212
msgid "Affected packages: None"
msgstr "OvlivnÄné balÃÄky: Žádné"
-#. TRANSLATORS: When processing, we might have to remove other dependencies
-#: ../client/pk-console.c:337
-#: ../client/pk-task-text.c:208
-msgid "The following packages have to be removed:"
-msgstr "NásledujÃcà balÃky musà být odstranÄny:"
-
-#. TRANSLATORS: When processing, we might have to install other dependencies
-#: ../client/pk-console.c:340
-#: ../client/pk-task-text.c:213
-msgid "The following packages have to be installed:"
-msgstr "NásledujÃcà balÃky musà být instalovány:"
-
-#. TRANSLATORS: When processing, we might have to update other dependencies
-#: ../client/pk-console.c:343
-#: ../client/pk-task-text.c:218
-msgid "The following packages have to be updated:"
-msgstr "NásledujÃcà balÃky musà být aktualizovány:"
-
-#. TRANSLATORS: When processing, we might have to reinstall other dependencies
-#: ../client/pk-console.c:346
-#: ../client/pk-task-text.c:223
-msgid "The following packages have to be reinstalled:"
-msgstr "NásledujÃcà balÃky musà být reinstalovány:"
-
-#. TRANSLATORS: When processing, we might have to downgrade other dependencies
-#: ../client/pk-console.c:349
-#: ../client/pk-task-text.c:228
-msgid "The following packages have to be downgraded:"
-msgstr "NásledujÃcà balÃky musà být vráceny na pÅedchozà verzi:"
-
#. TRANSLATORS: this is the distro, e.g. Fedora 10
-#: ../client/pk-console.c:363
-#: ../client/pk-console-test.c:204
+#: ../client/pk-console.c:247
msgid "Distribution"
msgstr "Distribuce"
#. TRANSLATORS: this is type of update, stable or testing
-#: ../client/pk-console.c:365
-#: ../client/pk-console-test.c:206
+#: ../client/pk-console.c:249
msgid "Type"
msgstr "Typ"
#. TRANSLATORS: this is any summary text describing the upgrade
#. TRANSLATORS: this is the summary of the group
-#. TRANSLATORS: this is any summary text describing the upgrade
-#. TRANSLATORS: this is the summary of the group
-#: ../client/pk-console.c:367
-#: ../client/pk-console.c:390
-#: ../client/pk-console-test.c:208
-#: ../client/pk-console-test.c:229
+#: ../client/pk-console.c:251 ../client/pk-console.c:290
msgid "Summary"
-msgstr "Souhrn"
+msgstr "PÅehled"
#. TRANSLATORS: this is the group category name
-#: ../client/pk-console.c:379
-#: ../client/pk-console-test.c:218
+#: ../client/pk-console.c:279
msgid "Category"
-msgstr "Kategorie"
+msgstr "Skupina"
#. TRANSLATORS: this is group identifier
-#: ../client/pk-console.c:381
-#: ../client/pk-console-test.c:220
+#: ../client/pk-console.c:281
msgid "ID"
msgstr "ID"
#. TRANSLATORS: this is the parent group
-#: ../client/pk-console.c:384
-#: ../client/pk-console-test.c:223
+#: ../client/pk-console.c:284
msgid "Parent"
msgstr "NadÅazený"
#. TRANSLATORS: this is the name of the parent group
-#: ../client/pk-console.c:387
-#: ../client/pk-console-test.c:226
+#: ../client/pk-console.c:287
msgid "Name"
msgstr "Název"
#. TRANSLATORS: this is preferred icon for the group
-#: ../client/pk-console.c:393
-#: ../client/pk-console-test.c:232
+#: ../client/pk-console.c:293
msgid "Icon"
msgstr "Ikona"
#. TRANSLATORS: this is a header for the package that can be updated
-#: ../client/pk-console.c:408
-#: ../client/pk-console-test.c:246
+#: ../client/pk-console.c:339
msgid "Details about the update:"
-msgstr "Detaily o aktualizaci:"
+msgstr "Podrobnosti k aktualizaci:"
#. TRANSLATORS: details about the update, package name and version
+#. TRANSLATORS: the package that is being processed
+#. TRANSLATORS: the package that is not signed by a known key
+#. TRANSLATORS: the package name that was trying to be installed
#. TRANSLATORS: title, the names of the packages that the method is processing
-#: ../client/pk-console.c:410
-#: ../client/pk-console-test.c:252
-#: ../client/pk-task-text.c:95
-#: ../client/pk-task-text.c:144
-#: ../src/pk-polkit-action-lookup.c:352
+#: ../client/pk-console.c:345 ../client/pk-console.c:615
+#: ../lib/packagekit-glib2/pk-task-text.c:124
+#: ../lib/packagekit-glib2/pk-task-text.c:206
+#: ../src/pk-polkit-action-lookup.c:357
msgid "Package"
msgid_plural "Packages"
-msgstr[0] "BalÃk"
+msgstr[0] "BalÃÄek"
msgstr[1] "BalÃky"
#. TRANSLATORS: details about the update, any packages that this update updates
-#: ../client/pk-console.c:413
-#: ../client/pk-console-test.c:255
+#: ../client/pk-console.c:348
msgid "Updates"
-msgstr "Aktualizace"
+msgstr "NejnovÄjÅ¡Ã balÃÄky"
#. TRANSLATORS: details about the update, any packages that this update obsoletes
-#: ../client/pk-console.c:417
-#: ../client/pk-console-test.c:259
+#: ../client/pk-console.c:352
msgid "Obsoletes"
-msgstr "Zastarává"
+msgstr "Zastaral̩ bal̀ky"
#. TRANSLATORS: details about the update, the vendor URLs
-#: ../client/pk-console.c:421
-#: ../client/pk-console-test.c:263
-#: ../client/pk-task-text.c:145
+#. TRANSLATORS: the vendor (e.g. vmware) that is providing the EULA
+#: ../client/pk-console.c:356 ../lib/packagekit-glib2/pk-task-text.c:209
msgid "Vendor"
-msgstr "Výrobce"
+msgstr "Prodejce"
#. TRANSLATORS: details about the update, the bugzilla URLs
-#: ../client/pk-console.c:425
-#: ../client/pk-console-test.c:267
+#: ../client/pk-console.c:360
msgid "Bugzilla"
msgstr "Bugzilla"
#. TRANSLATORS: details about the update, the CVE URLs
-#: ../client/pk-console.c:429
-#: ../client/pk-console-test.c:271
+#: ../client/pk-console.c:364
msgid "CVE"
msgstr "CVE"
#. TRANSLATORS: details about the update, if the package requires a restart
-#: ../client/pk-console.c:433
-#: ../client/pk-console-test.c:275
+#: ../client/pk-console.c:368
msgid "Restart"
-msgstr "Restart"
+msgstr "ZnovuspuÅ¡tÄnÃ"
#. TRANSLATORS: details about the update, any description of the update
-#: ../client/pk-console.c:437
-#: ../client/pk-console-test.c:279
+#: ../client/pk-console.c:372
msgid "Update text"
msgstr "Text aktualizace"
#. TRANSLATORS: details about the update, the changelog for the package
-#: ../client/pk-console.c:441
-#: ../client/pk-console-test.c:283
+#: ../client/pk-console.c:376
msgid "Changes"
msgstr "ZmÄny"
#. TRANSLATORS: details about the update, the ongoing state of the update
-#: ../client/pk-console.c:445
-#: ../client/pk-console-test.c:287
+#: ../client/pk-console.c:380
msgid "State"
msgstr "Stav"
#. TRANSLATORS: details about the update, date the update was issued
-#: ../client/pk-console.c:450
-#: ../client/pk-console-test.c:292
+#: ../client/pk-console.c:384
msgid "Issued"
-msgstr ""
+msgstr "Vydán"
#. TRANSLATORS: details about the update, date the update was updated
-#: ../client/pk-console.c:455
-#: ../client/pk-console-test.c:297
+#. TRANSLATORS: The action of the package, in past tense
+#: ../client/pk-console.c:388 ../lib/packagekit-glib2/pk-console-shared.c:515
msgid "Updated"
msgstr "Aktualizován"
#. TRANSLATORS: if the repo is enabled
-#: ../client/pk-console.c:475
-#: ../client/pk-console-test.c:315
+#: ../client/pk-console.c:424
msgid "Enabled"
msgstr "Povoleno"
#. TRANSLATORS: if the repo is disabled
-#: ../client/pk-console.c:478
-#: ../client/pk-console-test.c:318
+#: ../client/pk-console.c:427
msgid "Disabled"
msgstr "Zakázáno"
-#: ../client/pk-console.c:555
-#: ../client/pk-console.c:557
-msgid "Percentage"
-msgstr "ProcentuálnÃ"
-
-#: ../client/pk-console.c:557
-msgid "Unknown"
-msgstr "Neznámý"
-
#. TRANSLATORS: a package requires the system to be restarted
-#: ../client/pk-console.c:599
-#: ../client/pk-console-test.c:340
+#: ../client/pk-console.c:459
msgid "System restart required by:"
-msgstr "Restart systému požaduje:"
+msgstr "ZnovuspuÅ¡tÄnà systému požaduje:"
#. TRANSLATORS: a package requires the session to be restarted
-#: ../client/pk-console.c:602
-#: ../client/pk-console-test.c:343
+#: ../client/pk-console.c:462
msgid "Session restart required:"
-msgstr "Je požadován restart sezenÃ:"
+msgstr "Je požadováno znovuspuÅ¡tÄnà sezenÃ:"
#. TRANSLATORS: a package requires the system to be restarted due to a security update
-#: ../client/pk-console.c:605
-#: ../client/pk-console-test.c:346
+#: ../client/pk-console.c:465
msgid "System restart (security) required by:"
-msgstr "Restart (bezpeÄnostnÃ) systému požaduje:"
+msgstr "ZnovuspuÅ¡tÄnà (bezpeÄnostnÃ) systému požaduje:"
#. TRANSLATORS: a package requires the session to be restarted due to a security update
-#: ../client/pk-console.c:608
-#: ../client/pk-console-test.c:349
+#: ../client/pk-console.c:468
msgid "Session restart (security) required:"
-msgstr "Je požadován restart (bezpeÄnostnÃ) sezenÃ:"
+msgstr "Je požadováno znovuspuÅ¡tÄnà (bezpeÄnostnÃ) sezenÃ:"
#. TRANSLATORS: a package requires the application to be restarted
-#: ../client/pk-console.c:611
-#: ../client/pk-console-test.c:352
+#: ../client/pk-console.c:471
msgid "Application restart required by:"
-msgstr "Restart aplikace vyžaduje:"
+msgstr "ZnovuspuÅ¡tÄnà programu vyžaduje:"
-#. TRANSLATORS: a package needs to restart their system
-#: ../client/pk-console.c:666
-#: ../client/pk-console-test.c:434
-msgid "Please restart the computer to complete the update."
-msgstr "ProsÃm restartujte poÄÃtaÄ pro dokonÄenà aktualizace."
+#. TRANSLATORS: This a list of details about the package
+#: ../client/pk-console.c:506
+msgid "Package description"
+msgstr "Popis balÃÄku"
-#. TRANSLATORS: a package needs to restart the session
-#: ../client/pk-console.c:669
-#: ../client/pk-console-test.c:437
-msgid "Please logout and login to complete the update."
-msgstr "ProsÃm odhlaste se a znovu se pÅihlaÅ¡te pro dokonÄenà aktualizace."
+#. TRANSLATORS: This a message (like a little note that may be of interest) from the transaction
+#: ../client/pk-console.c:537
+msgid "Message:"
+msgstr "Zpráva:"
-#. TRANSLATORS: a package needs to restart the application
-#: ../client/pk-console.c:672
-#: ../client/pk-console-test.c:440
-msgid "Please restart the application as it is being used."
-msgstr "ProsÃm restartujte aplikaci, protože je právÄ použÃvána."
+#. TRANSLATORS: This where the package has no files
+#: ../client/pk-console.c:558
+msgid "No files"
+msgstr "Žádné soubory"
-#. TRANSLATORS: a package needs to restart their system (due to security)
-#: ../client/pk-console.c:675
-#: ../client/pk-console-test.c:443
-msgid "Please restart the computer to complete the update as important security updates have been installed."
-msgstr "ProsÃm restartujte poÄÃtaÄ pro dokonÄenà aktualizace kvůli nainstalovaným důležitým bezpeÄnostnÃm aktualizacÃm ."
+#. TRANSLATORS: This a list files contained in the package
+#: ../client/pk-console.c:563
+msgid "Package files"
+msgstr "Soubory v balÃÄku"
-#. TRANSLATORS: a package needs to restart the session (due to security)
+#. TRANSLATORS: the percentage complete of the transaction
+#: ../client/pk-console.c:631
+msgid "Percentage"
+msgstr "ProcentuálnÃ"
+
+#. TRANSLATORS: the status of the transaction (e.g. downloading)
+#: ../client/pk-console.c:649
+msgid "Status"
+msgstr "Stav"
+
+#. TRANSLATORS: the results from the transaction
#: ../client/pk-console.c:678
-#: ../client/pk-console-test.c:446
-msgid "Please logout and login to complete the update as important security updates have been installed."
-msgstr "ProsÃm odhlaste se a znovu se pÅihlaÅ¡te pro dokonÄenà aktualizace kvůli nainstalovaným důležitým bezpeÄnostnÃm aktualizacÃm."
+msgid "Results:"
+msgstr "Výsledky:"
+
+#. TRANSLATORS: we failed to get any results, which is pretty fatal in my book
+#: ../client/pk-console.c:685
+msgid "Fatal error"
+msgstr "Vážná chyba"
+
+#. TRANSLATORS: the user asked to update everything, but there is nothing that can be updated
+#: ../client/pk-console.c:701
+msgid "There are no packages to update."
+msgstr "Nejsou tu žádné balÃÄky k aktualizaci"
+
+#. TRANSLATORS: the transaction failed in a way we could not expect
+#: ../client/pk-console.c:704
+#: ../contrib/command-not-found/pk-command-not-found.c:639
+msgid "The transaction failed"
+msgstr "Transakce se nezdaÅila"
+
+#. TRANSLATORS: print a message when there are no updates
+#: ../client/pk-console.c:733
+msgid "There are no updates available at this time."
+msgstr "V tuto chvÃli nenà dostupná žádná novÄjÅ¡Ã verze."
+
+#: ../client/pk-console.c:756
+msgid "There are no upgrades available at this time."
+msgstr "V tuto chvÃli nejsou dostupná žádná povýšenÃ."
-#. TRANSLATORS: The package is already installed on the system
-#: ../client/pk-console.c:810
-#: ../client/pk-console-test.c:541
-#, c-format
-msgid "The package %s is already installed"
-msgstr "BalÃk %s je již nainstalován"
+#. TRANSLATORS: a package needs to restart their system
+#: ../client/pk-console.c:823
+msgid "Please restart the computer to complete the update."
+msgstr "SpusÅ¥te, prosÃm, poÄÃtaÄ znovu, aby aktualizace mohla být dokonÄena."
-#. TRANSLATORS: The package name was not found in any software sources. The detailed error follows
-#: ../client/pk-console.c:818
-#: ../client/pk-console-test.c:549
-#, c-format
-msgid "The package %s could not be installed: %s"
-msgstr "BalÃk %s nemůže být nainstalován: %s"
-
-#. TRANSLATORS: There was a programming error that shouldn't happen. The detailed error follows
-#: ../client/pk-console.c:844
-#: ../client/pk-console.c:892
-#: ../client/pk-console.c:916
-#: ../client/pk-console.c:964
-#: ../client/pk-console.c:1060
-#: ../client/pk-console.c:1173
-#: ../client/pk-console.c:1234
-#: ../client/pk-tools-common.c:63
-#: ../client/pk-tools-common.c:82
-#: ../client/pk-tools-common.c:90
-#, c-format
-msgid "Internal error: %s"
-msgstr "Internà chyba: %s"
-
-#. TRANSLATORS: We are checking if it's okay to remove a list of packages
-#. ask the user
-#: ../client/pk-console.c:876
-#: ../client/pk-console.c:948
-#: ../client/pk-console.c:1266
-#: ../client/pk-task-text.c:284
-msgid "Proceed with changes?"
-msgstr "PokraÄovat se zmÄnami?"
+#. TRANSLATORS: a package needs to restart the session
+#: ../client/pk-console.c:826
+msgid "Please logout and login to complete the update."
+msgstr ""
+"OdhlaÅ¡te se, prosÃm, a znovu se pÅihlaÅ¡te, aby aktualizace mohla být "
+"dokonÄena."
-#. TRANSLATORS: There was an error removing the packages. The detailed error follows
-#: ../client/pk-console.c:881
-#: ../client/pk-console.c:953
-msgid "The package install was canceled!"
-msgstr "Instalace baliÄku byla zruÅ¡ena!"
+#. TRANSLATORS: a package needs to restart their system (due to security)
+#: ../client/pk-console.c:829
+msgid ""
+"Please restart the computer to complete the update as important security "
+"updates have been installed."
+msgstr ""
+"SpusÅ¥te, prosÃm, poÄÃtaÄ znovu, aby aktualizace mohla být dokonÄena, protože "
+"byly nainstalovány "
+"důležité bezpeÄnostnà aktualizace."
-#. TRANSLATORS: There was an error installing the packages. The detailed error follows
-#: ../client/pk-console.c:900
-#: ../client/pk-console.c:1634
-#: ../client/pk-console-test.c:572
-#, c-format
-msgid "This tool could not install the packages: %s"
-msgstr "Tento nástroj nenà schopen nainstalovat balÃky: %s"
+#. TRANSLATORS: a package needs to restart the session (due to security)
+#: ../client/pk-console.c:832
+msgid ""
+"Please logout and login to complete the update as important security updates "
+"have been installed."
+msgstr ""
+"OdhlaÅ¡te se, prosÃm, a znovu se pÅihlaÅ¡te, aby aktualizace mohla být "
+"dokonÄena, protože byly nainstalovány "
+"důležité bezpeÄnostnà aktualizace."
-#. TRANSLATORS: There was an error installing the files. The detailed error follows
-#: ../client/pk-console.c:972
-#: ../client/pk-console-test.c:586
+#. TRANSLATORS: The user used 'pkcon install dave.rpm' rather than 'pkcon install-local dave.rpm'
+#: ../client/pk-console.c:858
#, c-format
-msgid "This tool could not install the files: %s"
-msgstr "Tento nástroj nenà schopen nainstalovat soubory: %s"
+msgid ""
+"Expected package name, actually got file. Try using 'pkcon install-local %s' "
+"instead."
+msgstr ""
+"OÄekáván název balÃÄku, doopravdy vÅ¡ak byl obdržen soubor. MÃsto toho "
+"vyzkoušejte "
+"užità 'pkcon install-local %s'."
-#. TRANSLATORS: The package name was not found in the installed list. The detailed error follows
-#: ../client/pk-console.c:1028
-#: ../client/pk-console-test.c:636
-#, c-format
-msgid "This tool could not remove %s: %s"
-msgstr "Tento nástroj nemůže odstranit %s: %s"
-
-#. TRANSLATORS: There was an error removing the packages. The detailed error follows
-#: ../client/pk-console.c:1051
-#: ../client/pk-console.c:1089
-#: ../client/pk-console.c:1118
-#: ../client/pk-console-test.c:657
-#, c-format
-msgid "This tool could not remove the packages: %s"
-msgstr "Tento nástroj nemůže odstranit balÃky: %s"
-
-#. TRANSLATORS: We are checking if it's okay to remove a list of packages
-#: ../client/pk-console.c:1104
-msgid "Proceed with additional packages?"
-msgstr "PokraÄovat s doplÅkovými balÃky? "
-
-#. TRANSLATORS: There was an error removing the packages. The detailed error follows
-#: ../client/pk-console.c:1109
-msgid "The package removal was canceled!"
-msgstr "OdstranÄnà baliÄku bylo zruÅ¡eno!"
-
-#. TRANSLATORS: The package name was not found in any software sources
-#: ../client/pk-console.c:1150
-#: ../client/pk-console-test.c:689
+#. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
+#: ../client/pk-console.c:866
#, c-format
-msgid "This tool could not download the package %s as it could not be found"
-msgstr "Tento nástroj nemůže stáhnout balÃk %s, protože nemůže být nalezen"
+msgid "This tool could not find any available package: %s"
+msgstr "Tomuto nástroji se nepodaÅilo nalézt žádný dostupný balÃÄek: %s"
-#. TRANSLATORS: Could not download the packages for some reason. The detailed error follows
-#: ../client/pk-console.c:1181
-#: ../client/pk-console-test.c:711
+#. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
+#: ../client/pk-console.c:894
#, c-format
-msgid "This tool could not download the packages: %s"
-msgstr "Tento nástroj nemůže stáhnout balÃky: %s"
+msgid "This tool could not find the installed package: %s"
+msgstr "Tomuto nástroji se nepodaÅilo nalézt nainstalovaný balÃÄek: %s"
#. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
-#: ../client/pk-console.c:1213
-#: ../client/pk-console.c:1225
-#: ../client/pk-console.c:1280
-#: ../client/pk-console-test.c:743
-#: ../client/pk-console-test.c:753
+#: ../client/pk-console.c:922 ../client/pk-console.c:950
#, c-format
-msgid "This tool could not update %s: %s"
-msgstr "Tento nástroj nemůže aktualizovat %s: %s"
-
-#. TRANSLATORS: There was an error removing the packages. The detailed error follows
-#: ../client/pk-console.c:1271
-msgid "The package update was canceled!"
-msgstr "Aktualizace balÃÄku byla zruÅ¡ena!"
+msgid "This tool could not find the package: %s"
+msgstr "Tomuto nástroji se nepodaÅilo nalézt balÃÄek: %s"
#. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
-#: ../client/pk-console.c:1304
-#: ../client/pk-console.c:1312
-#: ../client/pk-console-test.c:779
-#: ../client/pk-console-test.c:787
-#, fuzzy, c-format
-msgid "This tool could not get the requirements for %s: %s"
-msgstr "Tento nástroj nemůže zÃskat požadavky pro '%s': %s"
-
#. TRANSLATORS: There was an error getting the dependencies for the package. The detailed error follows
-#: ../client/pk-console.c:1334
-#: ../client/pk-console.c:1342
-#: ../client/pk-console-test.c:809
-#: ../client/pk-console-test.c:817
-#, fuzzy, c-format
-msgid "This tool could not get the dependencies for %s: %s"
-msgstr "Tento nástroj nemůže zÃskat závislosti pro '%s': %s"
-
#. TRANSLATORS: There was an error getting the details about the package. The detailed error follows
-#: ../client/pk-console.c:1364
-#: ../client/pk-console.c:1372
-#: ../client/pk-console-test.c:839
-#: ../client/pk-console-test.c:847
-#, fuzzy, c-format
-msgid "This tool could not get package details for %s: %s"
-msgstr "Tento nástroj nemůže zÃskat detaily o '%s': %s"
-
#. TRANSLATORS: The package name was not found in any software sources. The detailed error follows
-#: ../client/pk-console.c:1394
-#: ../client/pk-console-test.c:869
-#, fuzzy, c-format
-msgid "This tool could not find the files for %s: %s"
-msgstr "Tento nástroj nemůže najÃt soubory pro '%s': %s"
-
-#. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
-#: ../client/pk-console.c:1402
-#: ../client/pk-console-test.c:877
-#, fuzzy, c-format
-msgid "This tool could not get the file list for %s: %s"
-msgstr "Tento nástroj nemůže zÃskat seznam souborů pro '%s': %s"
-
-#. TRANSLATORS: There was an error getting the list of packages. The filename follows
-#: ../client/pk-console.c:1424
-#, c-format
-msgid "File already exists: %s"
-msgstr "Soubor již existuje: %s"
-
-#. TRANSLATORS: follows a list of packages to install
-#: ../client/pk-console.c:1429
-#: ../client/pk-console.c:1485
-#: ../client/pk-console.c:1560
-msgid "Getting package list"
-msgstr "ZÃskávám seznam balÃků"
-
-#. TRANSLATORS: There was an error getting the list of packages. The detailed error follows
-#: ../client/pk-console.c:1435
-#: ../client/pk-console.c:1491
-#: ../client/pk-console.c:1566
-#, fuzzy, c-format
-msgid "This tool could not get package list: %s"
-msgstr "Tento nástroj nemůže odstranit balÃky: %s"
-
-#. TRANSLATORS: There was an error saving the list
-#: ../client/pk-console.c:1446
-#, c-format
-msgid "Failed to save to disk"
-msgstr "Selhalo uloženà na disk"
-
-#. TRANSLATORS: There was an error getting the list. The filename follows
-#: ../client/pk-console.c:1480
-#: ../client/pk-console.c:1555
-#, c-format
-msgid "File does not exist: %s"
-msgstr "Soubor neexistuje: %s"
-
-#. TRANSLATORS: header to a list of packages newly added
-#: ../client/pk-console.c:1512
-msgid "Packages to add"
-msgstr "BalÃÄky k pÅidánÃ"
-
-#. TRANSLATORS: header to a list of packages removed
-#: ../client/pk-console.c:1520
-msgid "Packages to remove"
-msgstr "BalÃÄky k odebránÃ"
-
-#. TRANSLATORS: We didn't find any differences
-#: ../client/pk-console.c:1588
-#, fuzzy, c-format
-msgid "No new packages need to be installed"
-msgstr "BalÃk '%s' nemůže být nainstalován: %s"
-
-#. TRANSLATORS: follows a list of packages to install
-#: ../client/pk-console.c:1594
-msgid "To install"
-msgstr "K instalaci"
-
-#. TRANSLATORS: searching takes some time....
-#: ../client/pk-console.c:1606
-msgid "Searching for package: "
-msgstr "Hledánà balÃÄku:"
-
-#. TRANSLATORS: package was not found -- this is the end of a string ended in ...
-#: ../client/pk-console.c:1610
-msgid "not found."
-msgstr "nenalezen."
-
-#. TRANSLATORS: We didn't find any packages to install
-#: ../client/pk-console.c:1621
-#, fuzzy, c-format
-msgid "No packages can be found to install"
-msgstr "Pro váš systém nebyly nalezeny žádné balÃky"
-
-#. TRANSLATORS: installing new packages from package list
-#. TRANSLATORS: we are now installing the debuginfo packages we found earlier
-#: ../client/pk-console.c:1627
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:885
+#: ../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
#, c-format
-msgid "Installing packages"
-msgstr "Instalace balÃků"
-
-#. TRANSLATORS: The package name was not found in any software sources. The detailed error follows
-#: ../client/pk-console.c:1663
-#: ../client/pk-console-test.c:899
-#, fuzzy, c-format
-msgid "This tool could not find the update details for %s: %s"
-msgstr "Tento nástroj nemůže najÃt podrobnosti o aktualizaci pro '%s': %s"
-
-#. TRANSLATORS: There was an error getting the details about the update for the package. The detailed error follows
-#: ../client/pk-console.c:1671
-#: ../client/pk-console-test.c:907
-#, fuzzy, c-format
-msgid "This tool could not get the update details for %s: %s"
-msgstr "Tento nástroj nemůže zÃskat podrobnosti o aktualizaci pro '%s': %s"
-
-#. TRANSLATORS: This was an unhandled error, and we don't have _any_ context
-#: ../client/pk-console.c:1702
-msgid "Error:"
-msgstr "Chyba: "
-
-#. TRANSLATORS: This a list of details about the package
-#: ../client/pk-console.c:1716
-#: ../client/pk-console-test.c:369
-msgid "Package description"
-msgstr "Popis balÃku"
-
-#. TRANSLATORS: This a message (like a little note that may be of interest) from the transaction
-#: ../client/pk-console.c:1732
-#: ../client/pk-console-test.c:387
-msgid "Message:"
-msgstr "Zpráva:"
-
-#. TRANSLATORS: This a list files contained in the package
-#: ../client/pk-console.c:1760
-#: ../client/pk-console-test.c:415
-msgid "Package files"
-msgstr "Soubory v balÃku"
-
-#. TRANSLATORS: This where the package has no files
-#: ../client/pk-console.c:1768
-#: ../client/pk-console-test.c:410
-msgid "No files"
-msgstr "Žádné soubory"
-
-#. TRANSLATORS: This a request for a GPG key signature from the backend, which the client will prompt for later
-#: ../client/pk-console.c:1791
-msgid "Repository signature required"
-msgstr "Vyžaduje podpis repozitáÅe"
-
-#. TRANSLATORS: This a prompt asking the user to import the security key
-#. ask the user
-#: ../client/pk-console.c:1801
-#: ../client/pk-task-text.c:107
-#, fuzzy
-msgid "Do you accept this signature?"
-msgstr "PÅÃjÃmáte tento podpis?"
-
-#. TRANSLATORS: This is where the user declined the security key
-#: ../client/pk-console.c:1805
-#: ../client/pk-task-text.c:111
-msgid "The signature was not accepted."
-msgstr "Podpis nebyl pÅijat."
-
-#. TRANSLATORS: This a request for a EULA
-#: ../client/pk-console.c:1839
-msgid "End user license agreement required"
-msgstr "Vyžaduje souhlas s licencà koncového uživatele"
-
-#. TRANSLATORS: This a prompt asking the user to agree to the license
-#: ../client/pk-console.c:1846
-msgid "Do you agree to this license?"
-msgstr "SouhlasÃte s touto licencÃ?"
-
-#. TRANSLATORS: This is where the user declined the license
-#: ../client/pk-console.c:1850
-msgid "The license was refused."
-msgstr "Licence byla odmÃtnuta."
+msgid "This tool could not find all the packages: %s"
+msgstr "Tomuto nástroji se nepodaÅilo nalézt vÅ¡echny balÃÄky: %s"
#. TRANSLATORS: This is when the daemon crashed, and we are up shit creek without a paddle
-#: ../client/pk-console.c:1879
-#: ../client/pk-console-test.c:925
+#: ../client/pk-console.c:1119
msgid "The daemon crashed mid-transaction!"
-msgstr "Démon havaroval bÄhem Äinnosti!"
+msgstr "Démon havaroval uprostÅed Äinnosti!"
#. TRANSLATORS: This is the header to the --help menu
-#: ../client/pk-console.c:1932
-#: ../client/pk-console-test.c:969
+#: ../client/pk-console.c:1153
msgid "PackageKit Console Interface"
-msgstr "Konzolové rozhranà PackageKitu"
+msgstr "Konzolové rozhranà k PackageKitu"
#. these are commands we can use with pkcon
-#: ../client/pk-console.c:1934
-#: ../client/pk-console-test.c:971
+#: ../client/pk-console.c:1155
msgid "Subcommands:"
msgstr "DÃlÄÃ pÅÃkazy:"
-#. TRANSLATORS: command line argument, if we should show debugging information
-#. TRANSLATORS: if we should show debugging data
-#: ../client/pk-console.c:2027
-#: ../client/pk-console-test.c:1202
-#: ../client/pk-generate-pack.c:187
-#: ../client/pk-monitor.c:128
-#: ../contrib/command-not-found/pk-command-not-found.c:616
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:549
-#: ../contrib/device-rebind/pk-device-rebind.c:293
-#: ../src/pk-main.c:211
-msgid "Show extra debugging information"
-msgstr "Zobrazit dodateÄné ladÃcà informace"
+#. TRANSLATORS: we keep a database updated with the time that an action was last executed
+#: ../client/pk-console.c:1234
+msgid "Failed to get the time since this action was last completed"
+msgstr ""
+"NepodaÅilo se zjistit Äas od té doby, co tato Äinnost byla naposledy "
+"dokonÄena"
#. TRANSLATORS: command line argument, just show the version string
-#: ../client/pk-console.c:2030
-#: ../client/pk-console-test.c:1205
-#: ../client/pk-monitor.c:130
+#: ../client/pk-console.c:1275 ../client/pk-monitor.c:371
msgid "Show the program version and exit"
-msgstr "Zobrazit verzi programu a ukonÄit se"
+msgstr "Ukázat verzi programu a ukonÄit se"
#. TRANSLATORS: command line argument, use a filter to narrow down results
-#: ../client/pk-console.c:2033
-#: ../client/pk-console-test.c:1208
+#: ../client/pk-console.c:1278
msgid "Set the filter, e.g. installed"
msgstr "Nastavit filtr, napÅ. nainstalované"
+#. TRANSLATORS: command line argument, use a non-standard install prefix
+#: ../client/pk-console.c:1281
+msgid "Set the install root, e.g. '/' or '/mnt/ltsp'"
+msgstr "Nastavit instalaÄnà koÅen, napÅ. '/' or '/mnt/ltsp'"
+
#. TRANSLATORS: command line argument, work asynchronously
-#: ../client/pk-console.c:2036
-#: ../client/pk-console-test.c:1211
+#: ../client/pk-console.c:1284
msgid "Exit without waiting for actions to complete"
-msgstr "UkonÄit bez varovanà o nedokonÄených akcÃch"
+msgstr "UkonÄit bez Äekánà na nedokonÄené Äinnosti"
+
+#. command line argument, do we ask questions
+#: ../client/pk-console.c:1287
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:525
+msgid "Install the packages without asking for confirmation"
+msgstr "Nainstalovat balÃÄky bez žádosti o potvrzenÃ"
-#. TRANSLATORS: This is when we could not connect to the system bus, and is fatal
-#: ../client/pk-console.c:2063
-msgid "This tool could not connect to system DBUS."
-msgstr "Tento nástroj se nemůže pÅipojit k systému DBUS"
+#. TRANSLATORS: command line argument, this command is not a priority
+#: ../client/pk-console.c:1290
+msgid "Run the command using idle network bandwidth and also using less power"
+msgstr ""
+"Spustit pÅÃkaz za použità nepoužÃvané Å¡ÃÅky pásma sÃtÄ a také za využità "
+"menÅ¡Ãho "
+"množstvà energie"
+
+#. TRANSLATORS: command line argument, just output without fancy formatting
+#: ../client/pk-console.c:1293
+msgid ""
+"Print to screen a machine readable output, rather than using animated widgets"
+msgstr ""
+"Vyvolat na obrazovku strojovÄ Äitelný výstup, namÃsto použità kreslených "
+"prvků"
+
+#. TRANSLATORS: command line argument, just output without fancy formatting
+#: ../client/pk-console.c:1296
+msgid "The maximum metadata cache age. Use -1 for 'never'."
+msgstr "NejvÄtÅ¡Ã stáÅà vyrovnávacà pamÄti metadat. PoužÃt -1 pro 'nikdy'."
+
+#. TRANSLATORS: we failed to contact the daemon
+#: ../client/pk-console.c:1333
+msgid "Failed to contact PackageKit"
+msgstr "NepodaÅilo se spojit se s PackageKitem"
#. TRANSLATORS: The user specified an incorrect filter
-#: ../client/pk-console.c:2153
-#: ../client/pk-console-test.c:1279
+#: ../client/pk-console.c:1381
+msgid "The proxy could not be set"
+msgstr "Proxy se nepodaÅilo nastavit"
+
+#. TRANSLATORS: The user specified an incorrect filter
+#: ../client/pk-console.c:1393
+msgid "The install root could not be set"
+msgstr "InstalaÄnà koÅen se nepodaÅilo nastavit"
+
+#. TRANSLATORS: The user specified an incorrect filter
+#: ../client/pk-console.c:1405
msgid "The filter specified was invalid"
msgstr "UrÄený filtr byl neplatný"
#. TRANSLATORS: a search type can be name, details, file, etc
-#: ../client/pk-console.c:2172
-#: ../client/pk-console-test.c:1298
+#: ../client/pk-console.c:1424
msgid "A search type is required, e.g. name"
-msgstr ""
+msgstr "Je požadován hledaný typ, napÅ. název"
#. TRANSLATORS: the user needs to provide a search term
-#: ../client/pk-console.c:2179
-#: ../client/pk-console.c:2188
-#: ../client/pk-console.c:2197
-#: ../client/pk-console.c:2206
-#: ../client/pk-console-test.c:1305
-#: ../client/pk-console-test.c:1317
-#: ../client/pk-console-test.c:1329
-#: ../client/pk-console-test.c:1341
+#: ../client/pk-console.c:1431 ../client/pk-console.c:1443
+#: ../client/pk-console.c:1455 ../client/pk-console.c:1467
msgid "A search term is required"
-msgstr ""
+msgstr "Je požadován hledaný pojem"
#. TRANSLATORS: the search type was provided, but invalid
-#: ../client/pk-console.c:2213
-#: ../client/pk-console-test.c:1351
+#: ../client/pk-console.c:1477
msgid "Invalid search type"
-msgstr "Neplatný typ vyhledávánÃ"
+msgstr "Neplatný hledaný typ"
#. TRANSLATORS: the user did not specify what they wanted to install
-#: ../client/pk-console.c:2219
-#: ../client/pk-console-test.c:1358
-msgid "A package name or filename to install is required"
-msgstr ""
+#: ../client/pk-console.c:1483
+msgid "A package name to install is required"
+msgstr "Je požadován název balÃÄku, který se má instalovat"
+
+#. TRANSLATORS: the user did not specify what they wanted to install
+#: ../client/pk-console.c:1492
+msgid "A filename to install is required"
+msgstr "Je požadován název souboru, který se má instalovat"
#. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:2228
-#: ../client/pk-console-test.c:1368
-#, fuzzy
+#: ../client/pk-console.c:1503
msgid "A type, key_id and package_id are required"
-msgstr "Je nutné urÄit typ, key_id a package_id"
+msgstr "Je požadován typ, key_id a package_id"
#. TRANSLATORS: the user did not specify what they wanted to remove
-#: ../client/pk-console.c:2237
-#: ../client/pk-console-test.c:1379
-#, fuzzy
+#: ../client/pk-console.c:1514
msgid "A package name to remove is required"
-msgstr "NásledujÃcà balÃky musà být odstranÄny"
+msgstr "Je požadován název balÃÄku, který se má odstranit"
#. TRANSLATORS: the user did not specify anything about what to download or where
-#: ../client/pk-console.c:2245
-#: ../client/pk-console-test.c:1387
-#, fuzzy
+#: ../client/pk-console.c:1523
msgid "A destination directory and the package names to download are required"
-msgstr "Je nutné urÄit cÃlový adresáŠa poté balÃk, který se má stáhnout"
+msgstr "Jsou požadovány cÃlový adresáŠa názvy balÃÄků, které se majà stáhnout"
#. TRANSLATORS: the directory does not exist, so we can't continue
-#: ../client/pk-console.c:2252
-#: ../client/pk-console-test.c:1394
+#: ../client/pk-console.c:1530
msgid "Directory not found"
msgstr "AdresáŠnenalezen"
#. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:2260
-#: ../client/pk-console-test.c:1403
-#, fuzzy
+#: ../client/pk-console.c:1539
msgid "A licence identifier (eula-id) is required"
-msgstr "MusÃte zadat identifikaci licence (eula-id)"
+msgstr "Je požadován identifikátor licence (eula-id)"
#. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:2270
-#: ../client/pk-console-test.c:1415
+#: ../client/pk-console.c:1550
msgid "A transaction identifier (tid) is required"
-msgstr ""
+msgstr "Je požadován identifikátor transakce (tid)"
#. TRANSLATORS: The user did not specify a package name
-#: ../client/pk-console.c:2287
-#: ../client/pk-console-test.c:1437
-#, fuzzy
+#: ../client/pk-console.c:1571
msgid "A package name to resolve is required"
-msgstr "NásledujÃcà balÃky musà být odstranÄny"
+msgstr "Je požadován název balÃÄku, pro který se má najÃt ÅeÅ¡enÃ"
#. TRANSLATORS: The user did not specify a repository (software source) name
-#: ../client/pk-console.c:2296
-#: ../client/pk-console.c:2305
-#: ../client/pk-console-test.c:1448
-#: ../client/pk-console-test.c:1459
+#: ../client/pk-console.c:1582 ../client/pk-console.c:1593
msgid "A repository name is required"
-msgstr "Je tÅeba urÄit název repozitáÅe"
+msgstr "Je tÅeba urÄit název skladiÅ¡tÄ"
#. TRANSLATORS: The user didn't provide any data
-#: ../client/pk-console.c:2314
-#: ../client/pk-console-test.c:1470
-#, fuzzy
+#: ../client/pk-console.c:1604
msgid "A repo name, parameter and value are required"
-msgstr "Je nutné urÄit název/parametr a hodnotu repozitáÅe"
+msgstr "Jsou požadovány název, parametr a hodnota"
#. TRANSLATORS: The user didn't specify what action to use
-#: ../client/pk-console.c:2328
-#: ../client/pk-console-test.c:1488
-#, fuzzy
+#: ../client/pk-console.c:1621
msgid "An action, e.g. 'update-system' is required"
-msgstr "Je nutné zadat akci, napÅ. 'update-system'"
+msgstr "Je požadována Äinnost, napÅ. 'update-system'"
#. TRANSLATORS: The user specified an invalid action
-#: ../client/pk-console.c:2335
-#: ../client/pk-console-test.c:1495
+#: ../client/pk-console.c:1628
msgid "A correct role is required"
-msgstr "Je požadována správná role"
-
-#. TRANSLATORS: we keep a database updated with the time that an action was last executed
-#: ../client/pk-console.c:2342
-#: ../client/pk-console-test.c:1502
-msgid "Failed to get the time since this action was last completed"
-msgstr ""
+msgstr "Je požadována správná úloha"
#. 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:2352
-#: ../client/pk-console.c:2364
-#: ../client/pk-console.c:2373
-#: ../client/pk-console.c:2391
-#: ../client/pk-console.c:2400
-#: ../client/pk-console-test.c:1511
-#: ../client/pk-console-test.c:1526
-#: ../client/pk-console-test.c:1535
-#: ../client/pk-console-test.c:1556
-#: ../client/pk-console-test.c:1565
-#: ../client/pk-generate-pack.c:243
+#: ../client/pk-console.c:1638 ../client/pk-console.c:1652
+#: ../client/pk-console.c:1661 ../client/pk-console.c:1681
+#: ../client/pk-console.c:1690 ../client/pk-generate-pack.c:314
msgid "A package name is required"
msgstr "Je požadován název balÃÄku"
#. TRANSLATORS: each package "provides" certain things, e.g. mime(gstreamer-decoder-mp3), the user didn't specify it
-#: ../client/pk-console.c:2382
-#: ../client/pk-console-test.c:1545
-#, fuzzy
+#: ../client/pk-console.c:1670
msgid "A package provide string is required"
-msgstr "Je požadováno odhlášenà a pÅihlášenÃ"
+msgstr "Je požadován ÅetÄzec k poskytnutà balÃÄku"
-#. TRANSLATORS: The user didn't specify a filename to create as a list
-#: ../client/pk-console.c:2409
-msgid "A list file name to create is required"
-msgstr ""
+#. TRANSLATORS: The user did not provide a distro name
+#: ../client/pk-console.c:1714
+msgid "A distribution name is required"
+msgstr "Je požadován název distribuce"
-#. TRANSLATORS: The user didn't specify a filename to open as a list
-#: ../client/pk-console.c:2419
-#: ../client/pk-console.c:2429
-#, fuzzy
-msgid "A list file to open is required"
-msgstr "Je požadováno odhlášenà a pÅihlášenÃ"
+#. TRANSLATORS: The user did not provide an upgrade type
+#: ../client/pk-console.c:1720
+msgid "An upgrade type is required, e.g. 'minimal', 'default' or 'complete'"
+msgstr "Je požadován typ povýšenÃ, napÅ. 'minimal', 'default' nebo 'complete'"
#. TRANSLATORS: The user tried to use an unsupported option on the command line
-#: ../client/pk-console.c:2483
-#: ../client/pk-console-test.c:1619
+#: ../client/pk-console.c:1770
#, c-format
msgid "Option '%s' is not supported"
msgstr "Volba '%s' nenà podporována "
-#. TRANSLATORS: User does not have permission to do this
-#: ../client/pk-console.c:2496
-msgid "Incorrect privileges for this operation"
-msgstr "Nesprávná oprávnÄnà pro tuto operaci"
-
#. TRANSLATORS: Generic failure of what they asked to do
-#. /* TRANSLATORS: User does not have permission to do this */
-#. g_print ("%s\n", _("Incorrect privileges for this operation"));
-#. TRANSLATORS: Generic failure of what they asked to do
-#: ../client/pk-console.c:2499
-#: ../client/pk-console-test.c:1631
+#: ../client/pk-console.c:1780
msgid "Command failed"
msgstr "PÅÃkaz selhal"
-#. TRANSLATORS: This is the state of the transaction
-#: ../client/pk-generate-pack.c:103
-msgid "Downloading"
-msgstr "Stahuji"
-
-#. TRANSLATORS: This is when the main packages are being downloaded
-#: ../client/pk-generate-pack.c:123
-msgid "Downloading packages"
-msgstr "Stahuji balÃky"
-
-#. TRANSLATORS: This is when the dependency packages are being downloaded
-#: ../client/pk-generate-pack.c:128
-msgid "Downloading dependencies"
-msgstr "Stahuji závislosti"
-
#. TRANSLATORS: we can exclude certain packages (glibc) when we know they'll exist on the target
-#: ../client/pk-generate-pack.c:190
+#: ../client/pk-generate-pack.c:253
msgid "Set the file name of dependencies to be excluded"
-msgstr "Nastavte soubor se závislostmi, které majà být vynechány"
+msgstr "Nastavit název souboru se závislostmi, které majà být vynechány"
#. TRANSLATORS: the output location
-#: ../client/pk-generate-pack.c:193
-#, fuzzy
-msgid "The output file or directory (the current directory is used if ommitted)"
-msgstr "Výstupnà adresáŠ(aktuálnà adresáÅ, pokud nenà žádný uveden)"
+#: ../client/pk-generate-pack.c:256
+msgid "The output file or directory (the current directory is used if omitted)"
+msgstr ""
+"Výstupnà soubor nebo adresáŠ(je-li vynecháno, použÃvá se souÄasný adresáÅ)"
#. TRANSLATORS: put a list of packages in the pack
-#: ../client/pk-generate-pack.c:196
+#: ../client/pk-generate-pack.c:259
msgid "The package to be put into the service pack"
-msgstr "BalÃky zahrnuté do servisnÃho balÃku"
+msgstr "BalÃÄek zahrnutý do obslužného balÃku"
#. TRANSLATORS: put all pending updates in the pack
-#: ../client/pk-generate-pack.c:199
+#: ../client/pk-generate-pack.c:262
msgid "Put all updates available in the service pack"
-msgstr "PÅidej dostupné aktualizace do servisnÃho balÃku"
+msgstr "PÅidat vÅ¡echny dostupné aktualizace do obslužného balÃku"
#. TRANSLATORS: This is when the user fails to supply the correct arguments
-#: ../client/pk-generate-pack.c:227
+#: ../client/pk-generate-pack.c:298
msgid "Neither --package or --updates option selected."
-msgstr "Nebylo vybráno ani --package ani --updates."
+msgstr "Nebyla vybrány ani volba --package ani --updates."
#. TRANSLATORS: This is when the user fails to supply just one argument
-#: ../client/pk-generate-pack.c:235
+#: ../client/pk-generate-pack.c:306
msgid "Both options selected."
msgstr "ObÄ volby vybrány."
#. TRANSLATORS: This is when the user fails to supply the output
-#: ../client/pk-generate-pack.c:251
+#: ../client/pk-generate-pack.c:322
msgid "A output directory or file name is required"
msgstr "Je požadován výstupnà adresáŠnebo název souboru"
+#. TRANSLATORS: This is when the daemon is not-installed/broken and fails to startup
+#: ../client/pk-generate-pack.c:340
+msgid "The daemon failed to startup"
+msgstr "Démona se nepodaÅilo spustit"
+
#. TRANSLATORS: This is when the backend doesn't have the capability to get-depends
#. TRANSLATORS: This is when the backend doesn't have the capability to download
-#: ../client/pk-generate-pack.c:269
-#: ../client/pk-generate-pack.c:275
+#: ../client/pk-generate-pack.c:351 ../client/pk-generate-pack.c:357
msgid "The package manager cannot perform this type of operation."
-msgstr ""
+msgstr "Správce balÃÄků neumà provádÄt tento typ úlohy."
#. TRANSLATORS: This is when the distro didn't include libarchive support into PK
-#: ../client/pk-generate-pack.c:282
-msgid "Service packs cannot be created as PackageKit was not built with libarchive support."
+#: ../client/pk-generate-pack.c:364
+msgid ""
+"Service packs cannot be created as PackageKit was not built with libarchive "
+"support."
msgstr ""
+"Obslužné balÃky nelze vytváÅet, jelikož PackageKitnebyl sestaven s podporou "
+"pro libarchive."
#. TRANSLATORS: the user specified an absolute path, but didn't get the extension correct
-#: ../client/pk-generate-pack.c:293
+#: ../client/pk-generate-pack.c:375
msgid "If specifying a file, the service pack name must end with"
-msgstr ""
+msgstr "Pokud zadáte soubor, pak musà název obslužného balÃku konÄit na"
#. TRANSLATORS: This is when file already exists
-#: ../client/pk-generate-pack.c:309
+#: ../client/pk-generate-pack.c:391
msgid "A pack with the same name already exists, do you want to overwrite it?"
msgstr "BalÃk se stejným jménem už existuje, chcete jej pÅepsat?"
#. TRANSLATORS: This is when the pack was not overwritten
-#: ../client/pk-generate-pack.c:312
+#: ../client/pk-generate-pack.c:394
msgid "The pack was not overwritten."
msgstr "BalÃk nebyl pÅepsán."
#. TRANSLATORS: This is when the temporary directory cannot be created, the directory name follows
-#: ../client/pk-generate-pack.c:325
+#: ../client/pk-generate-pack.c:407
msgid "Failed to create directory:"
msgstr "NepodaÅilo se vytvoÅit adresáÅ."
#. TRANSLATORS: This is when the list of packages from the remote computer cannot be opened
-#: ../client/pk-generate-pack.c:335
+#: ../client/pk-generate-pack.c:419
msgid "Failed to open package list."
-msgstr "NepodaÅilo se otevÅÃt seznam balÃku."
+msgstr "NepodaÅilo se otevÅÃt seznam s balÃÄky."
#. TRANSLATORS: The package name is being matched up to available packages
-#: ../client/pk-generate-pack.c:346
+#: ../client/pk-generate-pack.c:428
msgid "Finding package name."
-msgstr "Hledám jméno balÃku."
+msgstr "Hledá se název balÃÄku."
#. TRANSLATORS: This is when the package cannot be found in any software source. The detailed error follows
-#: ../client/pk-generate-pack.c:350
+#: ../client/pk-generate-pack.c:432
#, c-format
msgid "Failed to find package '%s': %s"
-msgstr "Nemohu najÃt balÃk '%s': %s"
+msgstr "NepodaÅilo se najÃt balÃÄek '%s': %s"
#. TRANSLATORS: This is telling the user we are in the process of making the pack
-#: ../client/pk-generate-pack.c:367
+#: ../client/pk-generate-pack.c:440
msgid "Creating service pack..."
-msgstr "VytváÅÃm servisnà balÃk..."
+msgstr "VytváÅà se obslužný balÃk..."
#. TRANSLATORS: we succeeded in making the file
-#: ../client/pk-generate-pack.c:374
+#: ../client/pk-generate-pack.c:455
#, c-format
msgid "Service pack created '%s'"
-msgstr "Servisnà balÃk vytvoÅen '%s'"
+msgstr "Obslužný balÃk vytvoÅen '%s'"
#. TRANSLATORS: we failed to make te file
-#: ../client/pk-generate-pack.c:379
+#: ../client/pk-generate-pack.c:460
#, c-format
msgid "Failed to create '%s': %s"
-msgstr "Nemohu vytvoÅit '%s': %s"
-
-#. TRANSLATORS: this is a program that monitors PackageKit
-#: ../client/pk-monitor.c:146
-msgid "PackageKit Monitor"
-msgstr "PackageKit Monitor"
-
-#: ../client/pk-monitor.c:183
-msgid "Cannot show the list of transactions"
-msgstr "Nelze zobrazit seznam transakcÃ"
-
-#. ask the user
-#: ../client/pk-task-text.c:61
-msgid "Do you want to allow installing of unsigned software?"
-msgstr "Chcete povolit instalovánà nepodepsaného softwaru?"
-
-#: ../client/pk-task-text.c:65
-msgid "The unsigned software will not be installed."
-msgstr "Nepodepsaný software nebude nainstalován."
-
-#: ../client/pk-task-text.c:94
-#, fuzzy
-msgid "Software source signature required"
-msgstr "Vyžaduje podpis repozitáÅe"
-
-#: ../client/pk-task-text.c:96
-#, fuzzy
-msgid "Software source name"
-msgstr "ZmÄnit parametry zdrojů softwaru"
-
-#: ../client/pk-task-text.c:97
-msgid "Key URL"
-msgstr "URL klÃÄe"
-
-#: ../client/pk-task-text.c:98
-msgid "Key user"
-msgstr "Uživatel klÃÄe"
-
-#: ../client/pk-task-text.c:99
-msgid "Key ID"
-msgstr "ID klÃÄe"
-
-#: ../client/pk-task-text.c:100
-msgid "Key fingerprint"
-msgstr "Fingerprint klÃÄe"
+msgstr "NepodaÅilo se vytvoÅit '%s': %s"
-#: ../client/pk-task-text.c:101
-msgid "Key Timestamp"
-msgstr "Äasová znaÄka klÃÄe"
-
-#: ../client/pk-task-text.c:142
-msgid "End user licence agreement required"
-msgstr "Vyžaduje souhlas s licencà koncového uživatele"
-
-#: ../client/pk-task-text.c:143
-msgid "EULA ID"
-msgstr "EULA ID"
-
-#: ../client/pk-task-text.c:146
-msgid "Agreement"
-msgstr "UjednánÃ"
-
-#. ask the user
-#: ../client/pk-task-text.c:152
-msgid "Do you accept this agreement?"
-msgstr "PÅÃjÃmáte toto ujednánÃ?"
-
-#: ../client/pk-task-text.c:156
-msgid "The agreement was not accepted."
-msgstr "Ujednánà nebylo pÅijato."
-
-#: ../client/pk-task-text.c:182
-msgid "Media change required"
-msgstr "Je vyžadována zmÄna média"
-
-#: ../client/pk-task-text.c:183
-msgid "Media type"
-msgstr "typ Média"
+#: ../client/pk-monitor.c:284
+msgid "Failed to get daemon state"
+msgstr "NepodaÅilo se zÃskat stav démona"
-#: ../client/pk-task-text.c:184
-msgid "Media ID"
-msgstr "ID Média"
+#: ../client/pk-monitor.c:349
+msgid "Failed to get properties"
+msgstr "NepodaÅilo se zÃskat vlastnosti"
-#: ../client/pk-task-text.c:185
-msgid "Text"
-msgstr "Text"
-
-#. ask the user
-#: ../client/pk-task-text.c:189
-msgid "Please insert the correct media"
-msgstr "ProsÃm vlžte správné médium"
-
-#: ../client/pk-task-text.c:193
-msgid "The correct media was not inserted."
-msgstr "Nebylo vloženo správné médium."
-
-#: ../client/pk-task-text.c:288
-msgid "The transaction did not proceed."
-msgstr "Transakce nemohla pokraÄovat."
-
-#: ../client/pk-text.c:50
-#, c-format
-msgid "Please enter a number from 1 to %i: "
-msgstr "ProsÃm zadejte ÄÃslo od 1 do %i: "
-
-#. TRANSLATORS: The package was not found in any software sources
-#: ../client/pk-tools-common.c:119
-#, c-format
-msgid "The package could not be found"
-msgstr "BalÃk nebyl nalezen."
-
-#. TRANSLATORS: more than one package could be found that matched, to follow is a list of possible packages
-#: ../client/pk-tools-common.c:131
-msgid "More than one package matches:"
-msgstr "Danému výrazu odpovÃdá vÃce balÃků:"
-
-#. TRANSLATORS: This finds out which package in the list to use
-#: ../client/pk-tools-common.c:138
-msgid "Please choose the correct package: "
-msgstr "ProsÃm vyberte správný balÃk: "
+#. TRANSLATORS: this is a program that monitors PackageKit
+#: ../client/pk-monitor.c:387
+msgid "PackageKit Monitor"
+msgstr "Sledovánà PackageKit"
#. TRANSLATORS: when we are getting data from the daemon
-#: ../contrib/browser-plugin/pk-plugin-install.c:466
+#: ../contrib/browser-plugin/pk-plugin-install.c:499
msgid "Getting package information..."
-msgstr "ZjiÅ¡Å¥uji informace o balÃcÃch..."
+msgstr "ZjiÅ¡Å¥ujà se informace o balÃÄcÃch..."
#. TRANSLATORS: run an applicaiton
-#: ../contrib/browser-plugin/pk-plugin-install.c:472
+#: ../contrib/browser-plugin/pk-plugin-install.c:505
#, c-format
msgid "Run %s"
msgstr "Spustit %s"
#. TRANSLATORS: show the installed version of a package
-#: ../contrib/browser-plugin/pk-plugin-install.c:478
+#: ../contrib/browser-plugin/pk-plugin-install.c:511
msgid "Installed version"
msgstr "Nainstalovaná verze"
#. TRANSLATORS: run the application now
-#: ../contrib/browser-plugin/pk-plugin-install.c:486
+#: ../contrib/browser-plugin/pk-plugin-install.c:519
#, c-format
msgid "Run version %s now"
msgstr "Spustit verzi %s"
#. TRANSLATORS: run the application now
-#: ../contrib/browser-plugin/pk-plugin-install.c:492
+#: ../contrib/browser-plugin/pk-plugin-install.c:525
msgid "Run now"
-msgstr "Spustit ihned"
+msgstr "Spustit nynÃ"
#. TRANSLATORS: update to a new version of the package
-#: ../contrib/browser-plugin/pk-plugin-install.c:498
+#: ../contrib/browser-plugin/pk-plugin-install.c:531
#, c-format
msgid "Update to version %s"
msgstr "Aktualizovat na verzi %s"
#. TRANSLATORS: To install a package
-#: ../contrib/browser-plugin/pk-plugin-install.c:504
+#: ../contrib/browser-plugin/pk-plugin-install.c:537
#, c-format
msgid "Install %s now"
-msgstr "Instalovat %s"
+msgstr "Instalovat nynà %s"
#. TRANSLATORS: the version of the package
-#: ../contrib/browser-plugin/pk-plugin-install.c:507
+#: ../contrib/browser-plugin/pk-plugin-install.c:540
msgid "Version"
msgstr "Verze"
#. TRANSLATORS: noting found, so can't install
-#: ../contrib/browser-plugin/pk-plugin-install.c:512
+#: ../contrib/browser-plugin/pk-plugin-install.c:545
msgid "No packages found for your system"
-msgstr "Pro váš systém nebyly nalezeny žádné balÃky"
+msgstr "Pro váš systém nebyly nalezeny žádné balÃÄky"
#. TRANSLATORS: package is being installed
-#: ../contrib/browser-plugin/pk-plugin-install.c:517
+#: ../contrib/browser-plugin/pk-plugin-install.c:550
msgid "Installing..."
-msgstr "Instaluji..."
+msgstr "Instaluje se..."
#. TRANSLATORS: downloading repo data so we can search
-#: ../contrib/command-not-found/pk-command-not-found.c:349
+#: ../contrib/command-not-found/pk-command-not-found.c:366
msgid "Downloading details about the software sources."
-msgstr "Stahuji detaily o zdrojÃch software."
+msgstr "Stahujà se podrobnosti ke zdrojům programů."
#. TRANSLATORS: downloading file lists so we can search
-#: ../contrib/command-not-found/pk-command-not-found.c:353
+#: ../contrib/command-not-found/pk-command-not-found.c:370
msgid "Downloading filelists (this may take some time to complete)."
-msgstr "Stahuji seznamy souborů (dokonÄenà může chvÃli trvat)."
+msgstr "Stahujà se seznamy souborů (dokonÄenà úkolu může chvÃli trvat)."
#. TRANSLATORS: waiting for native lock
-#: ../contrib/command-not-found/pk-command-not-found.c:357
+#: ../contrib/command-not-found/pk-command-not-found.c:374
msgid "Waiting for package manager lock."
-msgstr "Äekám na zámek správce balÃÄků."
+msgstr "Äeká se na zámek správce balÃÄků."
#. TRANSLATORS: loading package cache so we can search
-#: ../contrib/command-not-found/pk-command-not-found.c:361
+#: ../contrib/command-not-found/pk-command-not-found.c:378
msgid "Loading list of packages."
-msgstr "NaÄÃtám seznam balÃků."
+msgstr "Nahráváse seznam balÃÄků."
#. TRANSLATORS: we failed to find the package, this shouldn't happen
-#: ../contrib/command-not-found/pk-command-not-found.c:420
-#, fuzzy
+#: ../contrib/command-not-found/pk-command-not-found.c:444
msgid "Failed to search for file"
-msgstr "NepodaÅilo se zÃskat poslednà Äas"
+msgstr "Nalezenà souboru se nezdaÅilo"
+
+#. TRANSLATORS: the transaction failed in a way we could not expect
+#: ../contrib/command-not-found/pk-command-not-found.c:456
+msgid "Getting the list of files failed"
+msgstr "ZÃskánà seznamu souborů se nezdaÅilo"
#. TRANSLATORS: we failed to launch the executable, the error follows
-#: ../contrib/command-not-found/pk-command-not-found.c:557
-#, fuzzy
+#: ../contrib/command-not-found/pk-command-not-found.c:602
msgid "Failed to launch:"
-msgstr "NepodaÅilo se zÃskat poslednà Äas"
+msgstr "NepodaÅilo se spustit:"
+
+#. TRANSLATORS: we failed to install the package
+#: ../contrib/command-not-found/pk-command-not-found.c:630
+msgid "Failed to install packages"
+msgstr "NepodaÅilo se nainstalovat balÃÄky"
#. TRANSLATORS: tool that gets called when the command is not found
-#: ../contrib/command-not-found/pk-command-not-found.c:632
-#, fuzzy
+#: ../contrib/command-not-found/pk-command-not-found.c:706
msgid "PackageKit Command Not Found"
-msgstr "PackageKit Monitor"
+msgstr "PÅÃkaz pro PackageKit nebyl nalezen"
-#. TRANSLATORS: the prefix of all the output telling the user why it's not executing
-#: ../contrib/command-not-found/pk-command-not-found.c:658
-msgid "Command not found."
-msgstr "PÅÃkaz nenalezen."
+#. 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:739
+msgid "command not found"
+msgstr "PÅÃkaz nebyl nenalezen."
#. TRANSLATORS: tell the user what we think the command is
-#: ../contrib/command-not-found/pk-command-not-found.c:665
+#: ../contrib/command-not-found/pk-command-not-found.c:757
msgid "Similar command is:"
msgstr "Podobný pÅÃkaz je:"
#. TRANSLATORS: Ask the user if we should run the similar command
-#: ../contrib/command-not-found/pk-command-not-found.c:674
+#: ../contrib/command-not-found/pk-command-not-found.c:771
msgid "Run similar command:"
msgstr "Spustit podobný pÅÃkaz:"
#. TRANSLATORS: show the user a list of commands that they could have meant
#. TRANSLATORS: show the user a list of commands we could run
-#: ../contrib/command-not-found/pk-command-not-found.c:686
-#: ../contrib/command-not-found/pk-command-not-found.c:695
+#: ../contrib/command-not-found/pk-command-not-found.c:785
+#: ../contrib/command-not-found/pk-command-not-found.c:794
msgid "Similar commands are:"
msgstr "Podobné pÅÃkazy jsou:"
#. TRANSLATORS: ask the user to choose a file to run
-#: ../contrib/command-not-found/pk-command-not-found.c:702
+#: ../contrib/command-not-found/pk-command-not-found.c:801
msgid "Please choose a command to run"
-msgstr "ProsÃm vyberte pÅÃkaz ke spuÅ¡tÄnÃ"
+msgstr "Vyberte, prosÃm, pÅÃkaz ke spuÅ¡tÄnÃ"
#. TRANSLATORS: tell the user what package provides the command
-#: ../contrib/command-not-found/pk-command-not-found.c:721
+#: ../contrib/command-not-found/pk-command-not-found.c:819
msgid "The package providing this file is:"
-msgstr "BalÃk poskytujÃcà tento soubor je:"
+msgstr "BalÃÄek poskytujÃcà tento soubor je:"
#. TRANSLATORS: as the user if we want to install a package to provide the command
-#: ../contrib/command-not-found/pk-command-not-found.c:726
+#: ../contrib/command-not-found/pk-command-not-found.c:826
#, c-format
msgid "Install package '%s' to provide command '%s'?"
-msgstr ""
+msgstr "Nainstalovat balÃÄek '%s', který poskytuje pÅÃkaz '%s'?"
#. TRANSLATORS: Show the user a list of packages that provide this command
-#: ../contrib/command-not-found/pk-command-not-found.c:747
+#: ../contrib/command-not-found/pk-command-not-found.c:853
msgid "Packages providing this file are:"
-msgstr "BalÃky poskytujÃcà tento soubor jsou:"
+msgstr "BalÃÄky poskytujÃcà tento soubor jsou:"
#. TRANSLATORS: Show the user a list of packages that they can install to provide this command
-#: ../contrib/command-not-found/pk-command-not-found.c:756
+#: ../contrib/command-not-found/pk-command-not-found.c:863
msgid "Suitable packages are:"
-msgstr "Možné balÃky jsou:"
+msgstr "Vhodn̩ bal̀ky jsou:"
#. get selection
#. TRANSLATORS: ask the user to choose a file to install
-#: ../contrib/command-not-found/pk-command-not-found.c:764
+#: ../contrib/command-not-found/pk-command-not-found.c:872
msgid "Please choose a package to install"
-msgstr "ProsÃm vyberte balÃÄek k instalaci"
+msgstr "Vyberte, prosÃm, balÃÄek, který se má instalovat"
#. TRANSLATORS: we are starting to install the packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:187
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:195
msgid "Starting install"
-msgstr "SpouÅ¡Ãm instalaci"
+msgstr "Spouštà se instalace"
#. TRANSLATORS: we couldn't find the package name, non-fatal
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:397
-#, fuzzy, c-format
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:407
+#, c-format
msgid "Failed to find the package %s, or already installed: %s"
-msgstr "BalÃk '%s' je již nainstalován"
+msgstr "NepodaÅilo se najÃt balÃÄek %s, nebo je již nainstalován: %s"
#. command line argument, simulate what would be done, but don't actually do it
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:552
-msgid "Don't actually install any packages, only simulate what would be installed"
-msgstr ""
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:516
+msgid ""
+"Don't actually install any packages, only simulate what would be installed"
+msgstr "Ve skuteÄnosti neinstalovat žádné balÃÄky, pouze instalaci napodobit"
#. command line argument, do we skip packages that depend on the ones specified
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:555
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:519
msgid "Do not install dependencies of the core packages"
-msgstr ""
+msgstr "Neinstalovat závislosti základnÃch balÃÄků"
#. command line argument, do we operate quietly
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:558
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:522
msgid "Do not display information or progress"
-msgstr "nezobrazovat informace nebo půbÄh"
+msgstr "Nezobrazovat informace nebo postup"
#. TRANSLATORS: tool that gets called when the command is not found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:576
-#, fuzzy
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:540
msgid "PackageKit Debuginfo Installer"
-msgstr "Konzolové rozhranà PackageKitu"
+msgstr "Instalátor pro informace o chybách pro PackageKit"
#. TRANSLATORS: the use needs to specify a list of package names on the command line
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:588
-#, fuzzy, c-format
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:554
+#, c-format
msgid "ERROR: Specify package names to install."
-msgstr "Vyberte balÃk nebo soubor, která se bude instalovat"
+msgstr "CHYBA: Zadejte názvy balÃÄků, které se majà nainstalovat"
#. TRANSLATORS: we are getting the list of repositories
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:622
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:590
#, c-format
msgid "Getting sources list"
-msgstr "ZÃskávám seznam zdrojů"
+msgstr "ZÃskává se seznam zdrojů"
+
+#. TRANSLATORS: operation was not successful
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:600
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:675
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:759
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:803
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:870
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:914
+msgid "FAILED."
+msgstr "SELHALO."
#. TRANSLATORS: all completed 100%
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:640
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:680
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:715
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:799
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:843
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:910
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:954
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:615
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:655
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:690
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:774
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:818
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:885
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:929
#, c-format
msgid "OK."
msgstr "OK."
#. TRANSLATORS: tell the user what we found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:643
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:618
#, c-format
msgid "Found %i enabled and %i disabled sources."
msgstr "Nalezeno %i povolených a %i zakázaných zdrojů."
#. TRANSLATORS: we're finding repositories that match out pattern
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:650
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:625
#, c-format
msgid "Finding debugging sources"
-msgstr ""
+msgstr "Hledajà se zdroje informacà o chybách"
#. TRANSLATORS: tell the user what we found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:683
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:658
#, c-format
msgid "Found %i disabled debuginfo repos."
-msgstr ""
+msgstr "Bylo nalezeno %i vypnutých skladišť s informacemi o chybách."
#. TRANSLATORS: we're now enabling all the debug sources we found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:690
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:665
#, c-format
msgid "Enabling debugging sources"
-msgstr ""
-
-#. TRANSLATORS: operation was not successful
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:700
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:784
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:828
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:895
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:939
-msgid "FAILED."
-msgstr "SELHALO."
+msgstr "Povolujà se zdroje informacà o chybách"
#. TRANSLATORS: tell the user how many we enabled
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:718
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:693
#, c-format
msgid "Enabled %i debugging sources."
-msgstr ""
+msgstr "Povoleno %i zdrojů informacà o chybách"
#. TRANSLATORS: we're now finding packages that match in all the repos
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:725
-#, fuzzy, c-format
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:700
+#, c-format
msgid "Finding debugging packages"
-msgstr "Hledám jméno balÃku."
+msgstr "Hledajà se balÃÄky s informacemi o chybách"
#. TRANSLATORS: we couldn't find the package name, non-fatal
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:737
-#, fuzzy, c-format
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:712
+#, c-format
msgid "Failed to find the package %s: %s"
-msgstr "Nemohu najÃt balÃk '%s': %s"
+msgstr "NepodaÅilo se najÃt balÃk %s: %s"
#. TRANSLATORS: we couldn't find the debuginfo package name, non-fatal
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:760
-#, fuzzy, c-format
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:735
+#, c-format
msgid "Failed to find the debuginfo package %s: %s"
-msgstr "Nemohu najÃt balÃk '%s': %s"
+msgstr "NepodaÅilo se najÃt balÃk s informacemi o chybách %s: %s"
#. TRANSLATORS: no debuginfo packages could be found to be installed
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:788
-#, fuzzy, c-format
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:763
+#, c-format
msgid "Found no packages to install."
-msgstr "BalÃk '%s' nemůže být nainstalován: %s"
+msgstr "Nebyly nalezeny žádné balÃÄky k instalaci."
#. TRANSLATORS: tell the user we found some packages, and then list them
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:802
-#, fuzzy, c-format
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:777
+#, c-format
msgid "Found %i packages:"
-msgstr "Stahuji"
+msgstr "Byly nalezeny %i balÃÄky:"
#. TRANSLATORS: tell the user we are searching for deps
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:818
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:793
#, c-format
msgid "Finding packages that depend on these packages"
-msgstr ""
+msgstr "Hledajà se balÃÄky, které závisejà na tÄchto balÃÄcÃch"
#. TRANSLATORS: could not install, detailed error follows
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:831
-#, fuzzy, c-format
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:806
+#, c-format
msgid "Could not find dependant packages: %s"
-msgstr "Nemohu najÃt odpovÃdajÃcà balÃk"
+msgstr "NepodaÅilo se nalézt závislé balÃÄky: %s"
#. TRANSLATORS: tell the user we found some more packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:847
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:822
#, c-format
msgid "Found %i extra packages."
-msgstr "Nalezeno %i extra balÃÄků."
+msgstr "Bylo nalezeno %i dalÅ¡Ãch balÃÄků."
#. TRANSLATORS: tell the user we found some more packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:851
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:826
#, c-format
msgid "No extra packages required."
-msgstr "Nejsou potÅeba žádné extra balÃÄky."
+msgstr "Nejsou potÅeba žádné dalÅ¡Ã balÃÄky."
#. TRANSLATORS: tell the user we found some packages (and deps), and then list them
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:860
-#, fuzzy, c-format
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:835
+#, c-format
msgid "Found %i packages to install:"
-msgstr "BalÃk '%s' nemůže být nainstalován: %s"
+msgstr "Byly nalezeny %i balÃÄky k instalaci:"
#. TRANSLATORS: simulate mode is a testing mode where we quit before the action
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:873
-#, fuzzy, c-format
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:848
+#, c-format
msgid "Not installing packages in simulate mode"
-msgstr "Nainstalovat balÃk"
+msgstr "Nebyly instalovány žádné balÃÄky v režimu napodobenà instalace"
+
+#. 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:287
+#, c-format
+msgid "Installing packages"
+msgstr "Instalujà se balÃÄky"
#. TRANSLATORS: could not install, detailed error follows
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:898
-#, fuzzy, c-format
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:873
+#, c-format
msgid "Could not install packages: %s"
-msgstr "Tento nástroj nenà schopen nainstalovat balÃky: %s"
+msgstr "NepodaÅilo se nainstalovat balÃÄky: %s"
#. TRANSLATORS: we are now disabling all debuginfo repos we previously enabled
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:930
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:905
#, c-format
msgid "Disabling sources previously enabled"
-msgstr ""
+msgstr "Zakazujà se zdroje, jež byly pÅedtÃm povoleny"
#. TRANSLATORS: no debuginfo packages could be found to be installed, detailed error follows
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:942
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:917
#, c-format
msgid "Could not disable the debugging sources: %s"
-msgstr ""
+msgstr "NepodaÅilo se zakázat zdroje s informacemi o chybách: %s"
#. TRANSLATORS: we disabled all the debugging repos that we enabled before
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:957
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:932
#, c-format
msgid "Disabled %i debugging sources."
-msgstr ""
+msgstr "Byly zakázány %i zdroje s informacemi o chybách."
#. TRANSLATORS: couldn't open device to write
-#: ../contrib/device-rebind/pk-device-rebind.c:61
+#: ../contrib/device-rebind/pk-device-rebind.c:62
msgid "Failed to open file"
-msgstr "Selhalo otevÅenà souboru"
+msgstr "NepodaÅilo se otevÅÃt soubor"
#. TRANSLATORS: could not write to the device
-#: ../contrib/device-rebind/pk-device-rebind.c:70
-#, fuzzy
+#: ../contrib/device-rebind/pk-device-rebind.c:71
msgid "Failed to write to the file"
-msgstr "NepodaÅilo se zÃskat poslednà Äas"
+msgstr "NepodaÅilo se provést zápis do souboru"
#. TRANSLATORS: we failed to release the current driver
-#: ../contrib/device-rebind/pk-device-rebind.c:110
-#: ../contrib/device-rebind/pk-device-rebind.c:147
-#, fuzzy
+#: ../contrib/device-rebind/pk-device-rebind.c:111
+#: ../contrib/device-rebind/pk-device-rebind.c:148
msgid "Failed to write to device"
-msgstr "Selhalo uloženà na disk"
+msgstr "NepodaÅilo se provést zápis na zaÅÃzenÃ"
#. TRANSLATORS: the device could not be found in sysfs
-#: ../contrib/device-rebind/pk-device-rebind.c:175
-#, fuzzy
+#: ../contrib/device-rebind/pk-device-rebind.c:176
msgid "Device could not be found"
-msgstr "BalÃk nebyl nalezen."
+msgstr "ZaÅÃzenà se nepodaÅilo najÃt"
#. TRANSLATORS: we failed to release the current driver
-#: ../contrib/device-rebind/pk-device-rebind.c:202
-#, fuzzy
+#: ../contrib/device-rebind/pk-device-rebind.c:203
msgid "Failed to unregister driver"
-msgstr "NepodaÅilo se vytvoÅit adresáÅ."
+msgstr "OvladaÄ se nepodaÅilo odhlásit"
#. TRANSLATORS: we failed to bind the old driver
-#: ../contrib/device-rebind/pk-device-rebind.c:211
-#, fuzzy
+#: ../contrib/device-rebind/pk-device-rebind.c:212
msgid "Failed to register driver"
-msgstr "NepodaÅilo se vytvoÅit adresáÅ."
+msgstr "OvladaÄ se nepodaÅilo pÅihlásit"
#. TRANSLATORS: user did not specify a device sysfs path that exists
-#: ../contrib/device-rebind/pk-device-rebind.c:260
-#, fuzzy
+#: ../contrib/device-rebind/pk-device-rebind.c:261
msgid "Device path not found"
-msgstr "AdresáŠnenalezen"
+msgstr "Cesta k zaÅÃzenà nebyla nalezena"
#. TRANSLATORS: user did not specify a valid device sysfs path
-#: ../contrib/device-rebind/pk-device-rebind.c:268
+#: ../contrib/device-rebind/pk-device-rebind.c:269
msgid "Incorrect device path specified"
-msgstr "UrÄena nesprávná cesta zaÅÃzenÃ"
+msgstr "Zadána nesprávná cesta k zaÅÃzenÃ"
+
+#: ../contrib/device-rebind/pk-device-rebind.c:294
+msgid "Show extra debugging information"
+msgstr "Ukázat dalšà informace o chybách"
#. command line argument, simulate what would be done, but don't actually do it
-#: ../contrib/device-rebind/pk-device-rebind.c:296
+#: ../contrib/device-rebind/pk-device-rebind.c:297
msgid "Don't actually touch the hardware, only simulate what would be done"
msgstr ""
+"Nedotýkat se ve skuteÄnosti žádného technického vybavenÃ, nýbrž jen "
+"napodobit, co se dÄlá"
#. TRANSLATORS: command line option: a list of files to install
-#: ../contrib/device-rebind/pk-device-rebind.c:299
+#: ../contrib/device-rebind/pk-device-rebind.c:300
msgid "Device paths"
-msgstr "Cesty zaÅÃzenÃ"
+msgstr "Cesty k zaÅÃzenÃ"
#. TRANSLATORS: tool that gets called when the device needs reloading after installing firmware
-#: ../contrib/device-rebind/pk-device-rebind.c:314
-#, fuzzy
+#: ../contrib/device-rebind/pk-device-rebind.c:315
msgid "PackageKit Device Reloader"
-msgstr "BalÃcà služba PackageKit"
+msgstr "DobÃjeÄ zaÅÃzenà PackageKit"
#. TRANSLATORS: user did not specify a valid device sysfs path
-#: ../contrib/device-rebind/pk-device-rebind.c:322
-#, fuzzy
+#: ../contrib/device-rebind/pk-device-rebind.c:323
msgid "You need to specify at least one valid device path"
-msgstr "Je nutné urÄit Äasový termÃn"
+msgstr "PotÅebujete zadat alespoÅ jednu správnou cestu k zaÅÃzenÃ"
#. TRANSLATORS: user did not specify a valid device sysfs path
-#: ../contrib/device-rebind/pk-device-rebind.c:332
+#: ../contrib/device-rebind/pk-device-rebind.c:333
msgid "This script can only be used by the root user"
-msgstr "Tento skript může být použit pouze uživatelem root"
+msgstr "Tento skript může být použit pouze superuživatelem"
#. TRANSLATORS: we're going to verify the path first
-#: ../contrib/device-rebind/pk-device-rebind.c:341
+#: ../contrib/device-rebind/pk-device-rebind.c:342
msgid "Verifying device path"
-msgstr "OvÄÅuji cestu zaÅÃzenÃ"
+msgstr "OvÄÅuje se cesta k zaÅÃzenÃ"
#. TRANSLATORS: user did not specify a device sysfs path that exists
-#: ../contrib/device-rebind/pk-device-rebind.c:346
-#, fuzzy
+#: ../contrib/device-rebind/pk-device-rebind.c:347
msgid "Failed to verify device path"
-msgstr "NepodaÅilo se zÃskat poslednà Äas"
+msgstr "NepodaÅilo se ovÄÅit cestu k zaÅÃzenÃ"
#. TRANSLATORS: we're going to try
-#: ../contrib/device-rebind/pk-device-rebind.c:360
+#: ../contrib/device-rebind/pk-device-rebind.c:361
msgid "Attempting to rebind device"
-msgstr ""
+msgstr "ZkouÅ¡Ã se opÄtovné pÅipojenà zaÅÃzenÃ"
#. TRANSLATORS: we failed to release the current driver
-#: ../contrib/device-rebind/pk-device-rebind.c:365
-#, fuzzy
+#: ../contrib/device-rebind/pk-device-rebind.c:366
msgid "Failed to rebind device"
-msgstr "NepodaÅilo se vytvoÅit adresáÅ."
+msgstr "NepodaÅilo se znovu pÅipojit zaÅÃzenÃ"
#: ../data/packagekit-catalog.xml.in.h:1
msgid "PackageKit Catalog"
-msgstr "PackageKit Katalog"
+msgstr "PÅehled pro PackageKit"
#: ../data/packagekit-package-list.xml.in.h:1
msgid "PackageKit Package List"
-msgstr "PackageKit seznam balÃků"
+msgstr "Seznam balÃÄků pro PackageKit"
#: ../data/packagekit-servicepack.xml.in.h:1
msgid "PackageKit Service Pack"
-msgstr "BalÃcà služba PackageKit"
+msgstr "Obslužný balÃk PackageKit"
+
+#: ../lib/packagekit-glib2/pk-console-shared.c:63
+#, c-format
+msgid "Please enter a number from 1 to %i: "
+msgstr "Zadejte, prosÃm, ÄÃslo od 1 do %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:189
+msgid "More than one package matches:"
+msgstr "OdpovÃdá vÃce než jeden balÃÄek:"
+
+#. TRANSLATORS: This finds out which package in the list to use
+#: ../lib/packagekit-glib2/pk-console-shared.c:200
+msgid "Please choose the correct package: "
+msgstr "Vyberte, prosÃm, správný balÃÄek: "
+
+#. TRANSLATORS: This is when the transaction status is not known
+#: ../lib/packagekit-glib2/pk-console-shared.c:255
+msgid "Unknown state"
+msgstr "Neznámý stav"
+
+#. TRANSLATORS: transaction state, the daemon is in the process of starting
+#: ../lib/packagekit-glib2/pk-console-shared.c:259
+msgid "Starting"
+msgstr "Spouštà se"
+
+#. TRANSLATORS: transaction state, the transaction is waiting for another to complete
+#: ../lib/packagekit-glib2/pk-console-shared.c:263
+msgid "Waiting in queue"
+msgstr "Äeká se v ÅadÄ"
+
+#. TRANSLATORS: transaction state, just started
+#: ../lib/packagekit-glib2/pk-console-shared.c:267
+msgid "Running"
+msgstr "Provádà se"
+
+#. TRANSLATORS: transaction state, is querying data
+#: ../lib/packagekit-glib2/pk-console-shared.c:271
+msgid "Querying"
+msgstr "Vyvolává se"
+
+#. TRANSLATORS: transaction state, getting data from a server
+#: ../lib/packagekit-glib2/pk-console-shared.c:275
+msgid "Getting information"
+msgstr "ZÃskavajà se informace"
+
+#. TRANSLATORS: transaction state, removing packages
+#: ../lib/packagekit-glib2/pk-console-shared.c:279
+msgid "Removing packages"
+msgstr "OdstraÅujà se balÃÄky"
+
+#. TRANSLATORS: transaction state, downloading package files
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:283
+#: ../lib/packagekit-glib2/pk-console-shared.c:661
+msgid "Downloading packages"
+msgstr "Stahujà se balÃÄky"
+
+#. TRANSLATORS: transaction state, refreshing internal lists
+#: ../lib/packagekit-glib2/pk-console-shared.c:291
+msgid "Refreshing software list"
+msgstr "Obnovuje se seznam balÃÄků"
+
+#. TRANSLATORS: transaction state, installing updates
+#: ../lib/packagekit-glib2/pk-console-shared.c:295
+msgid "Installing updates"
+msgstr "Instalujà se nejnovÄjÅ¡Ã balÃÄky"
+
+#. TRANSLATORS: transaction state, removing old packages, and cleaning config files
+#: ../lib/packagekit-glib2/pk-console-shared.c:299
+msgid "Cleaning up packages"
+msgstr "UklÃzà se balÃÄky"
+
+#. TRANSLATORS: transaction state, obsoleting old packages
+#: ../lib/packagekit-glib2/pk-console-shared.c:303
+msgid "Obsoleting packages"
+msgstr "UklÃzà se zastaralé balÃÄky"
+
+#. TRANSLATORS: transaction state, checking the transaction before we do it
+#: ../lib/packagekit-glib2/pk-console-shared.c:307
+msgid "Resolving dependencies"
+msgstr "Nacházà se ÅeÅ¡enà závislostÃ"
+
+#. TRANSLATORS: transaction state, checking if we have all the security keys for the operation
+#: ../lib/packagekit-glib2/pk-console-shared.c:311
+msgid "Checking signatures"
+msgstr "OvÄÅujà se podpisy"
+
+#. 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:315
+#: ../lib/packagekit-glib2/pk-console-shared.c:621
+msgid "Rolling back"
+msgstr "Vracà se zpÄt"
+
+#. TRANSLATORS: transaction state, when we're doing a test transaction
+#: ../lib/packagekit-glib2/pk-console-shared.c:319
+msgid "Testing changes"
+msgstr "ZkouÅ¡Ã se zmÄny"
+
+#. TRANSLATORS: transaction state, when we're writing to the system package database
+#: ../lib/packagekit-glib2/pk-console-shared.c:323
+msgid "Committing changes"
+msgstr "Zaznamenávajà se zmÄny"
+
+#. TRANSLATORS: transaction state, requesting data from a server
+#: ../lib/packagekit-glib2/pk-console-shared.c:327
+msgid "Requesting data"
+msgstr "Požadujà se data"
+
+#. TRANSLATORS: transaction state, all done!
+#: ../lib/packagekit-glib2/pk-console-shared.c:331
+msgid "Finished"
+msgstr "Hotovo"
+
+#. TRANSLATORS: transaction state, in the process of cancelling
+#: ../lib/packagekit-glib2/pk-console-shared.c:335
+msgid "Cancelling"
+msgstr "Rušà se"
+
+#. TRANSLATORS: transaction state, downloading metadata
+#: ../lib/packagekit-glib2/pk-console-shared.c:339
+msgid "Downloading repository information"
+msgstr "Stahujà se informace o skladišti"
+
+#. TRANSLATORS: transaction state, downloading metadata
+#: ../lib/packagekit-glib2/pk-console-shared.c:343
+msgid "Downloading list of packages"
+msgstr "Stahuje se seznam balÃÄků"
+
+#. TRANSLATORS: transaction state, downloading metadata
+#: ../lib/packagekit-glib2/pk-console-shared.c:347
+msgid "Downloading file lists"
+msgstr "Stahuje se seznam souborů"
+
+#. TRANSLATORS: transaction state, downloading metadata
+#: ../lib/packagekit-glib2/pk-console-shared.c:351
+msgid "Downloading lists of changes"
+msgstr "Stahuje se seznam zmÄn"
+
+#. TRANSLATORS: transaction state, downloading metadata
+#: ../lib/packagekit-glib2/pk-console-shared.c:355
+msgid "Downloading groups"
+msgstr "Stahujà se skupiny"
+
+#. TRANSLATORS: transaction state, downloading metadata
+#: ../lib/packagekit-glib2/pk-console-shared.c:359
+msgid "Downloading update information"
+msgstr "Stahujà se informace o nejnovÄjÅ¡Ãch balÃÄcÃch"
+
+#. TRANSLATORS: transaction state, repackaging delta files
+#: ../lib/packagekit-glib2/pk-console-shared.c:363
+msgid "Repackaging files"
+msgstr "Balà se znovu soubory"
+
+#. TRANSLATORS: transaction state, loading databases
+#: ../lib/packagekit-glib2/pk-console-shared.c:367
+msgid "Loading cache"
+msgstr "Nahrává se vyrovnávacà pamÄÅ¥"
+
+#. TRANSLATORS: transaction state, scanning for running processes
+#: ../lib/packagekit-glib2/pk-console-shared.c:371
+msgid "Scanning applications"
+msgstr "Prohledávajà se programy"
+
+#. TRANSLATORS: transaction state, generating a list of packages installed on the system
+#: ../lib/packagekit-glib2/pk-console-shared.c:375
+msgid "Generating package lists"
+msgstr "VytváÅà se seznamy balÃÄků"
+
+#. TRANSLATORS: transaction state, when we're waiting for the native tools to exit
+#: ../lib/packagekit-glib2/pk-console-shared.c:379
+msgid "Waiting for package manager lock"
+msgstr "Äeká se na zámek správce balÃÄků"
+
+#. TRANSLATORS: transaction state, waiting for user to type in a password
+#: ../lib/packagekit-glib2/pk-console-shared.c:383
+msgid "Waiting for authentication"
+msgstr "Äeká se na ovÄÅenÃ"
+
+#. TRANSLATORS: transaction state, we are updating the list of processes
+#: ../lib/packagekit-glib2/pk-console-shared.c:387
+msgid "Updating running applications"
+msgstr "Aktualizujà se bÄžÃcà programy"
+
+#. TRANSLATORS: transaction state, we are checking executable files currently in use
+#: ../lib/packagekit-glib2/pk-console-shared.c:391
+msgid "Checking applications in use"
+msgstr "OvÄÅujà se použÃvané programy"
+
+#. TRANSLATORS: transaction state, we are checking for libraries currently in use
+#: ../lib/packagekit-glib2/pk-console-shared.c:395
+msgid "Checking libraries in use"
+msgstr "OvÄÅujà se použÃvané knihovny"
+
+#. TRANSLATORS: transaction state, we are copying package files before or after the transaction
+#: ../lib/packagekit-glib2/pk-console-shared.c:399
+msgid "Copying files"
+msgstr "KopÃrujà se soubory"
+
+#. TRANSLATORS: The type of update
+#: ../lib/packagekit-glib2/pk-console-shared.c:417
+msgid "Trivial"
+msgstr "Bezvýznamný"
+
+#. TRANSLATORS: The type of update
+#: ../lib/packagekit-glib2/pk-console-shared.c:421
+msgid "Normal"
+msgstr "Obvyklý"
+
+#. TRANSLATORS: The type of update
+#: ../lib/packagekit-glib2/pk-console-shared.c:425
+msgid "Important"
+msgstr "Důležitý"
+
+#. TRANSLATORS: The type of update
+#: ../lib/packagekit-glib2/pk-console-shared.c:429
+msgid "Security"
+msgstr "BezpeÄnost"
+
+#. TRANSLATORS: The type of update
+#: ../lib/packagekit-glib2/pk-console-shared.c:433
+msgid "Bug fix "
+msgstr "Oprava chyby"
+
+#. TRANSLATORS: The type of update
+#: ../lib/packagekit-glib2/pk-console-shared.c:437
+msgid "Enhancement"
+msgstr "VylepÅ¡enÃ"
+
+#. TRANSLATORS: The type of update
+#: ../lib/packagekit-glib2/pk-console-shared.c:441
+msgid "Blocked"
+msgstr "Blokováno"
+
+#. TRANSLATORS: The state of a package
+#. TRANSLATORS: The action of the package, in past tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:446
+#: ../lib/packagekit-glib2/pk-console-shared.c:519
+msgid "Installed"
+msgstr "Nainstalováno"
+
+#. TRANSLATORS: The state of a package, i.e. not installed
+#: ../lib/packagekit-glib2/pk-console-shared.c:451
+msgid "Available"
+msgstr "Dostupné"
+
+#. TRANSLATORS: The action of the package, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:469
+msgid "Downloading"
+msgstr "Stahuje se"
+
+#. TRANSLATORS: The action of the package, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:473
+msgid "Updating"
+msgstr "Aktualizuje se"
+
+#. 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:477
+#: ../lib/packagekit-glib2/pk-console-shared.c:597
+msgid "Installing"
+msgstr "Instaluje se"
+
+#. 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:481
+#: ../lib/packagekit-glib2/pk-console-shared.c:593
+msgid "Removing"
+msgstr "OdstraÅuje se"
+
+#. TRANSLATORS: The action of the package, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:485
+msgid "Cleaning up"
+msgstr "UklÃzà se"
+
+#. TRANSLATORS: The action of the package, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:489
+msgid "Obsoleting"
+msgstr "UklÃzà se zastaralé balÃÄky"
+
+#. TRANSLATORS: The action of the package, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:493
+msgid "Reinstalling"
+msgstr "Instaluje se znovu"
+
+#. TRANSLATORS: The action of the package, in past tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:511
+msgid "Downloaded"
+msgstr "Staženo"
+
+#. TRANSLATORS: The action of the package, in past tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:523
+msgid "Removed"
+msgstr "OdstranÄno"
+
+#. TRANSLATORS: The action of the package, in past tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:527
+msgid "Cleaned up"
+msgstr "Uklizeno"
+
+#. TRANSLATORS: The action of the package, in past tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:531
+msgid "Obsoleted"
+msgstr "Zastaralé uklizeno"
+
+#. TRANSLATORS: The action of the package, in past tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:535
+msgid "Reinstalled"
+msgstr "Znovu nainstalováno"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:553
+msgid "Unknown role type"
+msgstr "Neznámý typ úlohy"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:557
+msgid "Getting dependencies"
+msgstr "ZÃskávajà se závislosti"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:561
+msgid "Getting update details"
+msgstr "ZÃskávajà se podrobnosti k nejnovÄjÅ¡Ãm balÃÄkům"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:565
+msgid "Getting details"
+msgstr "ZÃskávajà se podrobnosti"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:569
+msgid "Getting requires"
+msgstr "ZÃskávajà se požadavky"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:573
+msgid "Getting updates"
+msgstr "ZÃskávajà se nejnovÄjÅ¡Ã balÃÄky"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:577
+msgid "Searching by details"
+msgstr "Vyhledává se podle podrobnostÃ"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:581
+msgid "Searching by file"
+msgstr "Vyhledává se podle souboru"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:585
+msgid "Searching groups"
+msgstr "Vyhledává se podle skupiny"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:589
+msgid "Searching by name"
+msgstr "Vyhledává se podle názvu"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:601
+msgid "Installing files"
+msgstr "Instalujà se soubory"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:605
+msgid "Refreshing cache"
+msgstr "Obnovuje se vyrovnávacà pamÄÅ¥"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:609
+msgid "Updating packages"
+msgstr "Aktualizujà se balÃÄky"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:613
+msgid "Updating system"
+msgstr "Aktualizuje se systém"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:617
+msgid "Canceling"
+msgstr "Rušà se"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:625
+msgid "Getting repositories"
+msgstr "ZÃskávajà se skladiÅ¡tÄ"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:629
+msgid "Enabling repository"
+msgstr "Povolujà se skladiÅ¡tÄ"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:633
+msgid "Setting data"
+msgstr "Nastavujà se data"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:637
+msgid "Resolving"
+msgstr "Nacházà se ÅeÅ¡enÃ"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:641
+msgid "Getting file list"
+msgstr "ZÃskává se seznam souborů"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:645
+msgid "Getting provides"
+msgstr "ZÃskávajà se nabÃzejÃcÃ"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:649
+msgid "Installing signature"
+msgstr "Instaluje se podpis"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:653
+msgid "Getting packages"
+msgstr "ZÃskávajà se balÃÄky"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:657
+msgid "Accepting EULA"
+msgstr "PÅijÃmá se EULA"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:665
+msgid "Getting upgrades"
+msgstr "ZÃskávajà se vylepÅ¡enÃ"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:669
+msgid "Getting categories"
+msgstr "ZÃskávajà se skupiny"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:673
+msgid "Getting transactions"
+msgstr "ZÃskávajà se transakce"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:677
+#: ../lib/packagekit-glib2/pk-console-shared.c:681
+msgid "Simulating install"
+msgstr "Napodobuje se instalace"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:685
+msgid "Simulating remove"
+msgstr "Napodobuje se odstranÄnÃ"
+
+#. TRANSLATORS: The role of the transaction, in present tense
+#: ../lib/packagekit-glib2/pk-console-shared.c:689
+msgid "Simulating update"
+msgstr "Napodobuje se aktualizace"
+
+#. TRANSLATORS: turn on all debugging
+#: ../lib/packagekit-glib2/pk-debug.c:133
+msgid "Show debugging information for all files"
+msgstr "Ukázat informace o chybách pro všechny soubory"
+
+#: ../lib/packagekit-glib2/pk-debug.c:201
+msgid "Debugging Options"
+msgstr "Volby pro informace o chybách"
+
+#: ../lib/packagekit-glib2/pk-debug.c:201
+msgid "Show debugging options"
+msgstr "Ukázat volby pro informace o chybách"
+
+#. TRANSLATORS: ask the user if they are comfortable installing insecure packages
+#: ../lib/packagekit-glib2/pk-task-text.c:67
+msgid "Do you want to allow installing of unsigned software?"
+msgstr "Chcete povolit instalovánà nepodepsaných programů?"
+
+#. TRANSLATORS: tell the user we've not done anything
+#: ../lib/packagekit-glib2/pk-task-text.c:72
+msgid "The unsigned software will not be installed."
+msgstr "Nepodepsané programy nebudou nainstalovány."
+
+#. TRANSLATORS: the package repository is signed by a key that is not recognised
+#: ../lib/packagekit-glib2/pk-task-text.c:121
+msgid "Software source signature required"
+msgstr "Vyžadován podpis zdroje programů"
+
+#. TRANSLATORS: the package repository name
+#: ../lib/packagekit-glib2/pk-task-text.c:127
+msgid "Software source name"
+msgstr "Název zdroje programů"
+
+#. TRANSLATORS: the key URL
+#: ../lib/packagekit-glib2/pk-task-text.c:130
+msgid "Key URL"
+msgstr "Adresa (URL) klÃÄe"
+
+#. TRANSLATORS: the username of the key
+#: ../lib/packagekit-glib2/pk-task-text.c:133
+msgid "Key user"
+msgstr "Uživatel klÃÄe"
+
+#. TRANSLATORS: the key ID, usually a few hex digits
+#: ../lib/packagekit-glib2/pk-task-text.c:136
+msgid "Key ID"
+msgstr "ID klÃÄe"
+
+#. TRANSLATORS: the key fingerprint, again, yet more hex
+#: ../lib/packagekit-glib2/pk-task-text.c:139
+msgid "Key fingerprint"
+msgstr "Otisk prstu klÃÄe"
+
+#. TRANSLATORS: the timestamp (a bit like a machine readable time)
+#: ../lib/packagekit-glib2/pk-task-text.c:142
+msgid "Key Timestamp"
+msgstr "Äasové razÃtko klÃÄe"
+
+#. TRANSLATORS: ask the user if they want to import
+#: ../lib/packagekit-glib2/pk-task-text.c:155
+msgid "Do you accept this signature?"
+msgstr "PÅÃjÃmáte tento podpis?"
+
+#. TRANSLATORS: tell the user we've not done anything
+#: ../lib/packagekit-glib2/pk-task-text.c:160
+msgid "The signature was not accepted."
+msgstr "Podpis nebyl pÅijat."
+
+#. TRANSLATORS: this is another name for a software licence that has to be read before installing
+#: ../lib/packagekit-glib2/pk-task-text.c:203
+msgid "End user licence agreement required"
+msgstr "Je vyžadován souhlas s licencà pro koncového uživatele"
+
+#. TRANSLATORS: the EULA text itself (long and boring)
+#: ../lib/packagekit-glib2/pk-task-text.c:212
+msgid "Agreement"
+msgstr "UjednánÃ"
+
+#. TRANSLATORS: ask the user if they've read and accepted the EULA
+#: ../lib/packagekit-glib2/pk-task-text.c:221
+msgid "Do you accept this agreement?"
+msgstr "PÅÃjÃmáte toto ujednánÃ?"
+
+#. TRANSLATORS: tell the user we've not done anything
+#: ../lib/packagekit-glib2/pk-task-text.c:226
+msgid "The agreement was not accepted."
+msgstr "Ujednánà nebylo pÅijato."
+
+#. TRANSLATORS: the user needs to change media inserted into the computer
+#: ../lib/packagekit-glib2/pk-task-text.c:265
+msgid "Media change required"
+msgstr "Je vyžadována zmÄna nosiÄe"
+
+#. TRANSLATORS: the type, e.g. DVD, CD, etc
+#: ../lib/packagekit-glib2/pk-task-text.c:268
+msgid "Media type"
+msgstr "Typ nosiÄe"
+
+#. TRANSLATORS: the media label, usually like 'disk-1of3'
+#: ../lib/packagekit-glib2/pk-task-text.c:271
+msgid "Media label"
+msgstr "OznaÄenà nosiÄe"
+
+#. TRANSLATORS: the media description, usually like 'Fedora 12 disk 5'
+#: ../lib/packagekit-glib2/pk-task-text.c:274
+msgid "Text"
+msgstr "Text"
+
+#. TRANSLATORS: ask the user to insert the media
+#: ../lib/packagekit-glib2/pk-task-text.c:280
+msgid "Please insert the correct media"
+msgstr "Vložte, prosÃm, správný nosiÄ"
+
+#. TRANSLATORS: tell the user we've not done anything as they are lazy
+#: ../lib/packagekit-glib2/pk-task-text.c:285
+msgid "The correct media was not inserted."
+msgstr "Nebyl vložen správný nosiÄ."
+
+#. TRANSLATORS: When processing, we might have to remove other dependencies
+#: ../lib/packagekit-glib2/pk-task-text.c:300
+msgid "The following packages have to be removed:"
+msgstr "NásledujÃcà balÃky musà být odstranÄny:"
+
+#. TRANSLATORS: When processing, we might have to install other dependencies
+#: ../lib/packagekit-glib2/pk-task-text.c:305
+msgid "The following packages have to be installed:"
+msgstr "NásledujÃcà balÃky musà být nainstalovány:"
+
+#. TRANSLATORS: When processing, we might have to update other dependencies
+#: ../lib/packagekit-glib2/pk-task-text.c:310
+msgid "The following packages have to be updated:"
+msgstr "NásledujÃcà balÃky musà být aktualizovány:"
+
+#. TRANSLATORS: When processing, we might have to reinstall other dependencies
+#: ../lib/packagekit-glib2/pk-task-text.c:315
+msgid "The following packages have to be reinstalled:"
+msgstr "NásledujÃcà balÃky musà být znovu nainstalovány:"
+
+#. TRANSLATORS: When processing, we might have to downgrade other dependencies
+#: ../lib/packagekit-glib2/pk-task-text.c:320
+msgid "The following packages have to be downgraded:"
+msgstr "NásledujÃcà balÃky musà být vráceny na pÅedchozà verzi:"
+
+#. TRANSLATORS: ask the user if the proposed changes are okay
+#: ../lib/packagekit-glib2/pk-task-text.c:380
+msgid "Proceed with changes?"
+msgstr "PokraÄovat se zmÄnami?"
+
+#. TRANSLATORS: tell the user we didn't do anything
+#: ../lib/packagekit-glib2/pk-task-text.c:385
+msgid "The transaction did not proceed."
+msgstr "Transakce nemohla dále pokraÄovat."
#. SECURITY:
#. - Normal users do not require admin authentication to accept new
@@ -1571,80 +1772,102 @@ msgstr "BalÃcà služba PackageKit"
#.
#: ../policy/org.freedesktop.packagekit.policy.in.h:7
msgid "Accept EULA"
-msgstr "PÅijmout licenÄnà smlouvu"
+msgstr "PÅijmout licenÄnà smlouvu (EULA)"
#: ../policy/org.freedesktop.packagekit.policy.in.h:8
msgid "Authentication is required to accept a EULA"
-msgstr "Pro pÅijetà licenÄnà smlouvy je vyžadováno oprávnÄnÃ"
+msgstr "Pro pÅijetà licenÄnà smlouvy (EULA) je vyžadováno oprávnÄnÃ"
#: ../policy/org.freedesktop.packagekit.policy.in.h:9
-#, fuzzy
-msgid "Authentication is required to cancel a task that was not started by yourself"
-msgstr "Pro zmÄnu parametrů zdrojů softwaru je vyžádováno oprávnÄnÃ"
+msgid ""
+"Authentication is required to cancel a task that was not started by yourself"
+msgstr "Pro zruÅ¡enà úlohy, kterou jste sám nespustil, je vyžádováno oprávnÄnÃ"
#: ../policy/org.freedesktop.packagekit.policy.in.h:10
msgid "Authentication is required to change software source parameters"
-msgstr "Pro zmÄnu parametrů zdrojů softwaru je vyžádováno oprávnÄnÃ"
+msgstr "Pro zmÄnu parametrů zdrojů programů je vyžádováno oprávnÄnÃ"
#: ../policy/org.freedesktop.packagekit.policy.in.h:11
-#, fuzzy
-msgid "Authentication is required to consider a key used for signing packages as trusted"
-msgstr "K obnovenà seznamů balÃků je vyžadováno oprávnÄnÃ"
+msgid ""
+"Authentication is required to change the location used to decompress packages"
+msgstr ""
+"Pro zmÄnu mÃsta použÃvaného pro rozbalovánà balÃÄků je vyžadováno oprávnÄnÃ"
#: ../policy/org.freedesktop.packagekit.policy.in.h:12
-#, fuzzy
-msgid "Authentication is required to install a signed package"
-msgstr "K instalaci balÃku je vyžadováno oprávnÄnÃ"
+msgid ""
+"Authentication is required to consider a key used for signing packages as "
+"trusted"
+msgstr ""
+"Pro zváženà klÃÄe použitého k podepsánà balÃÄků je vyžadováno oprávnÄnÃ"
#: ../policy/org.freedesktop.packagekit.policy.in.h:13
-#, fuzzy
-msgid "Authentication is required to install an untrusted package"
-msgstr "K instalaci balÃku je vyžadováno oprávnÄnÃ"
+msgid "Authentication is required to install a signed package"
+msgstr "Pro instalaci podepsaného balÃÄku je vyžadováno oprávnÄnÃ"
#: ../policy/org.freedesktop.packagekit.policy.in.h:14
-#, fuzzy
-msgid "Authentication is required to refresh the system sources"
-msgstr "K obnovenà seznamů balÃků je vyžadováno oprávnÄnÃ"
+msgid "Authentication is required to install an untrusted package"
+msgstr "Pro instalaci nedůvÄryhodného balÃÄku je vyžadováno oprávnÄnÃ"
#: ../policy/org.freedesktop.packagekit.policy.in.h:15
-#, fuzzy
-msgid "Authentication is required to reload the device with a new driver"
-msgstr "K obnovenà seznamů balÃků je vyžadováno oprávnÄnÃ"
+msgid "Authentication is required to refresh the system sources"
+msgstr "Pro obnovenà systémových zdrojů je vyžadováno oprávnÄnÃ"
#: ../policy/org.freedesktop.packagekit.policy.in.h:16
-msgid "Authentication is required to remove packages"
-msgstr "K odstranÄnà balÃků je vyžadováno oprávnÄnÃ"
+msgid "Authentication is required to reload the device with a new driver"
+msgstr ""
+"Pro opÄtovné nahránà zaÅÃzenà s novým ovladaÄem je vyžadováno oprávnÄnÃ"
#: ../policy/org.freedesktop.packagekit.policy.in.h:17
-msgid "Authentication is required to rollback a transaction"
-msgstr "K vrácenà akce je vyžadováno oprávnÄnÃ"
+msgid "Authentication is required to remove packages"
+msgstr "Pro odstranÄnà balÃků je vyžadováno oprávnÄnÃ"
#: ../policy/org.freedesktop.packagekit.policy.in.h:18
-#, fuzzy
-msgid "Authentication is required to set the network proxy used for downloading packages"
-msgstr "K odstranÄnà balÃků je vyžadováno oprávnÄnÃ"
+msgid "Authentication is required to rollback a transaction"
+msgstr "Pro vrácenà transakce je vyžadováno oprávnÄnÃ"
#: ../policy/org.freedesktop.packagekit.policy.in.h:19
+msgid ""
+"Authentication is required to set the network proxy used for downloading "
+"packages"
+msgstr ""
+"Pro nastavenà sÃÅ¥ové proxy použÃvané ke stahovánà balÃÄků je vyžadováno "
+"oprávnÄnÃ"
+
+#: ../policy/org.freedesktop.packagekit.policy.in.h:20
msgid "Authentication is required to update packages"
-msgstr "K aktualizaci balÃků je vyžadováno oprávnÄnÃ"
+msgstr "Pro aktualizaci balÃÄků je vyžadováno oprávnÄnÃ"
+
+#: ../policy/org.freedesktop.packagekit.policy.in.h:21
+msgid "Authentication is required to upgrade the operating system"
+msgstr "Pro povýšenà operaÄnÃho systému je vyžadováno oprávnÄnÃ"
#. SECURITY:
#. - Normal users are allowed to cancel their own task without
#. authentication, but a different user id needs the admin password
#. to cancel another users task.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:25
+#: ../policy/org.freedesktop.packagekit.policy.in.h:27
msgid "Cancel foreign task"
-msgstr ""
+msgstr "Zrušit cizà úkol"
+
+#. SECURITY:
+#. - This is used when users want to install to a different prefix, for
+#. instance to a LTSP image or a virtual machine.
+#. - This could be used to overwrite files not owned by the user using
+#. a carefully created package file.
+#.
+#: ../policy/org.freedesktop.packagekit.policy.in.h:34
+msgid "Change location that packages are installed"
+msgstr "ZmÄnit mÃsto, kam jsou balÃÄky instalovány"
#. SECURITY:
#. - Normal users require admin authentication to enable or disable
#. software sources as this can be used to enable new updates or
#. install different versions of software.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:31
+#: ../policy/org.freedesktop.packagekit.policy.in.h:40
msgid "Change software source parameters"
-msgstr "ZmÄnit parametry zdrojů softwaru"
+msgstr "ZmÄnit parametry zdrojů programů"
#. SECURITY:
#. - Normal users do not need authentication to install signed packages
@@ -1652,7 +1875,7 @@ msgstr "ZmÄnit parametry zdrojů softwaru"
#. - Paranoid users (or parents!) can change this to 'auth_admin' or
#. 'auth_admin_keep'.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:38
+#: ../policy/org.freedesktop.packagekit.policy.in.h:47
msgid "Install signed package"
msgstr "Nainstalovat podepsaný balÃk"
@@ -1662,7 +1885,7 @@ msgstr "Nainstalovat podepsaný balÃk"
#. password would be a massive security hole.
#. - This is not retained as each package should be authenticated.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:45
+#: ../policy/org.freedesktop.packagekit.policy.in.h:54
msgid "Install untrusted local file"
msgstr "Nainstalovat mÃstnà nedůvÄryhodný soubor"
@@ -1670,7 +1893,7 @@ msgstr "Nainstalovat mÃstnà nedůvÄryhodný soubor"
#. - Normal users do not require admin authentication to refresh the
#. cache, as this doesn't actually install or remove software.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:50
+#: ../policy/org.freedesktop.packagekit.policy.in.h:59
msgid "Refresh system sources"
msgstr "Obnovit systémové zdroje"
@@ -1681,9 +1904,9 @@ msgstr "Obnovit systémové zdroje"
#. try to rebind drivers in use, for instance security authentication
#. devices.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:58
+#: ../policy/org.freedesktop.packagekit.policy.in.h:67
msgid "Reload a device"
-msgstr ""
+msgstr "Nahrát zaÅÃzenà znovu"
#. SECURITY:
#. - Normal users require admin authentication to remove packages as
@@ -1694,24 +1917,24 @@ msgstr ""
#. be removed. If this is not possible, change this authentication to
#. 'auth_admin'.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:68
+#: ../policy/org.freedesktop.packagekit.policy.in.h:77
msgid "Remove package"
-msgstr "Odstranit balÃk"
+msgstr "Odstranit balÃÄek"
#. SECURITY:
#. - Normal users require admin authentication to rollback system state
#. as this will change a large number of packages, and could expose the
#. system to previously patched security vulnerabilities.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:74
+#: ../policy/org.freedesktop.packagekit.policy.in.h:83
msgid "Rollback to a previous transaction"
-msgstr "Vrátit poslednà akci"
+msgstr "Vrátit se k pÅedchozà transakci"
#. SECURITY:
#. - Normal users do not require admin authentication to set the proxy
#. used for downloading packages.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:79
+#: ../policy/org.freedesktop.packagekit.policy.in.h:88
msgid "Set network proxy"
msgstr "Nastavit proxy sÃtÄ"
@@ -1721,9 +1944,9 @@ msgstr "Nastavit proxy sÃtÄ"
#. without a secure authentication.
#. - This is not kept as each package should be authenticated.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:86
+#: ../policy/org.freedesktop.packagekit.policy.in.h:95
msgid "Trust a key used for signing packages"
-msgstr ""
+msgstr "DůvÄÅovat klÃÄi použitému k podepsánà balÃÄků"
#. SECURITY:
#. - Normal users do not require admin authentication to update the
@@ -1732,234 +1955,395 @@ msgstr ""
#. - Changing this to anything other than 'yes' will break unattended
#. updates.
#.
-#: ../policy/org.freedesktop.packagekit.policy.in.h:94
+#: ../policy/org.freedesktop.packagekit.policy.in.h:103
msgid "Update packages"
-msgstr "Aktualizovat balÃky"
+msgstr "Aktualizovat balÃÄky"
+
+#. SECURITY:
+#. - Normal users require admin authentication to upgrade the disto as
+#. this can make the system unbootable or stop other applications from
+#. working.
+#.
+#: ../policy/org.freedesktop.packagekit.policy.in.h:109
+msgid "Upgrade System"
+msgstr "Povýšit systém"
#. TRANSLATORS: failed due to DBus security
#: ../src/pk-main.c:87
msgid "Startup failed due to security policies on this machine."
-msgstr "SpuÅ¡tÄnà selhalo kvůli bezpeÄnostà politice na tomto stroji"
+msgstr "Chyba pÅi spuÅ¡tÄnà kvůli bezpeÄnostÃm smÄrnicÃm na tomto stroji."
#. TRANSLATORS: only two ways this can fail...
#: ../src/pk-main.c:89
msgid "This can happen for two reasons:"
-msgstr "Toto se mohlo stát ze dvou důvodů:"
+msgstr "Toto se může stát ze dvou důvodů:"
#. TRANSLATORS: only allowed to be owned by root
#: ../src/pk-main.c:91
msgid "The correct user is not launching the executable (usually root)"
-msgstr "Aplikace nenà spuÅ¡tÄna pod správným uživatelem (obvykle superuživatel)"
+msgstr "Program nenà spuÅ¡tÄn pod správným uživatelem (obvykle superuživatel)"
#. TRANSLATORS: or we are installed in a prefix
#: ../src/pk-main.c:93
-msgid "The org.freedesktop.PackageKit.conf file is not installed in the system directory:"
-msgstr "Soubor org.freedesktop.PackageKit.conf nenà nainstalován v systémovém adresáÅi:"
+msgid ""
+"The org.freedesktop.PackageKit.conf file is not installed in the system "
+"directory:"
+msgstr ""
+"Soubor org.freedesktop.PackageKit.conf nenà nainstalován v systémovém "
+"adresáÅi:"
#. TRANSLATORS: a backend is the system package tool, e.g. yum, apt
-#: ../src/pk-main.c:205
+#: ../src/pk-main.c:200
msgid "Packaging backend to use, e.g. dummy"
msgstr "BalÃÄkovacà systém, který se má použÃt, napÅ. dummy"
#. TRANSLATORS: if we should run in the background
-#: ../src/pk-main.c:208
+#: ../src/pk-main.c:203
msgid "Daemonize and detach from the terminal"
msgstr "Spustit démona a odpojit od terminálu"
#. TRANSLATORS: if we should not monitor how long we are inactive for
-#: ../src/pk-main.c:214
+#: ../src/pk-main.c:206
msgid "Disable the idle timer"
msgstr "Vypnout nevyužitý ÄasovaÄ"
#. TRANSLATORS: show version
-#: ../src/pk-main.c:217
+#: ../src/pk-main.c:209
msgid "Show version and exit"
-msgstr "Zobrazit verzi a ukonÄit se"
+msgstr "Ukázat verzi a ukonÄit se"
#. TRANSLATORS: exit after we've started up, used for user profiling
-#: ../src/pk-main.c:220
+#: ../src/pk-main.c:212
msgid "Exit after a small delay"
msgstr "UkonÄit se s krátkým zpoždÄnÃm"
#. TRANSLATORS: exit straight away, used for automatic profiling
-#: ../src/pk-main.c:223
+#: ../src/pk-main.c:215
msgid "Exit after the engine has loaded"
-msgstr "UkonÄit se až poté, co se naÄte engine"
+msgstr "UkonÄit se až poté, co se naÄte jádro"
#. TRANSLATORS: describing the service that is running
-#: ../src/pk-main.c:238
+#: ../src/pk-main.c:230
msgid "PackageKit service"
msgstr "Služba PackageKit"
#. TRANSLATORS: fatal error, dbus is not running
-#: ../src/pk-main.c:275
+#: ../src/pk-main.c:267
msgid "Cannot connect to the system bus"
-msgstr "Nemohu se pÅipojit k systémové sbÄrnici"
+msgstr "Nelze se pÅipojit k systémové sbÄrnici"
#. TRANSLATORS: cannot register on system bus, unknown reason -- geeky error follows
-#: ../src/pk-main.c:334
+#: ../src/pk-main.c:316
msgid "Error trying to start:"
msgstr "Chyba pÅi pokusu o spuÅ¡tÄnÃ:"
-#: ../src/pk-polkit-action-lookup.c:147
-#, fuzzy
+#: ../src/pk-polkit-action-lookup.c:150
msgid "To install debugging packages, extra sources need to be enabled"
-msgstr "BalÃk '%s' nemůže být nainstalován: %s"
+msgstr ""
+"Aby mohly být nainstalovány balÃÄky pro informace o chybách, je tÅeba "
+"povolit dalšà zdroje"
#. TRANSLATORS: is not GPG signed
-#: ../src/pk-polkit-action-lookup.c:168
-#: ../src/pk-polkit-action-lookup.c:187
+#: ../src/pk-polkit-action-lookup.c:171 ../src/pk-polkit-action-lookup.c:190
msgid "The software is not from a trusted source."
-msgstr "Software nenà z důvÄryhodného zdroje."
+msgstr "Program nenà z důvÄryhodného zdroje."
-#: ../src/pk-polkit-action-lookup.c:173
+#: ../src/pk-polkit-action-lookup.c:176
msgid "Do not update this package unless you are sure it is safe to do so."
-msgstr ""
+msgstr "Aktualizujte tento balÃÄek, jen když jste pÅesvÄdÄen, že je bezpeÄný."
-#: ../src/pk-polkit-action-lookup.c:174
+#: ../src/pk-polkit-action-lookup.c:177
msgid "Do not update these packages unless you are sure it is safe to do so."
-msgstr ""
+msgstr "Aktualizujte tyto balÃÄky, jen když jste pÅesvÄdÄen, že jsou bezpeÄné."
-#: ../src/pk-polkit-action-lookup.c:192
+#: ../src/pk-polkit-action-lookup.c:195
msgid "Do not install this package unless you are sure it is safe to do so."
-msgstr ""
+msgstr "Instalujte tento balÃÄek, jen když jste pÅesvÄdÄen, že je bezpeÄný."
-#: ../src/pk-polkit-action-lookup.c:193
+#: ../src/pk-polkit-action-lookup.c:196
msgid "Do not install these packages unless you are sure it is safe to do so."
-msgstr ""
-
-#. TRANSLATORS: warn the user that all bets are off
-#: ../src/pk-polkit-action-lookup.c:199
-msgid "Malicious software can damage your computer or cause other harm."
-msgstr "Å kodlivý software může poÅ¡kodit váš poÄÃtaÄ nebo způsobit jiné Å¡kody."
+msgstr "Instalujte tyto balÃÄky, jen když jste pÅesvÄdÄen, že jsou bezpeÄné."
#. TRANSLATORS: too many packages to list each one
-#: ../src/pk-polkit-action-lookup.c:274
+#: ../src/pk-polkit-action-lookup.c:273
msgid "Many packages"
msgstr "Mnoho balÃÄků"
#. TRANSLATORS: if the transaction is forced to install only trusted packages
-#: ../src/pk-polkit-action-lookup.c:334
+#: ../src/pk-polkit-action-lookup.c:339
msgid "Only trusted"
msgstr "Pouze důvÄryhodné"
+#~ msgid "Please restart the application as it is being used."
+#~ msgstr "ProsÃm restartujte aplikaci, protože je právÄ použÃvána."
+
+#~ msgid "The package %s is already installed"
+#~ msgstr "BalÃk %s je již nainstalován"
+
+#~ msgid "The package %s could not be installed: %s"
+#~ msgstr "BalÃk %s nemůže být nainstalován: %s"
+
+#~ msgid "The package install was canceled!"
+#~ msgstr "Instalace baliÄku byla zruÅ¡ena!"
+
+#~ msgid "This tool could not install the files: %s"
+#~ msgstr "Tento nástroj nenà schopen nainstalovat soubory: %s"
+
+#~ msgid "This tool could not remove the packages: %s"
+#~ msgstr "Tento nástroj nemůže odstranit balÃky: %s"
+
+#~ msgid "Proceed with additional packages?"
+#~ msgstr "PokraÄovat s doplÅkovými balÃky? "
+
+#~ msgid "The package removal was canceled!"
+#~ msgstr "OdstranÄnà baliÄku bylo zruÅ¡eno!"
+
+#~ msgid "This tool could not download the package %s as it could not be found"
+#~ msgstr "Tento nástroj nemůže stáhnout balÃk %s, protože nemůže být nalezen"
+
+#~ msgid "This tool could not download the packages: %s"
+#~ msgstr "Tento nástroj nemůže stáhnout balÃky: %s"
+
+#~ msgid "This tool could not update %s: %s"
+#~ msgstr "Tento nástroj nemůže aktualizovat %s: %s"
+
+#~ msgid "The package update was canceled!"
+#~ msgstr "Aktualizace balÃÄku byla zruÅ¡ena!"
+
+#, fuzzy
+#~ msgid "This tool could not get the requirements for %s: %s"
+#~ msgstr "Tento nástroj nemůže zÃskat požadavky pro '%s': %s"
+
+#, fuzzy
+#~ msgid "This tool could not get the dependencies for %s: %s"
+#~ msgstr "Tento nástroj nemůže zÃskat závislosti pro '%s': %s"
+
+#, fuzzy
+#~ msgid "This tool could not get package details for %s: %s"
+#~ msgstr "Tento nástroj nemůže zÃskat detaily o '%s': %s"
+
+#, fuzzy
+#~ msgid "This tool could not find the files for %s: %s"
+#~ msgstr "Tento nástroj nemůže najÃt soubory pro '%s': %s"
+
+#, fuzzy
+#~ msgid "This tool could not get the file list for %s: %s"
+#~ msgstr "Tento nástroj nemůže zÃskat seznam souborů pro '%s': %s"
+
+#~ msgid "File already exists: %s"
+#~ msgstr "Soubor již existuje: %s"
+
+#, fuzzy
+#~ msgid "This tool could not get package list: %s"
+#~ msgstr "Tento nástroj nemůže odstranit balÃky: %s"
+
+#~ msgid "Failed to save to disk"
+#~ msgstr "Selhalo uloženà na disk"
+
+#~ msgid "File does not exist: %s"
+#~ msgstr "Soubor neexistuje: %s"
+
+#~ msgid "Packages to add"
+#~ msgstr "BalÃÄky k pÅidánÃ"
+
+#~ msgid "Packages to remove"
+#~ msgstr "BalÃÄky k odebránÃ"
+
+#, fuzzy
+#~ msgid "No new packages need to be installed"
+#~ msgstr "BalÃk '%s' nemůže být nainstalován: %s"
+
+#~ msgid "not found."
+#~ msgstr "nenalezen."
+
+#, fuzzy
+#~ msgid "No packages can be found to install"
+#~ msgstr "Pro váš systém nebyly nalezeny žádné balÃky"
+
+#, fuzzy
+#~ msgid "This tool could not find the update details for %s: %s"
+#~ msgstr "Tento nástroj nemůže najÃt podrobnosti o aktualizaci pro '%s': %s"
+
+#, fuzzy
+#~ msgid "This tool could not get the update details for %s: %s"
+#~ msgstr "Tento nástroj nemůže zÃskat podrobnosti o aktualizaci pro '%s': %s"
+
+#~ msgid "Error:"
+#~ msgstr "Chyba: "
+
+#~ msgid "Repository signature required"
+#~ msgstr "Vyžaduje podpis repozitáÅe"
+
+#~ msgid "End user license agreement required"
+#~ msgstr "Vyžaduje souhlas s licencà koncového uživatele"
+
+#~ msgid "Do you agree to this license?"
+#~ msgstr "SouhlasÃte s touto licencÃ?"
+
+#~ msgid "The license was refused."
+#~ msgstr "Licence byla odmÃtnuta."
+
+#~ msgid "This tool could not connect to system DBUS."
+#~ msgstr "Tento nástroj se nemůže pÅipojit k systému DBUS"
+
+#~ msgid "Incorrect privileges for this operation"
+#~ msgstr "Nesprávná oprávnÄnà pro tuto operaci"
+
+#~ msgid "Cannot show the list of transactions"
+#~ msgstr "Nelze zobrazit seznam transakcÃ"
+
+#~ msgid "EULA ID"
+#~ msgstr "EULA ID"
+
+#~ msgid "Media ID"
+#~ msgstr "ID Média"
+
+#~ msgid "Malicious software can damage your computer or cause other harm."
+#~ msgstr ""
+#~ "Å kodlivý software může poÅ¡kodit váš poÄÃtaÄ nebo způsobit jiné Å¡kody."
+
#~ msgid "You need to specify a search type, e.g. name"
#~ msgstr "Je nutné stanovit typ vyhledávánÃ, napÅ. jméno"
+
#~ msgid "You need to specify a search term"
#~ msgstr "Je nutné uvést termÃn, který se bude hledat"
+
#~ msgid "You need to specify a package to remove"
#~ msgstr "Vyberte balÃk, který se má odstranit"
+
#~ msgid "You need to specify a package name to resolve"
#~ msgstr "K vyÅeÅ¡enà je nutné uvést název balÃku"
+
#~ msgid "You need to specify a repository name"
#~ msgstr "Je nutné zadat název repozitáÅe"
+
#~ msgid "You need to specify a correct role"
#~ msgstr "Je nutné urÄit správnou roli"
-#~ msgid "Failed to get last time"
-#~ msgstr "NepodaÅilo se zÃskat poslednà Äas"
+
#~ msgid "You need to specify a package to find the details for"
#~ msgstr "Je nutné urÄit balÃk, pro který se majà najÃt podrobnosti"
+
#~ msgid "You need to specify a package to find the files for"
#~ msgstr "Je nutné urÄit balÃk, pro který se majà najÃt soubory"
#, fuzzy
#~ msgid "You need to specify a list file to open"
#~ msgstr "Je nutné urÄit Äasový termÃn"
+
#~ msgid "This tool could not remove the packages: '%s'"
#~ msgstr "Tento nástroj nemůže odstranit balÃky: '%s'"
+
#~ msgid "Install local file"
#~ msgstr "Nainstalovat mÃstnà soubor"
+
#~ msgid "Okay to import key?"
#~ msgstr "Chcete importovat klÃÄ?"
+
#~ msgid "Did not import key"
#~ msgstr "KlÃÄ nebyl importován"
+
#~ msgid "Do you agree?"
#~ msgstr "SouhlasÃte?"
+
#~ msgid "Could not find package to remove"
#~ msgstr "Nemohu najÃt balÃk, který se má odstranit"
-#~ msgid "Cancelled!"
-#~ msgstr "Zrušeno!"
-#~ msgid "Could not find package to update"
-#~ msgstr "Nemohu najÃt balÃk, který se má aktualizovat"
+
#~ msgid "Could not find details for"
#~ msgstr "Nemohu zjistit detaily pro"
#, fuzzy
#~ msgid "Could not set database readonly"
#~ msgstr "Nemohu otevÅÃt databázi: %s"
+
#~ msgid "Could not open database: %s"
#~ msgstr "Nemohu otevÅÃt databázi: %s"
+
#~ msgid "You probably need to run this program as the root user"
#~ msgstr "NejspÃÅ¡e budete muset spustit tento program jako superuživatel"
+
#~ msgid "<span color='#%06x' underline='single' size='larger'>Run %s</span>"
#~ msgstr ""
#~ "<span color='#%06x' underline='single' size='larger'>Spustit %s</span>"
+
#~ msgid "<big>%s</big>"
#~ msgstr "<big>%s</big>"
+
#~ msgid ""
#~ "\n"
#~ "<span color='#%06x' underline='single'>Run version %s now</span>"
#~ msgstr ""
#~ "\n"
#~ "<span color='#%06x' underline='single'>Ihned spustit verzi %s</span>"
+
#~ msgid ""
#~ "\n"
#~ "<span color='#%06x' underline='single'>Run now</span>"
#~ msgstr ""
#~ "\n"
#~ "<span color='#%06x' underline='single'>Ihned spustit</span>"
+
#~ msgid ""
#~ "\n"
#~ "<span color='#%06x' underline='single'>Upgrade to version %s</span>"
#~ msgstr ""
#~ "\n"
#~ "<span color='#%06x' underline='single'>Aktualizovat na verzi %s</span>"
+
#~ msgid ""
#~ "<span color='#%06x' underline='single' size='larger'>Install %s Now</span>"
#~ msgstr ""
#~ "<span color='#%06x' underline='single' size='larger'>Ihned instalovat %s</"
#~ "span>"
+
#~ msgid ""
#~ "\n"
#~ "<small>Version: %s</small>"
#~ msgstr ""
#~ "\n"
#~ "<small>Verze: %s</small>"
+
#~ msgid "failed to download: invalid package_id and/or directory"
#~ msgstr "stahovánà selhala: neplatné package_id a/nebo adresáÅ"
+
#~ msgid "Could not find a valid metadata file"
#~ msgstr "Nemohu najÃt platný soubor metadat"
+
#~ msgid "Okay to download the additional packages"
#~ msgstr "SouhlasÃte s staženÃm doplÅkových balÃků"
+
#~ msgid "You need to specify the pack name and packages to be packed\n"
#~ msgstr "MusÃte urÄit jméno balÃku a balÃÄky, které majà být zabaleny\n"
+
#~ msgid ""
#~ "Invalid name for the service pack, Specify a name with .servicepack "
#~ "extension\n"
#~ msgstr ""
#~ "Neplatné jméno opravného balÃÄku. Zadejte jméno s pÅÃponou .servicepack\n"
+
#~ msgid "Authentication is required to install a local file"
#~ msgstr "K instalaci mÃstnÃho souboru je vyžadováno oprávnÄnÃ"
+
#~ msgid "Authentication is required to install a security signature"
#~ msgstr "K instalaci bezpeÄnostnÃho podpisu je vyžadováno oprávnÄnÃ"
+
#~ msgid "Authentication is required to update all packages"
#~ msgstr "K aktualizaci vÅ¡ech balÃků je vyžadováno oprávnÄnÃ"
-#~ msgid "Install security signature"
-#~ msgstr "Nainstalovat bezpeÄnostnà podpis"
-#~ msgid "Refresh package lists"
-#~ msgstr "Obnovit seznam balÃků"
+
#~ msgid "Update all packages"
#~ msgstr "Aktualizovat vÅ¡echny balÃky"
+
#~ msgid ""
#~ "Could not find a package with that name to install, or package already "
#~ "installed"
#~ msgstr ""
#~ "K danému názvu nemohu najÃt balÃk k nainstalovanà ani balÃk, který už je "
#~ "nainstalovaný"
+
#~ msgid "Could not find a package with that name to update"
#~ msgstr "K daného názvu nemohu najÃt balÃk, který se má aktualizovat"
+
#~ msgid "Could not find a description for this package"
#~ msgstr "Nemohu zÃskat popis tohoto balÃku"
+
#~ msgid "You need to specify a package to find the description for"
#~ msgstr "Je nutné urÄit balÃk, pro který se má najÃt popis"
-
commit 616d79ae450121c47c259113200dcacd14f26e60
Author: Zhang Qiang <qiang.z.zhang at intel.com>
Date: Fri Nov 19 16:42:19 2010 +0800
Transfer correct restart info while updating packages
PackageKit zypp backend have not send restart info to related pacakges,
so application can't get any restart info.
zypp_get_updates can't be called to set _updating_self. As user just
want to update special pacakges, while zypp_get_updates will detect all
the packages need to update.
The GUI tools(eg:gpk) call get-updates first to get the patches,
which need to restart, to upgrade.
diff --git a/backends/zypp/pk-backend-zypp.cpp b/backends/zypp/pk-backend-zypp.cpp
index 6f6fd7f..ed30c43 100644
--- a/backends/zypp/pk-backend-zypp.cpp
+++ b/backends/zypp/pk-backend-zypp.cpp
@@ -1650,13 +1650,6 @@ backend_update_packages_thread (PkBackend *backend)
package_ids = pk_backend_get_strv (backend, "package_ids");
PkRestartEnum restart = PK_RESTART_ENUM_NONE;
- delete zypp_get_updates (backend); // make sure _updating_self is set
-
- if (_updating_self) {
- g_debug ("updating self and setting restart");
- restart = PK_RESTART_ENUM_SESSION;
- _updating_self = FALSE;
- }
for (guint i = 0; package_ids[i]; i++) {
gchar **id_parts = pk_package_id_split (package_ids[i]);
std::string name = id_parts[PK_PACKAGE_ID_NAME];
@@ -1680,13 +1673,14 @@ backend_update_packages_thread (PkBackend *backend)
item.status ().setToBeInstalled (zypp::ResStatus::USER);
zypp::Patch::constPtr patch = zypp::asKind<zypp::Patch>(item.resolvable ());
zypp_check_restart (&restart, patch);
+ if (restart != PK_RESTART_ENUM_NONE){
+ pk_backend_require_restart (backend, restart, package_ids[i]);
+ restart = PK_RESTART_ENUM_NONE;
+ }
}
retval = zypp_perform_execution (backend, UPDATE, FALSE);
- if (restart != PK_RESTART_ENUM_NONE)
- pk_backend_require_restart (backend, restart, "A restart is needed");
-
pk_backend_finished (backend);
return retval;
}
commit 413908a5e5776536645267416e3c156e71030eb3
Author: Zhang Qiang <qiang.z.zhang at intel.com>
Date: Fri Nov 19 16:12:42 2010 +0800
zypp: filter installed packages to update
This patch ignore the installed packages to update with 'pkcon
get-updates'. eg:If you have multi-kernel packages installed and in repo,
pkcon get-updates always show you need to update kernel.
diff --git a/backends/zypp/zypp-utils.cpp b/backends/zypp/zypp-utils.cpp
index 1272754..e23d529 100644
--- a/backends/zypp/zypp-utils.cpp
+++ b/backends/zypp/zypp-utils.cpp
@@ -760,6 +760,20 @@ zypp_get_package_updates (std::string repo)
zypp::PoolItem candidate = zypp_find_arch_update_item (pool, *it);
if (!candidate.resolvable ())
continue;
+
+ gboolean system = false;
+ for (zypp::ResPool::byName_iterator it = pool.byNameBegin (candidate->name());
+ it != pool.byNameEnd (candidate->name()); it++) {
+ if (!it->satSolvable().isSystem())
+ continue;
+ if (zypp_ver_and_arch_equal (it->satSolvable(), candidate->edition ().c_str (),candidate->arch ().c_str ())) {
+ system = true;
+ break;
+ }
+ }
+ if (system == true)
+ continue;
+
if (repo.empty ()) {
pks->insert (candidate);
} else {
commit 7be09afbb69621aabcb9d390ea403ea397d025c7
Author: Matthias Klumpp <matthias at nlinux.org>
Date: Tue Nov 16 16:39:50 2010 +0100
trivial: Select KDE Debconf frontend if KDE is running
This has no effect on the Debconf process at time,
since the official Debconf-KDE frontend is not yet
finished.
If dialog frontend is "kde", but the frontend was not
found, Debconf will automatically fallback to "gnome"
or "dialog".
This patch also adds a few more temp files which
are left by the APTcc backend to the gitignore list.
diff --git a/.gitignore b/.gitignore
index 65250a6..d56ce36 100644
--- a/.gitignore
+++ b/.gitignore
@@ -63,4 +63,8 @@ packagekit.types
ChangeLog
.deps
.acb
-
+*.la
+*.lo
+*.o
+*.lai
+*.so
diff --git a/lib/packagekit-glib2/pk-client.c b/lib/packagekit-glib2/pk-client.c
index 92d1c74..f5a8706 100644
--- a/lib/packagekit-glib2/pk-client.c
+++ b/lib/packagekit-glib2/pk-client.c
@@ -1861,7 +1861,10 @@ pk_client_create_helper_socket (PkClientState *state)
display = g_getenv ("DISPLAY");
if (display != NULL) {
envp[envpi++] = g_strdup_printf ("DISPLAY=%s", display);
- dialog = "gnome";
+ if (g_strcmp0 (g_getenv ("KDE_FULL_SESSION"), "true") == 0)
+ dialog = "kde";
+ else
+ dialog = "gnome";
}
/* indicate a prefered frontend */
commit 589eab2986a18fbbfcc6ad18e5fa5e1bf878b14a
Author: Richard Hughes <richard at hughsie.com>
Date: Mon Nov 15 13:53:46 2010 +0000
trivial: yum: adjust to the Zif API de-jour
diff --git a/backends/yum/pk-backend-yum.c b/backends/yum/pk-backend-yum.c
index bb194bb..3c9bdd7 100644
--- a/backends/yum/pk-backend-yum.c
+++ b/backends/yum/pk-backend-yum.c
@@ -45,7 +45,7 @@ typedef struct {
guint signal_status;
#ifdef HAVE_ZIF
ZifConfig *config;
- ZifStoreLocal *store_local;
+ ZifStore *store_local;
ZifRepos *repos;
ZifGroups *groups;
ZifState *state;
@@ -222,7 +222,7 @@ pk_backend_transaction_start (PkBackend *backend)
}
/* try to set, or re-set install root */
- ret = zif_store_local_set_prefix (priv->store_local, root, &error);
+ ret = zif_store_local_set_prefix (ZIF_STORE_LOCAL (priv->store_local), root, &error);
if (!ret) {
pk_backend_error_code (backend, PK_ERROR_ENUM_INTERNAL_ERROR, "failed to set prefix: %s", error->message);
g_error_free (error);
@@ -482,7 +482,7 @@ pk_backend_get_default_store_array_for_filter (PkBackend *backend, PkBitfield fi
/* add local packages to the store_array */
if (!pk_bitfield_contain (filters, PK_FILTER_ENUM_NOT_INSTALLED)) {
- store = ZIF_STORE (zif_store_local_new ());
+ store = zif_store_local_new ();
zif_store_array_add_store (store_array, store);
g_object_unref (store);
}
@@ -2326,7 +2326,7 @@ pk_backend_get_updates_thread (PkBackend *backend)
/* get all the installed packages */
state_local = zif_state_get_child (priv->state);
- packages = zif_store_get_packages (ZIF_STORE (priv->store_local), state_local, &error);
+ packages = zif_store_get_packages (priv->store_local, state_local, &error);
if (packages == NULL) {
g_print ("failed to get local store: %s", error->message);
g_error_free (error);
commit ec2953e49025afe66451a7064bd111eda1ec8c79
Author: Daniel Nicoletti <dantti85-pk at yahoo.com.br>
Date: Sat Nov 13 17:31:36 2010 -0200
packagekit-qt: write the getCategories() code so we can use it
diff --git a/lib/packagekit-qt/src/transaction.cpp b/lib/packagekit-qt/src/transaction.cpp
index 1a0f110..fad5255 100644
--- a/lib/packagekit-qt/src/transaction.cpp
+++ b/lib/packagekit-qt/src/transaction.cpp
@@ -343,6 +343,11 @@ void Transaction::downloadPackages(const QSharedPointer<Package> &package)
downloadPackages(QList<QSharedPointer<Package> >() << package);
}
+void Transaction::getCategories()
+{
+ RUN_TRANSACTION(GetCategories())
+}
+
void Transaction::getDepends(const QList<QSharedPointer<Package> > &packages, Enum::Filters filters, bool recursive)
{
RUN_TRANSACTION(GetDepends(Util::filtersToString(filters), Util::packageListToPids(packages), recursive))
commit fd9980ca72318d7e5e2787bd18b6abdd8cd5559d
Author: Daniel Nicoletti <dantti85-pk at yahoo.com.br>
Date: Sat Nov 13 01:44:20 2010 -0200
packagekit-qt: Add searchGroups methods that can take a string so we can search on categories
diff --git a/lib/packagekit-qt/src/transaction.cpp b/lib/packagekit-qt/src/transaction.cpp
index 568ddd7..1a0f110 100644
--- a/lib/packagekit-qt/src/transaction.cpp
+++ b/lib/packagekit-qt/src/transaction.cpp
@@ -506,6 +506,16 @@ void Transaction::searchDetails(const QString &search, Enum::Filters filters)
searchDetails(QStringList() << search, filters);
}
+void Transaction::searchGroups(const QStringList &groups, Enum::Filters filters)
+{
+ RUN_TRANSACTION(SearchGroups(Util::filtersToString(filters), groups))
+}
+
+void Transaction::searchGroups(const QString &group, Enum::Filters filters)
+{
+ searchGroups(QStringList() << group, filters);
+}
+
void Transaction::searchGroups(Enum::Groups groups, Enum::Filters filters)
{
QStringList groupsSL;
@@ -513,7 +523,7 @@ void Transaction::searchGroups(Enum::Groups groups, Enum::Filters filters)
groupsSL << Util::enumToString<Enum>(group, "Group", "Group");
}
- RUN_TRANSACTION(SearchGroups(Util::filtersToString(filters), groupsSL))
+ searchGroups(groups, filters);
}
void Transaction::searchGroups(Enum::Group group, Enum::Filters filters)
diff --git a/lib/packagekit-qt/src/transaction.h b/lib/packagekit-qt/src/transaction.h
index 9e0ce73..00d88fa 100644
--- a/lib/packagekit-qt/src/transaction.h
+++ b/lib/packagekit-qt/src/transaction.h
@@ -429,6 +429,18 @@ public:
/**
* \brief Lists all the packages in the given \p group
*
+ * \p groups is the name of the group that you want, when searching for
+ * categories prefix it with '@'
+ * \p filters can be used to restrict the returned packages
+ *
+ * \note This method emits \sa package()
+ */
+ void searchGroups(const QStringList &groups, Enum::Filters filters = Enum::NoFilter);
+ void searchGroups(const QString &group, Enum::Filters filters = Enum::NoFilter);
+
+ /**
+ * \brief Lists all the packages in the given \p group
+ *
* \p filters can be used to restrict the returned packages
*
* \note This method emits \sa package()
commit dad61396f39b3ae4e61485f4acf607f913222130
Author: Sveinung Kvilhaugsvik <sveinung84 at users.sourceforge.net>
Date: Fri Nov 12 17:49:34 2010 +0000
Correct the description of org.freedesktop.packagekit.upgrade-system
Signed-off-by: Richard Hughes <richard at hughsie.com>
diff --git a/policy/org.freedesktop.packagekit.policy.in b/policy/org.freedesktop.packagekit.policy.in
index dbc84a1..c690099 100644
--- a/policy/org.freedesktop.packagekit.policy.in
+++ b/policy/org.freedesktop.packagekit.policy.in
@@ -239,7 +239,7 @@
this can make the system unbootable or stop other applications from
working.
-->
- <_description>Remove package</_description>
+ <_description>Upgrade System</_description>
<_message>Authentication is required to upgrade the operating system</_message>
<icon_name>package-x-generic</icon_name>
<defaults>
commit b2b0b6d80c714765aa864f226b6b7f265fb45742
Author: Richard Hughes <richard at hughsie.com>
Date: Fri Nov 12 17:48:56 2010 +0000
trivial: yum: update to the Zif API de-jour
diff --git a/backends/yum/pk-backend-yum.c b/backends/yum/pk-backend-yum.c
index b9802c0..bb194bb 100644
--- a/backends/yum/pk-backend-yum.c
+++ b/backends/yum/pk-backend-yum.c
@@ -1636,7 +1636,7 @@ pk_backend_download_packages_thread (PkBackend *backend)
/* download */
state_local = zif_state_get_child (priv->state);
- ret = zif_package_download (package, directory, state_local, &error);
+ ret = zif_package_remote_download (ZIF_PACKAGE_REMOTE (package), directory, state_local, &error);
if (!ret) {
pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_DOWNLOAD_FAILED,
"failed to download %s: %s", filename, error->message);
@@ -2393,7 +2393,7 @@ pk_backend_get_updates_thread (PkBackend *backend)
/* updates without updatinfo */
info = PK_INFO_ENUM_NORMAL;
- update = zif_package_get_update_detail (package, state_loop, &error);
+ update = zif_package_remote_get_update_detail (ZIF_PACKAGE_REMOTE (package), state_loop, &error);
if (update == NULL) {
g_debug ("failed to get updateinfo for %s", zif_package_get_id (package));
g_clear_error (&error);
@@ -2564,7 +2564,7 @@ pk_backend_get_update_detail_thread (PkBackend *backend)
}
state_local = zif_state_get_child (priv->state);
- update = zif_package_get_update_detail (package, state_local, &error);
+ update = zif_package_remote_get_update_detail (ZIF_PACKAGE_REMOTE (package), state_local, &error);
if (update == NULL) {
g_debug ("failed to get updateinfo for %s", zif_package_get_id (package));
g_clear_error (&error);
commit 41b47cbe5fd7f33987301723c18f19a87a69e3ba
Author: Richard Hughes <richard at hughsie.com>
Date: Fri Nov 12 09:04:24 2010 +0000
yum: adjust to the Zif 0.1.3 API break
diff --git a/backends/yum/pk-backend-yum.c b/backends/yum/pk-backend-yum.c
index 897db7c..b9802c0 100644
--- a/backends/yum/pk-backend-yum.c
+++ b/backends/yum/pk-backend-yum.c
@@ -783,6 +783,64 @@ out:
return array_retval;
}
+/**
+ * pk_backend_what_provides_helper:
+ */
+static GPtrArray *
+pk_backend_what_provides_helper (GPtrArray *store_array, gchar **search, ZifState *state, GError **error)
+{
+ gboolean ret;
+ GPtrArray *array = NULL;
+ GPtrArray *array_retval = NULL;
+ GPtrArray *array_tmp;
+ guint i, j;
+ ZifDepend *depend;
+ ZifPackage *package;
+ ZifState *state_local;
+
+ /* set steps */
+ zif_state_set_number_steps (state, g_strv_length (search));
+
+ /* resolve all the groups */
+ array = g_ptr_array_new_with_free_func ((GDestroyNotify) g_object_unref);
+ for (i=0; search[i] != NULL; i++) {
+ state_local = zif_state_get_child (state);
+
+ /* parse this depend */
+ depend = zif_depend_new ();
+ ret = zif_depend_parse_description (depend, search[i], error);
+ if (!ret)
+ goto out;
+
+ /* find what provides this depend */
+ array_tmp = zif_store_array_what_provides (store_array, depend, state_local, error);
+ g_object_unref (depend);
+ if (array_tmp == NULL)
+ goto out;
+
+ /* add each result */
+ for (j=0; j<array_tmp->len; j++) {
+ package = g_ptr_array_index (array_tmp, i);
+ g_ptr_array_add (array, g_object_ref (package));
+ }
+ g_ptr_array_unref (array_tmp);
+
+ /* set steps */
+ zif_state_set_number_steps (state_local, 2);
+
+ /* this part done */
+ ret = zif_state_done (state, error);
+ if (!ret)
+ goto out;
+ }
+
+ /* success */
+ array_retval = g_ptr_array_ref (array);
+out:
+ if (array != NULL)
+ g_ptr_array_unref (array);
+ return array_retval;
+}
#endif
/**
@@ -896,7 +954,7 @@ pk_backend_search_thread (PkBackend *backend)
array = zif_store_array_resolve (store_array, search, state_local, &error);
}
} else if (role == PK_ROLE_ENUM_WHAT_PROVIDES) {
- array = zif_store_array_what_provides (store_array, search, state_local, &error);
+ array = pk_backend_what_provides_helper (store_array, search, state_local, &error);
}
if (array == NULL) {
pk_backend_error_code (backend, PK_ERROR_ENUM_INTERNAL_ERROR, "failed to search: %s", error->message);
@@ -1655,7 +1713,6 @@ pk_backend_get_depends_thread (PkBackend *backend)
GPtrArray *result;
GPtrArray *requires;
GPtrArray *provides;
- const gchar *to_array[] = { NULL, NULL };
len = g_strv_length (package_ids);
@@ -1736,8 +1793,7 @@ pk_backend_get_depends_thread (PkBackend *backend)
require = g_ptr_array_index (requires, k);
/* find the package providing the depend */
- to_array[0] = zif_depend_get_name (require);
- provides = zif_store_array_what_provides (store_array, (gchar**)to_array, state_loop_inner, &error);
+ provides = zif_store_array_what_provides (store_array, require, state_loop_inner, &error);
if (provides == NULL) {
pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_FOUND,
"failed to find provide for %s: %s",
commit 6de193a6f0fc8251070da37f8131253eb43872b4
Author: Richard Hughes <richard at hughsie.com>
Date: Mon Nov 8 11:58:18 2010 +0000
yum: Set the repository directory when doing a complete upgrade
diff --git a/backends/yum/pk-backend-yum.c b/backends/yum/pk-backend-yum.c
index e11a238..897db7c 100644
--- a/backends/yum/pk-backend-yum.c
+++ b/backends/yum/pk-backend-yum.c
@@ -1242,6 +1242,7 @@ pk_backend_initialize (PkBackend *backend)
priv->release = zif_release_new ();
zif_release_set_boot_dir (priv->release, "/boot/upgrade");
zif_release_set_cache_dir (priv->release, "/var/cache/PackageKit");
+ zif_release_set_repo_dir (priv->release, "/var/cache/yum/preupgrade");
zif_release_set_uri (priv->release, "http://mirrors.fedoraproject.org/releases.txt");
/* ZifStoreLocal */
commit a0555999d9213981960806d928e1ab91fd0fd448
Author: Matthias Klumpp <matthias at nlinux.org>
Date: Thu Nov 11 21:32:13 2010 +0100
trivial: Added Debian to PK download page
diff --git a/docs/html/pk-download.html b/docs/html/pk-download.html
index 51c0bec..aae23a9 100644
--- a/docs/html/pk-download.html
+++ b/docs/html/pk-download.html
@@ -34,6 +34,10 @@ your native package manager.
Fedora: Yes, starting with 9, just run: <code>yum install PackageKit gnome-packagekit</code> (as root)
</li>
<li>
+ Debian: Yes, packages are available for Debian Sid.
+ Just install <code>packagekit</code> via APT. PackageKit frontends are not yet packaged for Debian.
+ </li>
+ <li>
Ubuntu: Yes, starting with Hardy Heron (8.04), that ships an obsolete version (0.1.6) of PackageKit by default.
Newer versions are used by more recent releases, but you can find the latest versions of PackageKit for all releases in this <a href="https://edge.launchpad.net/~packagekit/+archive">Personal Package Archive</a>.
<a href="https://help.ubuntu.com/8.04/add-applications/C/extra-repositories-adding.html">Add</a>
commit 05ad4000c1110d49d1530db9a0589dd02147744b
Author: Daniel Nicoletti <dantti85-pk at yahoo.com.br>
Date: Tue Nov 9 14:20:19 2010 -0200
aptcc: Fix crash due to NULL strings
packagekit-qt: emit transactionListChanged(empty) when daemon crashes
diff --git a/backends/aptcc/apt.cpp b/backends/aptcc/apt.cpp
index 71178b6..559496a 100644
--- a/backends/aptcc/apt.cpp
+++ b/backends/aptcc/apt.cpp
@@ -343,7 +343,7 @@ void aptcc::emit_package(const pkgCache::PkgIterator &pkg,
package_id = pk_package_id_build(pkg.Name(),
ver.VerStr(),
ver.Arch(),
- vf.File().Archive());
+ vf.File().Archive() == NULL ? "" : vf.File().Archive());
pk_backend_package(m_backend,
state,
package_id,
@@ -398,9 +398,9 @@ void aptcc::emitUpdates(vector<pair<pkgCache::PkgIterator, pkgCache::VerIterator
// let find what kind of upgrade this is
pkgCache::VerFileIterator vf = i->second.FileList();
- std::string origin = vf.File().Origin();
- std::string archive = vf.File().Archive();
- std::string label = vf.File().Label();
+ std::string origin = vf.File().Origin() == NULL ? "" : vf.File().Origin();
+ std::string archive = vf.File().Archive() == NULL ? "" : vf.File().Archive();
+ std::string label = vf.File().Label() == NULL ? "" : vf.File().Label();
if (origin.compare("Debian") == 0 ||
origin.compare("Ubuntu") == 0) {
if (ends_with(archive, "-security") ||
@@ -567,7 +567,7 @@ void aptcc::emit_details(const pkgCache::PkgIterator &pkg)
package_id = pk_package_id_build(pkg.Name(),
ver.VerStr(),
ver.Arch(),
- vf.File().Archive());
+ vf.File().Archive() == NULL ? "" : vf.File().Archive());
pk_backend_details(m_backend,
package_id,
"unknown",
@@ -588,14 +588,13 @@ void aptcc::emit_update_detail(const pkgCache::PkgIterator &pkg)
current_package_id = pk_package_id_build(pkg.Name(),
currver.VerStr(),
currver.Arch(),
- currvf.File().Archive());
+ currvf.File().Archive() == NULL ? "" : currvf.File().Archive());
// Get the update version
pkgCache::VerIterator candver = find_candidate_ver(pkg);
pkgCache::VerFileIterator vf = candver.FileList();
- pkgCache::PkgFileIterator pkgFile = vf.File();
- string origin = pkgFile.Origin();
+ string origin = vf.File().Origin() == NULL ? "" : vf.File().Origin();
pkgRecords::Parser &rec = packageRecords->Lookup(candver.FileList());
// Build the changelogURI
@@ -795,7 +794,7 @@ void aptcc::emit_update_detail(const pkgCache::PkgIterator &pkg)
}
// Build a package_id from the update version
- string archive(vf.File().Archive());
+ string archive = vf.File().Archive() == NULL ? "" : vf.File().Archive();
gchar *package_id;
package_id = pk_package_id_build(pkg.Name(),
candver.VerStr(),
diff --git a/lib/packagekit-qt/src/clientprivate.cpp b/lib/packagekit-qt/src/clientprivate.cpp
index 14e679c..5c18863 100644
--- a/lib/packagekit-qt/src/clientprivate.cpp
+++ b/lib/packagekit-qt/src/clientprivate.cpp
@@ -80,6 +80,9 @@ void ClientPrivate::serviceOwnerChanged (const QString& name, const QString& old
t->finished (Enum::ExitFailed, 0);
t->d_ptr->destroy ();
}
+
+ // We don't have more transactions running
+ c->transactionListChanged(QList<Transaction*>());
}
void ClientPrivate::destroyTransaction(const QString &tid)
commit c510a4dc83821b97d803971175f37eb64ac80c86
Merge: 34ef286... a9af8dc...
Author: Daniel Nicoletti <dantti85-pk at yahoo.com.br>
Date: Mon Nov 8 15:49:33 2010 -0200
Merge branch 'master' of gitorious.org:packagekit/packagekit
commit a9af8dcdb4933b0389b1b7a59124b6e4a5f48a74
Author: Richard Hughes <richard at hughsie.com>
Date: Sun Nov 7 17:56:45 2010 +0000
trivial: yum: do not use the deprecated zif_download_set_proxy()
diff --git a/backends/yum/pk-backend-yum.c b/backends/yum/pk-backend-yum.c
index 6867546..e11a238 100644
--- a/backends/yum/pk-backend-yum.c
+++ b/backends/yum/pk-backend-yum.c
@@ -44,7 +44,6 @@ typedef struct {
guint signal_finished;
guint signal_status;
#ifdef HAVE_ZIF
- ZifDownload *download;
ZifConfig *config;
ZifStoreLocal *store_local;
ZifRepos *repos;
@@ -247,7 +246,7 @@ pk_backend_transaction_start (PkBackend *backend)
/* set the proxy */
http_proxy = pk_backend_get_proxy_http (backend);
- zif_download_set_proxy (priv->download, http_proxy, NULL);
+ zif_config_set_string (priv->config, "http_proxy", http_proxy, NULL);
/* setup state */
zif_state_reset (priv->state);
@@ -1236,9 +1235,6 @@ pk_backend_initialize (PkBackend *backend)
/* profile */
pk_backend_profile ("read config_file");
- /* ZifDownload */
- priv->download = zif_download_new ();
-
/* ZifLock */
priv->lock = zif_lock_new ();
@@ -1307,8 +1303,6 @@ pk_backend_destroy (PkBackend *backend)
g_object_unref (priv->config);
if (priv->release != NULL)
g_object_unref (priv->release);
- if (priv->download != NULL)
- g_object_unref (priv->download);
if (priv->state != NULL)
g_object_unref (priv->state);
if (priv->repos != NULL)
commit 791d4ded0f6a8f94e9474dedc30f12204cd73b9b
Author: Richard Hughes <richard at hughsie.com>
Date: Sat Nov 6 18:00:14 2010 +0000
yum: convert the ZifRelease error code into a suitable PK error enum
diff --git a/backends/yum/pk-backend-yum.c b/backends/yum/pk-backend-yum.c
index c4c92cf..6867546 100644
--- a/backends/yum/pk-backend-yum.c
+++ b/backends/yum/pk-backend-yum.c
@@ -3312,6 +3312,7 @@ pk_backend_upgrade_system_thread (PkBackend *backend)
gchar **distro_id_split = NULL;
guint version;
gboolean ret;
+ PkErrorEnum error_code;
GError *error = NULL;
ZifReleaseUpgradeKind upgrade_kind_zif = ZIF_RELEASE_UPGRADE_KIND_DEFAULT;
PkUpgradeKindEnum upgrade_kind = pk_backend_get_uint (backend, "upgrade_kind");
@@ -3346,7 +3347,33 @@ pk_backend_upgrade_system_thread (PkBackend *backend)
priv->state,
&error);
if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_FAILED_CONFIG_PARSING,
+ /* convert the ZifRelease error code into a PK error enum */
+ switch (error->code) {
+ case ZIF_RELEASE_ERROR_DOWNLOAD_FAILED:
+ error_code = PK_ERROR_ENUM_PACKAGE_DOWNLOAD_FAILED;
+ break;
+ case ZIF_RELEASE_ERROR_FILE_INVALID:
+ error_code = PK_ERROR_ENUM_FAILED_CONFIG_PARSING;
+ break;
+ case ZIF_RELEASE_ERROR_LOW_DISKSPACE:
+ error_code = PK_ERROR_ENUM_NO_SPACE_ON_DEVICE;
+ break;
+ case ZIF_RELEASE_ERROR_NOT_FOUND:
+ error_code = PK_ERROR_ENUM_PACKAGE_NOT_FOUND;
+ break;
+ case ZIF_RELEASE_ERROR_NOT_SUPPORTED:
+ error_code = PK_ERROR_ENUM_NOT_SUPPORTED;
+ break;
+ case ZIF_RELEASE_ERROR_NO_UUID_FOR_ROOT:
+ case ZIF_RELEASE_ERROR_SETUP_INVALID:
+ case ZIF_RELEASE_ERROR_SPAWN_FAILED:
+ case ZIF_RELEASE_ERROR_WRITE_FAILED:
+ error_code = PK_ERROR_ENUM_INTERNAL_ERROR;
+ break;
+ default:
+ error_code = PK_ERROR_ENUM_INTERNAL_ERROR;
+ }
+ pk_backend_error_code (backend, error_code,
"failed to upgrade: %s", error->message);
g_error_free (error);
goto out;
commit e61350ec35b53d05c6532f4be234d5bd8f62a0e7
Author: Richard Hughes <richard at hughsie.com>
Date: Sat Nov 6 13:21:11 2010 +0000
Add an upgrade-kind parameter to UpgradeSystem()
This allows the frontend client to specify how much data is downloaded before the upgrade is attempted.
diff --git a/backends/dummy/pk-backend-dummy.c b/backends/dummy/pk-backend-dummy.c
index 150a8c4..89d898f 100644
--- a/backends/dummy/pk-backend-dummy.c
+++ b/backends/dummy/pk-backend-dummy.c
@@ -1425,7 +1425,7 @@ pk_backend_upgrade_system_timeout (gpointer data)
* pk_backend_upgrade_system:
*/
void
-pk_backend_upgrade_system (PkBackend *backend, const gchar *distro_id)
+pk_backend_upgrade_system (PkBackend *backend, const gchar *distro_id, PkUpgradeKindEnum upgrade_kind)
{
pk_backend_set_status (backend, PK_STATUS_ENUM_DOWNLOAD);
pk_backend_set_allow_cancel (backend, TRUE);
diff --git a/backends/test/pk-backend-test-fail.c b/backends/test/pk-backend-test-fail.c
index 876505a..023e4e1 100644
--- a/backends/test/pk-backend-test-fail.c
+++ b/backends/test/pk-backend-test-fail.c
@@ -260,7 +260,7 @@ pk_backend_update_system (PkBackend *backend, gboolean only_trusted)
* pk_backend_upgrade_system:
*/
void
-pk_backend_upgrade_system (PkBackend *backend, const gchar *distro_id)
+pk_backend_upgrade_system (PkBackend *backend, const gchar *distro_id, PkUpgradeKindEnum upgrade_kind)
{
pk_backend_error_code (backend, PK_ERROR_ENUM_INSTALL_ROOT_INVALID,
"Cannot find boot partition");
diff --git a/backends/test/pk-backend-test-succeed.c b/backends/test/pk-backend-test-succeed.c
index d32eba4..86aa37e 100644
--- a/backends/test/pk-backend-test-succeed.c
+++ b/backends/test/pk-backend-test-succeed.c
@@ -392,7 +392,7 @@ pk_backend_simulate_update_packages (PkBackend *backend, gchar **package_ids)
* pk_backend_upgrade_system:
*/
void
-pk_backend_upgrade_system (PkBackend *backend, const gchar *distro_id)
+pk_backend_upgrade_system (PkBackend *backend, const gchar *distro_id, PkUpgradeKindEnum upgrade_kind)
{
pk_backend_finished (backend);
}
diff --git a/backends/yum/pk-backend-yum.c b/backends/yum/pk-backend-yum.c
index 58905cf..c4c92cf 100644
--- a/backends/yum/pk-backend-yum.c
+++ b/backends/yum/pk-backend-yum.c
@@ -51,6 +51,7 @@ typedef struct {
ZifGroups *groups;
ZifState *state;
ZifLock *lock;
+ ZifRelease *release;
#endif
GTimer *timer;
GVolumeMonitor *volume_monitor;
@@ -1241,6 +1242,12 @@ pk_backend_initialize (PkBackend *backend)
/* ZifLock */
priv->lock = zif_lock_new ();
+ /* ZifRelease */
+ priv->release = zif_release_new ();
+ zif_release_set_boot_dir (priv->release, "/boot/upgrade");
+ zif_release_set_cache_dir (priv->release, "/var/cache/PackageKit");
+ zif_release_set_uri (priv->release, "http://mirrors.fedoraproject.org/releases.txt");
+
/* ZifStoreLocal */
priv->store_local = zif_store_local_new ();
@@ -1298,6 +1305,8 @@ pk_backend_destroy (PkBackend *backend)
#ifdef HAVE_ZIF
if (priv->config != NULL)
g_object_unref (priv->config);
+ if (priv->release != NULL)
+ g_object_unref (priv->release);
if (priv->download != NULL)
g_object_unref (priv->download);
if (priv->state != NULL)
@@ -1440,9 +1449,14 @@ pk_backend_get_roles (PkBackend *backend)
PK_ROLE_ENUM_SIMULATE_REMOVE_PACKAGES,
-1);
+#ifdef HAVE_ZIF
+ pk_bitfield_add (roles, PK_ROLE_ENUM_GET_DISTRO_UPGRADES);
+ pk_bitfield_add (roles, PK_ROLE_ENUM_UPGRADE_SYSTEM);
+#else
/* only add GetDistroUpgrades if the binary is present */
if (g_file_test (PREUPGRADE_BINARY, G_FILE_TEST_EXISTS))
pk_bitfield_add (roles, PK_ROLE_ENUM_GET_DISTRO_UPGRADES);
+#endif
return roles;
}
@@ -1637,11 +1651,7 @@ pk_backend_get_depends_thread (PkBackend *backend)
ZifState *state_local;
ZifState *state_loop;
ZifState *state_loop_inner;
-#ifdef ZIF_CHECK_VERSION
ZifDepend *require;
-#else
- const ZifDepend *require;
-#endif
const gchar *id;
guint i, j, k;
guint len;
@@ -1731,22 +1741,12 @@ pk_backend_get_depends_thread (PkBackend *backend)
require = g_ptr_array_index (requires, k);
/* find the package providing the depend */
-#ifdef ZIF_CHECK_VERSION
to_array[0] = zif_depend_get_name (require);
-#else
- to_array[0] = require->name;
-#endif
provides = zif_store_array_what_provides (store_array, (gchar**)to_array, state_loop_inner, &error);
if (provides == NULL) {
-#ifdef ZIF_CHECK_VERSION
pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_FOUND,
"failed to find provide for %s: %s",
zif_depend_get_name (require), error->message);
-#else
- pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_FOUND,
- "failed to find provide for %s: %s",
- require->name, error->message);
-#endif
g_error_free (error);
goto out;
}
@@ -2015,102 +2015,50 @@ static gboolean
pk_backend_get_distro_upgrades_thread (PkBackend *backend)
{
#ifdef HAVE_ZIF
- gboolean ret;
- gchar *distro_id = NULL;
- gchar *filename = NULL;
- gchar **groups = NULL;
- gchar *name = NULL;
- gchar **split = NULL;
+ gchar *distro_id;
+ GError *error = NULL;
+ GPtrArray *array = NULL;
guint i;
- guint last_version = 0;
- guint newest = G_MAXUINT;
guint version;
- GError *error = NULL;
- GKeyFile *file = NULL;
- ZifState *child;
+ ZifUpgrade *upgrade;
- /* download, then parse */
+ /* one shot */
zif_state_reset (priv->state);
- zif_state_set_number_steps (priv->state, 2);
- /* download new file */
- filename = g_build_filename ("/var/cache/PackageKit", "releases.txt", NULL);
- child = zif_state_get_child (priv->state);
- pk_backend_set_status (backend, PK_STATUS_ENUM_DOWNLOAD_UPDATEINFO);
- ret = zif_download_file (priv->download, "http://mirrors.fedoraproject.org/releases.txt", filename, child, &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_ERROR, "failed to download %s: %s", filename, error->message);
- g_error_free (error);
- goto out;
- }
- ret = zif_state_done (priv->state, &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_CANCELLED, "cancelled: %s", error->message);
- g_error_free (error);
+ /* get the current version */
+ version = zif_config_get_uint (priv->config, "releasever", NULL);
+ if (version == G_MAXUINT) {
+ pk_backend_error_code (backend, PK_ERROR_ENUM_FAILED_CONFIG_PARSING,
+ "could not get distro present version");
goto out;
}
- file = g_key_file_new ();
- ret = g_key_file_load_from_file (file, filename, G_KEY_FILE_NONE, &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_ERROR, "failed to open %s: %s", filename, error->message);
+ /* get the upgrades */
+ array = zif_release_get_upgrades_new (priv->release, version, priv->state, &error);
+ if (array == NULL) {
+ pk_backend_error_code (backend, PK_ERROR_ENUM_FAILED_CONFIG_PARSING,
+ "could not get latest distro data : %s", error->message);
g_error_free (error);
goto out;
}
- /* get all entries */
- groups = g_key_file_get_groups (file, NULL);
- for (i=0; groups[i] != NULL; i++) {
- /* we only care about stable versions */
- if (!g_key_file_get_boolean (file, groups[i], "stable", NULL))
- goto out;
- version = g_key_file_get_integer (file, groups[i], "version", NULL);
- g_debug ("%s is update to version %i", groups[i], version);
- if (version > last_version) {
- newest = i;
- last_version = version;
- }
- }
-
- /* nothing found */
- if (newest == G_MAXUINT) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_FAILED_CONFIG_PARSING, "could not get latest distro data");
- goto out;
- }
-
- /* are we already on the latest version */
- version = zif_config_get_uint (priv->config, "releasever", &error);
- if (version == G_MAXUINT) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_FAILED_CONFIG_PARSING, "could not get distro present version");
- goto out;
- }
-
- /* all okay, nothing to show */
- if (version >= last_version)
- goto out;
-
- /* if we have an upgrade candidate then pass back data to daemon */
- split = g_strsplit (groups[newest], " ", -1);
- name = g_ascii_strdown (split[0], -1);
- distro_id = g_strdup_printf ("%s-%s", name, split[1]);
- pk_backend_distro_upgrade (backend, PK_DISTRO_UPGRADE_ENUM_STABLE, distro_id, groups[newest]);
-
- /* we're done */
- ret = zif_state_done (priv->state, &error);
- if (!ret) {
- pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_CANCELLED, "cancelled: %s", error->message);
- g_error_free (error);
- goto out;
+ /* emit the results */
+ for (i=0; i<array->len; i++) {
+ upgrade = g_ptr_array_index (array, i);
+ if (!zif_upgrade_get_enabled (upgrade))
+ continue;
+ distro_id = g_strdup_printf ("fedora-%i", zif_upgrade_get_version (upgrade));
+ pk_backend_distro_upgrade (backend,
+ zif_upgrade_get_stable (upgrade) ? PK_DISTRO_UPGRADE_ENUM_STABLE :
+ PK_DISTRO_UPGRADE_ENUM_UNSTABLE,
+ distro_id,
+ zif_upgrade_get_id (upgrade));
+ g_free (distro_id);
}
out:
pk_backend_finished (backend);
- g_free (distro_id);
- g_free (filename);
- g_free (name);
- if (file != NULL)
- g_key_file_free (file);
- g_strfreev (groups);
- g_strfreev (split);
+ if (array != NULL)
+ g_ptr_array_unref (array);
#endif
return TRUE;
}
@@ -3354,12 +3302,67 @@ pk_backend_simulate_install_files (PkBackend *backend, gchar **full_paths)
g_free (package_ids_temp);
}
+/**
+ * pk_backend_upgrade_system_thread:
+ */
+static gboolean
+pk_backend_upgrade_system_thread (PkBackend *backend)
+{
+#ifdef HAVE_ZIF
+ gchar **distro_id_split = NULL;
+ guint version;
+ gboolean ret;
+ GError *error = NULL;
+ ZifReleaseUpgradeKind upgrade_kind_zif = ZIF_RELEASE_UPGRADE_KIND_DEFAULT;
+ PkUpgradeKindEnum upgrade_kind = pk_backend_get_uint (backend, "upgrade_kind");
+ const gchar *distro_id = pk_backend_get_string (backend, "distro_id");
+
+ /* check valid */
+ distro_id_split = g_strsplit (distro_id, "-", -1);
+ if (g_strv_length (distro_id_split) != 2) {
+ pk_backend_error_code (backend, PK_ERROR_ENUM_FAILED_CONFIG_PARSING,
+ "distribution id %s invalid", distro_id);
+ goto out;
+ }
+
+ /* check fedora */
+ if (g_strcmp0 (distro_id_split[0], "fedora") != 0) {
+ pk_backend_error_code (backend, PK_ERROR_ENUM_FAILED_CONFIG_PARSING,
+ "only 'fedora' is supported");
+ goto out;
+ }
+
+ /* map PK enum to Zif enumerated types */
+ if (upgrade_kind == PK_UPGRADE_KIND_ENUM_MINIMAL)
+ upgrade_kind_zif = ZIF_RELEASE_UPGRADE_KIND_MINIMAL;
+ else if (upgrade_kind == PK_UPGRADE_KIND_ENUM_COMPLETE)
+ upgrade_kind_zif = ZIF_RELEASE_UPGRADE_KIND_COMPLETE;
+
+ /* do the upgrade */
+ version = atoi (distro_id_split[1]);
+ ret = zif_release_upgrade_version (priv->release,
+ version,
+ upgrade_kind_zif,
+ priv->state,
+ &error);
+ if (!ret) {
+ pk_backend_error_code (backend, PK_ERROR_ENUM_FAILED_CONFIG_PARSING,
+ "failed to upgrade: %s", error->message);
+ g_error_free (error);
+ goto out;
+ }
+out:
+ pk_backend_finished (backend);
+ g_strfreev (distro_id_split);
+#endif
+ return TRUE;
+}
/**
* pk_backend_upgrade_system:
*/
void
-pk_backend_upgrade_system (PkBackend *backend, const gchar *distro_id)
+pk_backend_upgrade_system (PkBackend *backend, const gchar *distro_id, PkUpgradeKindEnum upgrade_kind)
{
- /* FIXME */
+ pk_backend_thread_create (backend, pk_backend_upgrade_system_thread);
}
diff --git a/client/pk-console.c b/client/pk-console.c
index bdef844..c25c174 100644
--- a/client/pk-console.c
+++ b/client/pk-console.c
@@ -1715,7 +1715,15 @@ main (int argc, char *argv[])
retval = PK_EXIT_CODE_SYNTAX_INVALID;
goto out;
}
- pk_client_upgrade_system_async (PK_CLIENT (task), value, cancellable,
+ if (details == NULL) {
+ /* TRANSLATORS: The user did not provide an upgrade type */
+ error = g_error_new (1, 0, "%s", _("An upgrade type is required, e.g. 'minimal', 'default' or 'complete'"));
+ retval = PK_EXIT_CODE_SYNTAX_INVALID;
+ goto out;
+ }
+ pk_client_upgrade_system_async (PK_CLIENT (task), value,
+ pk_upgrade_kind_enum_from_string (details),
+ cancellable,
(PkProgressCallback) pk_console_progress_cb, NULL,
(GAsyncReadyCallback) pk_console_finished_cb, NULL);
diff --git a/configure.ac b/configure.ac
index 9856af4..f499542 100644
--- a/configure.ac
+++ b/configure.ac
@@ -640,7 +640,7 @@ if test x$enable_yum = xyes; then
AC_ARG_ENABLE(zif, AS_HELP_STRING([--enable-zif],[Build ZIF experimental code]),
enable_zif=$enableval,enable_zif=yes)
if test x$enable_zif = xyes; then
- PKG_CHECK_MODULES(ZIF, zif >= 0.1.2,
+ PKG_CHECK_MODULES(ZIF, zif >= 0.1.3,
build_zif=yes, build_zif=no)
fi
if test "x$build_zif" = "xyes"; then
diff --git a/lib/packagekit-glib2/pk-client-sync.c b/lib/packagekit-glib2/pk-client-sync.c
index 3a2b66f..2349f1d 100644
--- a/lib/packagekit-glib2/pk-client-sync.c
+++ b/lib/packagekit-glib2/pk-client-sync.c
@@ -1684,6 +1684,7 @@ pk_client_simulate_update_packages (PkClient *client, gchar **package_ids, GCanc
/**
* pk_client_upgrade_system:
* @distro_id: a distro ID such as "fedora-14"
+ * @upgrade_kind: a #PkUpgradeKindEnum such as %PK_UPGRADE_KIND_ENUM_COMPLETE
* @cancellable: a #GCancellable or %NULL
* @progress_callback: (scope call): the function to run when the progress changes
* @progress_user_data: data to pass to @progress_callback
@@ -1703,7 +1704,8 @@ pk_client_simulate_update_packages (PkClient *client, gchar **package_ids, GCanc
* Since: 0.6.11
**/
PkResults *
-pk_client_upgrade_system (PkClient *client, const gchar *distro_id, GCancellable *cancellable,
+pk_client_upgrade_system (PkClient *client, const gchar *distro_id, PkUpgradeKindEnum upgrade_kind,
+ GCancellable *cancellable,
PkProgressCallback progress_callback, gpointer progress_user_data, GError **error)
{
PkClientHelper *helper;
@@ -1718,7 +1720,8 @@ pk_client_upgrade_system (PkClient *client, const gchar *distro_id, GCancellable
helper->error = error;
/* run async method */
- pk_client_upgrade_system_async (client, distro_id, cancellable, progress_callback, progress_user_data,
+ pk_client_upgrade_system_async (client, distro_id, upgrade_kind,
+ cancellable, progress_callback, progress_user_data,
(GAsyncReadyCallback) pk_client_generic_finish_sync, helper);
g_main_loop_run (helper->loop);
diff --git a/lib/packagekit-glib2/pk-client-sync.h b/lib/packagekit-glib2/pk-client-sync.h
index 105df42..e162c3e 100644
--- a/lib/packagekit-glib2/pk-client-sync.h
+++ b/lib/packagekit-glib2/pk-client-sync.h
@@ -283,6 +283,7 @@ PkResults *pk_client_simulate_update_packages (PkClient *client,
PkResults *pk_client_upgrade_system (PkClient *client,
const gchar *distro_id,
+ PkUpgradeKindEnum upgrade_kind,
GCancellable *cancellable,
PkProgressCallback progress_callback,
gpointer progress_user_data,
diff --git a/lib/packagekit-glib2/pk-client.c b/lib/packagekit-glib2/pk-client.c
index d8dec1f..92d1c74 100644
--- a/lib/packagekit-glib2/pk-client.c
+++ b/lib/packagekit-glib2/pk-client.c
@@ -121,6 +121,7 @@ typedef struct {
PkResults *results;
PkRoleEnum role;
PkSigTypeEnum type;
+ PkUpgradeKindEnum upgrade_kind;
guint refcount;
gboolean signals_connected;
PkClientHelper *client_helper;
@@ -1791,6 +1792,7 @@ pk_client_set_hints_cb (DBusGProxy *proxy, DBusGProxyCall *call, PkClientState *
state->call = dbus_g_proxy_begin_call (state->proxy, "UpgradeSystem",
(DBusGProxyCallNotify) pk_client_method_cb, state, NULL,
G_TYPE_STRING, state->distro_id,
+ G_TYPE_STRING, pk_upgrade_kind_enum_to_string (state->upgrade_kind),
G_TYPE_INVALID);
} else {
g_assert_not_reached ();
@@ -4181,6 +4183,7 @@ out:
* pk_client_upgrade_system_async:
* @client: a valid #PkClient instance
* @distro_id: a distro ID such as "fedora-14"
+ * @upgrade_kind: a #PkUpgradeKindEnum such as %PK_UPGRADE_KIND_ENUM_COMPLETE
* @cancellable: a #GCancellable or %NULL
* @progress_callback: (scope call): the function to run when the progress changes
* @progress_user_data: data to pass to @progress_callback
@@ -4196,7 +4199,8 @@ out:
* Since: 0.6.11
**/
void
-pk_client_upgrade_system_async (PkClient *client, const gchar *distro_id, GCancellable *cancellable,
+pk_client_upgrade_system_async (PkClient *client, const gchar *distro_id, PkUpgradeKindEnum upgrade_kind,
+ GCancellable *cancellable,
PkProgressCallback progress_callback, gpointer progress_user_data,
GAsyncReadyCallback callback_ready, gpointer user_data)
{
@@ -4220,6 +4224,7 @@ pk_client_upgrade_system_async (PkClient *client, const gchar *distro_id, GCance
state->cancellable_id = g_cancellable_connect (cancellable, G_CALLBACK (pk_client_cancellable_cancel_cb), state, NULL);
}
state->distro_id = g_strdup (distro_id);
+ state->upgrade_kind = upgrade_kind;
state->progress_callback = progress_callback;
state->progress_user_data = progress_user_data;
state->progress = pk_progress_new ();
diff --git a/lib/packagekit-glib2/pk-client.h b/lib/packagekit-glib2/pk-client.h
index 2d34b1a..11c2bad 100644
--- a/lib/packagekit-glib2/pk-client.h
+++ b/lib/packagekit-glib2/pk-client.h
@@ -395,6 +395,7 @@ void pk_client_simulate_update_packages_async (PkClient *client,
void pk_client_upgrade_system_async (PkClient *client,
const gchar *distro_id,
+ PkUpgradeKindEnum upgrade_kind,
GCancellable *cancellable,
PkProgressCallback progress_callback,
gpointer progress_user_data,
diff --git a/lib/packagekit-glib2/pk-enum.c b/lib/packagekit-glib2/pk-enum.c
index 13776c3..7369372 100644
--- a/lib/packagekit-glib2/pk-enum.c
+++ b/lib/packagekit-glib2/pk-enum.c
@@ -580,6 +580,14 @@ static const PkEnumMatch enum_authorize_type[] = {
{0, NULL}
};
+static const PkEnumMatch enum_upgrade_kind[] = {
+ {PK_UPGRADE_KIND_ENUM_UNKNOWN, "unknown"}, /* fall though value */
+ {PK_UPGRADE_KIND_ENUM_MINIMAL, "minimal"},
+ {PK_UPGRADE_KIND_ENUM_DEFAULT, "default"},
+ {PK_UPGRADE_KIND_ENUM_COMPLETE, "complete"},
+ {0, NULL}
+};
+
/**
* pk_enum_find_value:
* @table: A #PkEnumMatch enum table of values
@@ -1178,3 +1186,35 @@ pk_authorize_type_enum_to_string (PkAuthorizeEnum authorize_type)
{
return pk_enum_find_string (enum_authorize_type, authorize_type);
}
+
+/**
+ * pk_upgrade_kind_enum_from_string:
+ * @upgrade_kind: Text describing the enumerated type
+ *
+ * Converts a text enumerated type to its unsigned integer representation
+ *
+ * Return value: the enumerated constant value, e.g. %PK_UPGRADE_KIND_ENUM_MINIMAL
+ *
+ * Since: 0.6.11
+ **/
+PkUpgradeKindEnum
+pk_upgrade_kind_enum_from_string (const gchar *upgrade_kind)
+{
+ return pk_enum_find_value (enum_upgrade_kind, upgrade_kind);
+}
+
+/**
+ * pk_upgrade_kind_enum_to_string:
+ * @upgrade_kind: The enumerated type value
+ *
+ * Converts a enumerated type to its text representation
+ *
+ * Return value: the enumerated constant value, e.g. "minimal"
+ *
+ * Since: 0.6.11
+ **/
+const gchar *
+pk_upgrade_kind_enum_to_string (PkUpgradeKindEnum upgrade_kind)
+{
+ return pk_enum_find_string (enum_upgrade_kind, upgrade_kind);
+}
diff --git a/lib/packagekit-glib2/pk-enum.h b/lib/packagekit-glib2/pk-enum.h
index cb87877..6181635 100644
--- a/lib/packagekit-glib2/pk-enum.h
+++ b/lib/packagekit-glib2/pk-enum.h
@@ -718,6 +718,19 @@ typedef enum {
PK_AUTHORIZE_ENUM_LAST
} PkAuthorizeEnum;
+/**
+ * PkUpgradeKindEnum:
+ *
+ * The type of distribution upgrade to perform
+ **/
+typedef enum {
+ PK_UPGRADE_KIND_ENUM_UNKNOWN,
+ PK_UPGRADE_KIND_ENUM_MINIMAL,
+ PK_UPGRADE_KIND_ENUM_DEFAULT,
+ PK_UPGRADE_KIND_ENUM_COMPLETE,
+ PK_UPGRADE_KIND_ENUM_LAST
+} PkUpgradeKindEnum;
+
/* general */
void pk_enum_test (gpointer user_data);
guint pk_enum_find_value (const PkEnumMatch *table,
@@ -778,6 +791,9 @@ const gchar *pk_media_type_enum_to_string (PkMediaTypeEnum media_type);
PkAuthorizeEnum pk_authorize_type_enum_from_string (const gchar *authorize_type);
const gchar *pk_authorize_type_enum_to_string (PkAuthorizeEnum authorize_type);
+PkUpgradeKindEnum pk_upgrade_kind_enum_from_string (const gchar *upgrade_kind);
+const gchar *pk_upgrade_kind_enum_to_string (PkUpgradeKindEnum upgrade_kind);
+
G_END_DECLS
#endif /* __PK_ENUM_H */
diff --git a/src/org.freedesktop.PackageKit.Transaction.xml b/src/org.freedesktop.PackageKit.Transaction.xml
index 051b1fc..17b3ab9 100644
--- a/src/org.freedesktop.PackageKit.Transaction.xml
+++ b/src/org.freedesktop.PackageKit.Transaction.xml
@@ -1550,7 +1550,21 @@
<doc:doc>
<doc:summary>
<doc:para>
- The distro ID to upgrade to, e.g. <doc:tt>fedora-14</doc:tt>.
+ The distribution ID to upgrade to, e.g. <doc:tt>fedora-14</doc:tt>.
+ </doc:para>
+ </doc:summary>
+ </doc:doc>
+ </arg>
+ <arg type="s" name="upgrade_kind" direction="in">
+ <doc:doc>
+ <doc:summary>
+ <doc:para>
+ The type of upgrade, e.g. <doc:tt>minimal</doc:tt>, <doc:tt>default</doc:tt> or <doc:tt>complete</doc:tt>.
+ Minimal upgrades will download the smallest amount of data
+ before launching a installer.
+ The default is to download enough data to launch a full
+ graphical installer, but a complete upgrade will be
+ required if there is no internet access during install time.
</doc:para>
</doc:summary>
</doc:doc>
diff --git a/src/pk-backend.c b/src/pk-backend.c
index cbb70cd..3a5e449 100644
--- a/src/pk-backend.c
+++ b/src/pk-backend.c
@@ -3439,13 +3439,14 @@ pk_backend_simulate_update_packages (PkBackend *backend, gchar **package_ids)
* pk_backend_upgrade_system:
*/
void
-pk_backend_upgrade_system (PkBackend *backend, const gchar *distro_id)
+pk_backend_upgrade_system (PkBackend *backend, const gchar *distro_id, PkUpgradeKindEnum upgrade_kind)
{
g_return_if_fail (PK_IS_BACKEND (backend));
g_return_if_fail (backend->priv->desc->upgrade_system != NULL);
pk_backend_set_role_internal (backend, PK_ROLE_ENUM_UPGRADE_SYSTEM);
pk_store_set_string (backend->priv->store, "distro_id", distro_id);
- backend->priv->desc->upgrade_system (backend, distro_id);
+ pk_store_set_uint (backend->priv->store, "upgrade_kind", upgrade_kind);
+ backend->priv->desc->upgrade_system (backend, distro_id, upgrade_kind);
}
/**
diff --git a/src/pk-backend.h b/src/pk-backend.h
index 8f5c6bb..9e754a5 100644
--- a/src/pk-backend.h
+++ b/src/pk-backend.h
@@ -190,7 +190,8 @@ void pk_backend_simulate_remove_packages (PkBackend *backend,
void pk_backend_simulate_update_packages (PkBackend *backend,
gchar **package_ids);
void pk_backend_upgrade_system (PkBackend *backend,
- const gchar *distro_id);
+ const gchar *distro_id,
+ PkUpgradeKindEnum upgrade_kind);
/* set the state */
gboolean pk_backend_accept_eula (PkBackend *backend,
@@ -464,7 +465,8 @@ typedef struct {
void (*transaction_start) (PkBackend *backend);
void (*transaction_stop) (PkBackend *backend);
void (*upgrade_system) (PkBackend *backend,
- const gchar *distro_id);
+ const gchar *distro_id,
+ PkUpgradeKindEnum upgrade_kind);
gpointer padding[7];
} PkBackendDesc;
diff --git a/src/pk-transaction.c b/src/pk-transaction.c
index 7849c29..2fc5921 100644
--- a/src/pk-transaction.c
+++ b/src/pk-transaction.c
@@ -2022,7 +2022,7 @@ pk_transaction_set_running (PkTransaction *transaction)
pk_backend_get_depends (priv->backend, filters, priv->cached_package_ids, TRUE);
}
} else if (priv->role == PK_ROLE_ENUM_UPGRADE_SYSTEM) {
- pk_backend_upgrade_system (priv->backend, priv->cached_value);
+ pk_backend_upgrade_system (priv->backend, priv->cached_value, priv->cached_provides);
} else {
g_error ("failed to run as role not assigned");
ret = FALSE;
@@ -5431,15 +5431,16 @@ pk_transaction_what_provides (PkTransaction *transaction, const gchar *filter, c
* pk_transaction_upgrade_system:
**/
void
-pk_transaction_upgrade_system (PkTransaction *transaction, const gchar *distro_id, DBusGMethodInvocation *context)
+pk_transaction_upgrade_system (PkTransaction *transaction, const gchar *distro_id, const gchar *upgrade_kind_str, DBusGMethodInvocation *context)
{
gboolean ret;
GError *error = NULL;
+ PkUpgradeKindEnum upgrade_kind;
g_return_if_fail (PK_IS_TRANSACTION (transaction));
g_return_if_fail (transaction->priv->tid != NULL);
- g_debug ("UpgradeSystem method called: %s", distro_id);
+ g_debug ("UpgradeSystem method called: %s (%s)", distro_id, upgrade_kind_str);
/* not implemented yet */
if (!pk_backend_is_implemented (transaction->priv->backend, PK_ROLE_ENUM_UPGRADE_SYSTEM)) {
@@ -5458,8 +5459,19 @@ pk_transaction_upgrade_system (PkTransaction *transaction, const gchar *distro_i
return;
}
+ /* check upgrade kind */
+ upgrade_kind = pk_upgrade_kind_enum_from_string (upgrade_kind_str);
+ if (upgrade_kind == PK_UPGRADE_KIND_ENUM_UNKNOWN) {
+ error = g_error_new (PK_TRANSACTION_ERROR, PK_TRANSACTION_ERROR_INVALID_PROVIDE,
+ "upgrade kind '%s' not found", upgrade_kind_str);
+ pk_transaction_release_tid (transaction);
+ pk_transaction_dbus_return_error (context, error);
+ return;
+ }
+
/* save so we can run later */
transaction->priv->cached_value = g_strdup (distro_id);
+ transaction->priv->cached_provides = upgrade_kind;
pk_transaction_set_role (transaction, PK_ROLE_ENUM_UPGRADE_SYSTEM);
/* try to get authorization */
diff --git a/src/pk-transaction.h b/src/pk-transaction.h
index 78ab889..99b271f 100644
--- a/src/pk-transaction.h
+++ b/src/pk-transaction.h
@@ -238,6 +238,7 @@ void pk_transaction_what_provides (PkTransaction *transaction,
DBusGMethodInvocation *context);
void pk_transaction_upgrade_system (PkTransaction *transaction,
const gchar *distro_id,
+ const gchar *upgrade_kind_str,
DBusGMethodInvocation *context);
gboolean pk_transaction_filter_check (const gchar *filter,
GError **error);
commit 1db1066c962d5206595fb85290894075b2f576dd
Author: Richard Hughes <richard at hughsie.com>
Date: Fri Nov 5 16:03:13 2010 +0000
trivial: Add the python stub for upgrade-system
diff --git a/lib/python/packagekit/backend.py b/lib/python/packagekit/backend.py
index e89d174..b679425 100644
--- a/lib/python/packagekit/backend.py
+++ b/lib/python/packagekit/backend.py
@@ -396,6 +396,13 @@ class PackageKitBaseBackend:
'''
self.error(ERROR_NOT_SUPPORTED, "This function is not implemented in this backend", exit=False)
+ def upgrade_system(self, distro_id):
+ '''
+ Implement the {backend}-update-system functionality
+ Needed to be implemented in a sub class
+ '''
+ self.error(ERROR_NOT_SUPPORTED, "This function is not implemented in this backend", exit=False)
+
def refresh_cache(self, force):
'''
Implement the {backend}-refresh_cache functionality
@@ -720,6 +727,9 @@ class PackageKitBaseBackend:
package_ids = args[0].split(PACKAGE_IDS_DELIM)
self.simulate_update_packages(package_ids)
self.finished()
+ elif cmd == 'upgrade-system':
+ self.upgrade_system(args[0])
+ self.finished()
else:
errmsg = "command '%s' is not known" % cmd
self.error(ERROR_INTERNAL_ERROR, errmsg, exit=False)
commit 34ef28651238dfcf4e99b9cfa3279c79e67ca003
Merge: 91364f6... 53940d7...
Author: Daniel Nicoletti <dantti85-pk at yahoo.com.br>
Date: Thu Nov 4 11:36:09 2010 -0200
Merge branch 'master' of gitorious.org:packagekit/packagekit
commit 91364f689683b180f3d6df99bb65f6b0a0374b03
Author: Daniel Nicoletti <dantti85-pk at yahoo.com.br>
Date: Thu Nov 4 11:28:24 2010 -0200
aptcc: Ported away from PK_BACKEND_OPTIONS
diff --git a/backends/aptcc/pk-backend-aptcc.cpp b/backends/aptcc/pk-backend-aptcc.cpp
index c46e1c8..d52b434 100644
--- a/backends/aptcc/pk-backend-aptcc.cpp
+++ b/backends/aptcc/pk-backend-aptcc.cpp
@@ -42,10 +42,28 @@ static bool _cancel = false;
static PkBackendSpawn *spawn;
/**
- * backend_initialize:
+ * pk_backend_get_description:
*/
-static void
-backend_initialize (PkBackend *backend)
+gchar *
+pk_backend_get_description (PkBackend *backend)
+{
+ return g_strdup ("APTcc");
+}
+
+/**
+ * pk_backend_get_author:
+ */
+gchar *
+pk_backend_get_author (PkBackend *backend)
+{
+ return g_strdup ("Daniel Nicoletti <dantti85-pk at yahoo.com.br>");
+}
+
+/**
+ * pk_backend_initialize:
+ */
+void
+pk_backend_initialize (PkBackend *backend)
{
g_debug ("APTcc Initializing");
@@ -60,19 +78,19 @@ backend_initialize (PkBackend *backend)
}
/**
- * backend_destroy:
+ * pk_backend_destroy:
*/
-static void
-backend_destroy (PkBackend *backend)
+void
+pk_backend_destroy (PkBackend *backend)
{
g_debug ("APTcc being destroyed");
}
/**
- * backend_get_groups:
+ * pk_backend_get_groups:
*/
-static PkBitfield
-backend_get_groups (PkBackend *backend)
+PkBitfield
+pk_backend_get_groups (PkBackend *backend)
{
return pk_bitfield_from_enums (
PK_GROUP_ENUM_ACCESSORIES,
@@ -100,10 +118,10 @@ backend_get_groups (PkBackend *backend)
}
/**
- * backend_get_filters:
+ * pk_backend_get_filters:
*/
-static PkBitfield
-backend_get_filters (PkBackend *backend)
+PkBitfield
+pk_backend_get_filters (PkBackend *backend)
{
return pk_bitfield_from_enums (
PK_FILTER_ENUM_GUI,
@@ -114,19 +132,19 @@ backend_get_filters (PkBackend *backend)
}
/**
- * backend_get_mime_types:
+ * pk_backend_get_mime_types:
*/
-static gchar *
-backend_get_mime_types (PkBackend *backend)
+gchar *
+pk_backend_get_mime_types (PkBackend *backend)
{
return g_strdup ("application/x-deb");
}
/**
- * backend_cancel:
+ * pk_backend_cancel:
*/
-static void
-backend_cancel (PkBackend *backend)
+void
+pk_backend_cancel (PkBackend *backend)
{
aptcc *m_apt = (aptcc*) pk_backend_get_pointer(backend, "aptcc_obj");
if (m_apt) {
@@ -203,10 +221,10 @@ backend_get_depends_or_requires_thread (PkBackend *backend)
}
/**
- * backend_get_depends:
+ * pk_backend_get_depends:
*/
-static void
-backend_get_depends (PkBackend *backend, PkBitfield filters, gchar **package_ids, gboolean recursive)
+void
+pk_backend_get_depends (PkBackend *backend, PkBitfield filters, gchar **package_ids, gboolean recursive)
{
pk_backend_set_bool (backend, "get_depends", true);
pk_backend_set_bool (backend, "recursive", recursive);
@@ -214,10 +232,10 @@ backend_get_depends (PkBackend *backend, PkBitfield filters, gchar **package_ids
}
/**
- * backend_get_requires:
+ * pk_backend_get_requires:
*/
-static void
-backend_get_requires (PkBackend *backend, PkBitfield filters, gchar **package_ids, gboolean recursive)
+void
+pk_backend_get_requires (PkBackend *backend, PkBitfield filters, gchar **package_ids, gboolean recursive)
{
pk_backend_set_bool (backend, "get_depends", false);
pk_backend_set_bool (backend, "recursive", recursive);
@@ -225,10 +243,10 @@ backend_get_requires (PkBackend *backend, PkBitfield filters, gchar **package_id
}
/**
- * backend_get_distro_upgrades:
+ * pk_backend_get_distro_upgrades:
*/
-static void
-backend_get_distro_upgrades (PkBackend *backend)
+void
+pk_backend_get_distro_upgrades (PkBackend *backend)
{
pk_backend_spawn_helper (spawn, "get-distro-upgrade.py", "get-distro-upgrades", NULL);
}
@@ -288,10 +306,10 @@ backend_get_files_thread (PkBackend *backend)
}
/**
- * backend_get_files:
+ * pk_backend_get_files:
*/
-static void
-backend_get_files (PkBackend *backend, gchar **package_ids)
+void
+pk_backend_get_files (PkBackend *backend, gchar **package_ids)
{
pk_backend_thread_create (backend, backend_get_files_thread);
}
@@ -365,20 +383,20 @@ backend_get_details_thread (PkBackend *backend)
}
/**
- * backend_get_update_detail:
+ * pk_backend_get_update_detail:
*/
-static void
-backend_get_update_detail (PkBackend *backend, gchar **package_ids)
+void
+pk_backend_get_update_detail (PkBackend *backend, gchar **package_ids)
{
pk_backend_set_bool (backend, "updateDetail", true);
pk_backend_thread_create (backend, backend_get_details_thread);
}
/**
- * backend_get_details:
+ * pk_backend_get_details:
*/
-static void
-backend_get_details (PkBackend *backend, gchar **package_ids)
+void
+pk_backend_get_details (PkBackend *backend, gchar **package_ids)
{
pk_backend_set_bool (backend, "updateDetail", false);
pk_backend_thread_create (backend, backend_get_details_thread);
@@ -466,20 +484,20 @@ backend_get_or_update_system_thread (PkBackend *backend)
}
/**
- * backend_get_updates:
+ * pk_backend_get_updates:
*/
-static void
-backend_get_updates (PkBackend *backend, PkBitfield filters)
+void
+pk_backend_get_updates (PkBackend *backend, PkBitfield filters)
{
pk_backend_set_bool (backend, "getUpdates", true);
pk_backend_thread_create (backend, backend_get_or_update_system_thread);
}
/**
- * backend_update_system:
+ * pk_backend_update_system:
*/
-static void
-backend_update_system (PkBackend *backend, gboolean only_trusted)
+void
+pk_backend_update_system (PkBackend *backend, gboolean only_trusted)
{
pk_backend_set_bool (backend, "getUpdates", false);
pk_backend_thread_create (backend, backend_get_or_update_system_thread);
@@ -575,10 +593,10 @@ backend_what_provides_thread (PkBackend *backend)
}
/**
- * backend_what_provides
+ * pk_backend_what_provides
*/
-static void
-backend_what_provides (PkBackend *backend,
+void
+pk_backend_what_provides (PkBackend *backend,
PkBitfield filters,
PkProvidesEnum provide,
gchar **values)
@@ -587,10 +605,10 @@ backend_what_provides (PkBackend *backend,
}
/**
- * backend_download_packages_thread:
+ * pk_backend_download_packages_thread:
*/
static gboolean
-backend_download_packages_thread (PkBackend *backend)
+pk_backend_download_packages_thread (PkBackend *backend)
{
gchar **package_ids;
string directory;
@@ -706,19 +724,19 @@ backend_download_packages_thread (PkBackend *backend)
}
/**
- * backend_download_packages:
+ * pk_backend_download_packages:
*/
-static void
-backend_download_packages (PkBackend *backend, gchar **package_ids, const gchar *directory)
+void
+pk_backend_download_packages (PkBackend *backend, gchar **package_ids, const gchar *directory)
{
- pk_backend_thread_create (backend, backend_download_packages_thread);
+ pk_backend_thread_create (backend, pk_backend_download_packages_thread);
}
/**
- * backend_refresh_cache_thread:
+ * pk_backend_refresh_cache_thread:
*/
static gboolean
-backend_refresh_cache_thread (PkBackend *backend)
+pk_backend_refresh_cache_thread (PkBackend *backend)
{
pk_backend_set_allow_cancel (backend, true);
@@ -775,17 +793,17 @@ backend_refresh_cache_thread (PkBackend *backend)
}
/**
- * backend_refresh_cache:
+ * pk_backend_refresh_cache:
*/
-static void
-backend_refresh_cache (PkBackend *backend, gboolean force)
+void
+pk_backend_refresh_cache (PkBackend *backend, gboolean force)
{
- pk_backend_thread_create (backend, backend_refresh_cache_thread);
+ pk_backend_thread_create (backend, pk_backend_refresh_cache_thread);
}
static gboolean
-backend_resolve_thread (PkBackend *backend)
+pk_backend_resolve_thread (PkBackend *backend)
{
gchar **package_ids;
PkBitfield filters;
@@ -854,16 +872,16 @@ backend_resolve_thread (PkBackend *backend)
}
/**
- * backend_resolve:
+ * pk_backend_resolve:
*/
-static void
-backend_resolve (PkBackend *backend, PkBitfield filters, gchar **packages)
+void
+pk_backend_resolve (PkBackend *backend, PkBitfield filters, gchar **packages)
{
- pk_backend_thread_create (backend, backend_resolve_thread);
+ pk_backend_thread_create (backend, pk_backend_resolve_thread);
}
static gboolean
-backend_search_files_thread (PkBackend *backend)
+pk_backend_search_files_thread (PkBackend *backend)
{
gchar **values;
PkBitfield filters;
@@ -912,12 +930,12 @@ backend_search_files_thread (PkBackend *backend)
}
/**
- * backend_search_files:
+ * pk_backend_search_files:
*/
-static void
-backend_search_files (PkBackend *backend, PkBitfield filters, gchar **values)
+void
+pk_backend_search_files (PkBackend *backend, PkBitfield filters, gchar **values)
{
- pk_backend_thread_create (backend, backend_search_files_thread);
+ pk_backend_thread_create (backend, pk_backend_search_files_thread);
}
static gboolean
@@ -996,10 +1014,10 @@ backend_search_groups_thread (PkBackend *backend)
}
/**
- * backend_search_groups:
+ * pk_backend_search_groups:
*/
-static void
-backend_search_groups (PkBackend *backend, PkBitfield filters, gchar **values)
+void
+pk_backend_search_groups (PkBackend *backend, PkBitfield filters, gchar **values)
{
pk_backend_thread_create (backend, backend_search_groups_thread);
}
@@ -1156,20 +1174,20 @@ backend_search_package_thread (PkBackend *backend)
}
/**
- * backend_search_names:
+ * pk_backend_search_names:
*/
-static void
-backend_search_names (PkBackend *backend, PkBitfield filters, gchar **values)
+void
+pk_backend_search_names (PkBackend *backend, PkBitfield filters, gchar **values)
{
pk_backend_set_bool(backend, "search_details", false);
pk_backend_thread_create(backend, backend_search_package_thread);
}
/**
- * backend_search_details:
+ * pk_backend_search_details:
*/
-static void
-backend_search_details (PkBackend *backend, PkBitfield filters, gchar **values)
+void
+pk_backend_search_details (PkBackend *backend, PkBitfield filters, gchar **values)
{
pk_backend_set_bool(backend, "search_details", true);
pk_backend_thread_create(backend, backend_search_package_thread);
@@ -1246,10 +1264,10 @@ backend_manage_packages_thread (PkBackend *backend)
}
/**
- * backend_install_update_packages:
+ * pk_backend_install_packages:
*/
-static void
-backend_install_update_packages (PkBackend *backend, gboolean only_trusted, gchar **package_ids)
+void
+pk_backend_install_packages (PkBackend *backend, gboolean only_trusted, gchar **package_ids)
{
pk_backend_set_bool(backend, "simulate", false);
pk_backend_set_bool(backend, "remove", false);
@@ -1257,10 +1275,21 @@ backend_install_update_packages (PkBackend *backend, gboolean only_trusted, gcha
}
/**
- * backend_simulate_install_update_packages:
+ * pk_backend_update_packages:
*/
-static void
-backend_simulate_install_update_packages (PkBackend *backend, gchar **packages)
+void
+pk_backend_update_packages (PkBackend *backend, gboolean only_trusted, gchar **package_ids)
+{
+ pk_backend_set_bool(backend, "simulate", false);
+ pk_backend_set_bool(backend, "remove", false);
+ pk_backend_thread_create (backend, backend_manage_packages_thread);
+}
+
+/**
+ * pk_backend_simulate_install_packages:
+ */
+void
+pk_backend_simulate_install_packages (PkBackend *backend, gchar **packages)
{
pk_backend_set_bool(backend, "simulate", true);
pk_backend_set_bool(backend, "remove", false);
@@ -1268,10 +1297,21 @@ backend_simulate_install_update_packages (PkBackend *backend, gchar **packages)
}
/**
- * backend_remove_packages:
+ * pk_backend_simulate_update_packages:
*/
-static void
-backend_remove_packages (PkBackend *backend, gchar **package_ids, gboolean allow_deps, gboolean autoremove)
+void
+pk_backend_simulate_update_packages (PkBackend *backend, gchar **packages)
+{
+ pk_backend_set_bool(backend, "simulate", true);
+ pk_backend_set_bool(backend, "remove", false);
+ pk_backend_thread_create (backend, backend_manage_packages_thread);
+}
+
+/**
+ * pk_backend_remove_packages:
+ */
+void
+pk_backend_remove_packages (PkBackend *backend, gchar **package_ids, gboolean allow_deps, gboolean autoremove)
{
pk_backend_set_bool(backend, "simulate", false);
pk_backend_set_bool(backend, "remove", true);
@@ -1279,10 +1319,10 @@ backend_remove_packages (PkBackend *backend, gchar **package_ids, gboolean allow
}
/**
- * backend_simulate_remove_packages:
+ * pk_backend_simulate_remove_packages:
*/
-static void
-backend_simulate_remove_packages (PkBackend *backend, gchar **packages, gboolean autoremove)
+void
+pk_backend_simulate_remove_packages (PkBackend *backend, gchar **packages, gboolean autoremove)
{
pk_backend_set_bool(backend, "simulate", true);
pk_backend_set_bool(backend, "remove", true);
@@ -1394,20 +1434,20 @@ backend_repo_manager_thread (PkBackend *backend)
}
/**
- * backend_get_repo_list:
+ * pk_backend_get_repo_list:
*/
-static void
-backend_get_repo_list (PkBackend *backend, PkBitfield filters)
+void
+pk_backend_get_repo_list (PkBackend *backend, PkBitfield filters)
{
pk_backend_set_bool(backend, "list", true);
pk_backend_thread_create(backend, backend_repo_manager_thread);
}
/**
- * backend_repo_enable:
+ * pk_backend_repo_enable:
*/
-static void
-backend_repo_enable (PkBackend *backend, const gchar *rid, gboolean enabled)
+void
+pk_backend_repo_enable (PkBackend *backend, const gchar *rid, gboolean enabled)
{
pk_backend_set_bool(backend, "list", false);
pk_backend_thread_create(backend, backend_repo_manager_thread);
@@ -1459,57 +1499,10 @@ backend_get_packages_thread (PkBackend *backend)
}
/**
- * backend_get_packages:
+ * pk_backend_get_packages:
*/
-static void
-backend_get_packages (PkBackend *backend, PkBitfield filter)
+void
+pk_backend_get_packages (PkBackend *backend, PkBitfield filter)
{
pk_backend_thread_create (backend, backend_get_packages_thread);
}
-
-/* FIXME: port this away from PK_BACKEND_OPTIONS */
-extern "C" PK_BACKEND_OPTIONS (
- "APTcc", /* description */
- "Daniel Nicoletti <dantti85-pk at yahoo.com.br>", /* author */
- backend_initialize, /* initalize */
- backend_destroy, /* destroy */
- backend_get_groups, /* get_groups */
- backend_get_filters, /* get_filters */
- NULL, /* get_roles */
- backend_get_mime_types, /* get_mime_types */
- backend_cancel, /* cancel */
- backend_download_packages, /* download_packages */
- NULL, /* get_categories */
- backend_get_depends, /* get_depends */
- backend_get_details, /* get_details */
- backend_get_distro_upgrades, /* get_distro_upgrades */
- backend_get_files, /* get_files */
- backend_get_packages, /* get_packages */
- backend_get_repo_list, /* get_repo_list */
- backend_get_requires, /* get_requires */
- backend_get_update_detail, /* get_update_detail */
- backend_get_updates, /* get_updates */
- NULL, /* install_files */
- backend_install_update_packages, /* install_packages */
- NULL, /* install_signature */
- backend_refresh_cache, /* refresh_cache */
- backend_remove_packages, /* remove_packages */
- backend_repo_enable, /* repo_enable */
- NULL, /* repo_set_data */
- backend_resolve, /* resolve */
- NULL, /* rollback */
- backend_search_details, /* search_details */
- backend_search_files, /* search_files */
- backend_search_groups, /* search_groups */
- backend_search_names, /* search_names */
- backend_install_update_packages, /* update_packages */
- backend_update_system, /* update_system */
- backend_what_provides, /* what_provides */
- NULL, /* simulate_install_files */
- backend_simulate_install_update_packages, /* simulate_install_packages */
- backend_simulate_remove_packages, /* simulate_remove_packages */
- backend_simulate_install_update_packages, /* simulate_update_packages */
- NULL, /* upgrade_system */
- NULL, /* transaction_start */
- NULL /* transaction_stop */
-);
commit 53940d7011c4ae151874e5a5dbd46753de5d389b
Author: Duncan Mac-Vicar P <dmacvicar at suse.de>
Date: Thu Nov 4 13:26:21 2010 +0100
move away from PK_BACKEND_OPTIONS function table and use the
standard name convention that PK will resolve using GModule.
pkcon get-roles shows no changes
diff --git a/backends/zypp/pk-backend-zypp.cpp b/backends/zypp/pk-backend-zypp.cpp
index f8f83fa..6f6fd7f 100644
--- a/backends/zypp/pk-backend-zypp.cpp
+++ b/backends/zypp/pk-backend-zypp.cpp
@@ -76,11 +76,32 @@ static std::map<PkBackend *, EventDirector *> _eventDirectors;
std::map<PkBackend *, std::vector<std::string> *> _signatures;
/**
- * backend_initialize:
+ * pk_backend_get_description:
+ */
+gchar *
+pk_backend_get_description (PkBackend *backend)
+{
+ return g_strdup ("ZYpp package manager");
+}
+
+/**
+ * pk_backend_get_author:
+ */
+gchar *
+pk_backend_get_author (PkBackend *backend)
+{
+ return g_strdup ("Boyd Timothy <btimothy at gmail.com>, "
+ "Scott Reeves <sreeves at novell.com>, "
+ "Stefan Haas <shaas at suse.de>"
+ "ZYpp developers <zypp-devel at opensuse.org>");
+}
+
+/**
+ * pk_backend_initialize:
* This should only be run once per backend load, i.e. not every transaction
*/
-static void
-backend_initialize (PkBackend *backend)
+void
+pk_backend_initialize (PkBackend *backend)
{
zypp_logging ();
// disabled get_zypp() - too slow for a dbus timeout after zypper clean -a
@@ -93,11 +114,11 @@ backend_initialize (PkBackend *backend)
}
/**
- * backend_destroy:
+ * pk_backend_destroy:
* This should only be run once per backend load, i.e. not every transaction
*/
-static void
-backend_destroy (PkBackend *backend)
+void
+pk_backend_destroy (PkBackend *backend)
{
g_debug ("zypp_backend_destroy");
@@ -207,19 +228,19 @@ backend_get_requires_thread (PkBackend *backend)
}
/**
- * backend_get_requires:
+ * pk_backend_get_requires:
*/
-static void
-backend_get_requires(PkBackend *backend, PkBitfield filters, gchar **package_ids, gboolean recursive)
+void
+pk_backend_get_requires(PkBackend *backend, PkBitfield filters, gchar **package_ids, gboolean recursive)
{
pk_backend_thread_create (backend, backend_get_requires_thread);
}
/**
- * backend_get_groups:
+ * pk_backend_get_groups:
*/
-static PkBitfield
-backend_get_groups (PkBackend *backend)
+PkBitfield
+pk_backend_get_groups (PkBackend *backend)
{
return pk_bitfield_from_enums (
PK_GROUP_ENUM_ADMIN_TOOLS,
@@ -243,10 +264,10 @@ backend_get_groups (PkBackend *backend)
}
/**
- * backend_get_filters:
+ * pk_backend_get_filters:
*/
-static PkBitfield
-backend_get_filters (PkBackend *backend)
+PkBitfield
+pk_backend_get_filters (PkBackend *backend)
{
return pk_bitfield_from_enums (
PK_FILTER_ENUM_INSTALLED,
@@ -407,7 +428,7 @@ backend_get_depends_thread (PkBackend *backend)
g_debug ("add dep - '%s' '%s' %d [%s]", it->second.name().c_str(),
info == PK_INFO_ENUM_INSTALLED ? "installed" : "available",
- it->second.isSystem(),
+ it->second.isSystem(),
zypp_filter_solvable (_filters, it->second) ? "don't add" : "add" );
if (!zypp_filter_solvable (_filters, it->second)) {
@@ -430,10 +451,10 @@ backend_get_depends_thread (PkBackend *backend)
}
/**
- * backend_get_depends:
+ * pk_backend_get_depends:
*/
-static void
-backend_get_depends (PkBackend *backend, PkBitfield filters, gchar **package_ids, gboolean recursive)
+void
+pk_backend_get_depends (PkBackend *backend, PkBitfield filters, gchar **package_ids, gboolean recursive)
{
pk_backend_thread_create (backend, backend_get_depends_thread);
}
@@ -532,10 +553,10 @@ backend_get_details_thread (PkBackend *backend)
}
/**
- * backend_get_details:
+ * pk_backend_get_details:
*/
-static void
-backend_get_details (PkBackend *backend, gchar **package_ids)
+void
+pk_backend_get_details (PkBackend *backend, gchar **package_ids)
{
pk_backend_thread_create (backend, backend_get_details_thread);
}
@@ -580,10 +601,10 @@ backend_get_distro_upgrades_thread(PkBackend *backend)
}
/**
- * backend_get_distro_upgrades:
+ * pk_backend_get_distro_upgrades:
*/
-static void
-backend_get_distro_upgrades (PkBackend *backend)
+void
+pk_backend_get_distro_upgrades (PkBackend *backend)
{
pk_backend_thread_create (backend, backend_get_distro_upgrades_thread);
}
@@ -598,10 +619,10 @@ backend_refresh_cache_thread (PkBackend *backend)
}
/**
- * backend_refresh_cache
+ * pk_backend_refresh_cache
*/
-static void
-backend_refresh_cache (PkBackend *backend, gboolean force)
+void
+pk_backend_refresh_cache (PkBackend *backend, gboolean force)
{
pk_backend_thread_create (backend, backend_refresh_cache_thread);
}
@@ -696,10 +717,10 @@ backend_get_updates_thread (PkBackend *backend)
}
/**
- * backend_get_updates
+ * pk_backend_get_updates
*/
-static void
-backend_get_updates (PkBackend *backend, PkBitfield filters)
+void
+pk_backend_get_updates (PkBackend *backend, PkBitfield filters)
{
pk_backend_thread_create (backend, backend_get_updates_thread);
}
@@ -819,19 +840,19 @@ backend_install_files_thread (PkBackend *backend)
}
/**
- * backend_install_files
+ * pk_backend_install_files
*/
-static void
-backend_install_files (PkBackend *backend, gboolean only_trusted, gchar **full_paths)
+void
+pk_backend_install_files (PkBackend *backend, gboolean only_trusted, gchar **full_paths)
{
pk_backend_thread_create (backend, backend_install_files_thread);
}
/**
- * backend_simulate_install_files
+ * pk_backend_simulate_install_files
*/
-static void
-backend_simulate_install_files (PkBackend *backend, gchar **full_paths)
+void
+pk_backend_simulate_install_files (PkBackend *backend, gchar **full_paths)
{
pk_backend_thread_create (backend, backend_install_files_thread);
}
@@ -919,10 +940,10 @@ backend_get_update_detail_thread (PkBackend *backend)
}
/**
- * backend_get_update_detail
+ * pk_backend_get_update_detail
*/
-static void
-backend_get_update_detail (PkBackend *backend, gchar **package_ids)
+void
+pk_backend_get_update_detail (PkBackend *backend, gchar **package_ids)
{
pk_backend_thread_create (backend, backend_get_update_detail_thread);
}
@@ -970,10 +991,10 @@ backend_update_system_thread (PkBackend *backend)
}
/**
- * backend_update_system
+ * pk_backend_update_system
*/
-static void
-backend_update_system (PkBackend *backend, gboolean only_trusted)
+void
+pk_backend_update_system (PkBackend *backend, gboolean only_trusted)
{
pk_backend_thread_create (backend, backend_update_system_thread);
}
@@ -1032,7 +1053,7 @@ backend_install_packages_thread (PkBackend *backend)
break;
}
}
-
+
if (!system) {
gboolean hit = false;
@@ -1094,10 +1115,10 @@ backend_install_packages_thread (PkBackend *backend)
}
/**
- * backend_install_packages:
+ * pk_backend_install_packages:
*/
-static void
-backend_install_packages (PkBackend *backend, gboolean only_trusted, gchar **package_ids)
+void
+pk_backend_install_packages (PkBackend *backend, gboolean only_trusted, gchar **package_ids)
{
// For now, don't let the user cancel the install once it's started
pk_backend_set_allow_cancel (backend, FALSE);
@@ -1105,10 +1126,10 @@ backend_install_packages (PkBackend *backend, gboolean only_trusted, gchar **pac
}
/**
- * backend_simulate_install_packages:
+ * pk_backend_simulate_install_packages:
*/
-static void
-backend_simulate_install_packages (PkBackend *backend, gchar **package_ids)
+void
+pk_backend_simulate_install_packages (PkBackend *backend, gchar **package_ids)
{
pk_backend_thread_create (backend, backend_install_packages_thread);
}
@@ -1126,10 +1147,10 @@ backend_install_signature_thread (PkBackend *backend)
}
/**
- * backend_install_signature:
+ * pk_backend_install_signature:
*/
-static void
-backend_install_signature (PkBackend *backend, PkSigTypeEnum type, const gchar *key_id, const gchar *package_id)
+void
+pk_backend_install_signature (PkBackend *backend, PkSigTypeEnum type, const gchar *key_id, const gchar *package_id)
{
pk_backend_thread_create (backend, backend_install_signature_thread);
}
@@ -1205,16 +1226,16 @@ backend_remove_packages_thread (PkBackend *backend)
}
/**
- * backend_remove_packages:
+ * pk_backend_remove_packages:
*/
-static void
-backend_remove_packages (PkBackend *backend, gchar **package_ids, gboolean allow_deps, gboolean autoremove)
+void
+pk_backend_remove_packages (PkBackend *backend, gchar **package_ids, gboolean allow_deps, gboolean autoremove)
{
pk_backend_thread_create (backend, backend_remove_packages_thread);
}
-static void
-backend_simulate_remove_packages (PkBackend *backend, gchar **packages, gboolean autoremove)
+void
+pk_backend_simulate_remove_packages (PkBackend *backend, gchar **packages, gboolean autoremove)
{
pk_backend_thread_create (backend, backend_remove_packages_thread);
}
@@ -1288,10 +1309,10 @@ backend_resolve_thread (PkBackend *backend)
}
/**
- * backend_resolve:
+ * pk_backend_resolve:
*/
-static void
-backend_resolve (PkBackend *backend, PkBitfield filters, gchar **package_ids)
+void
+pk_backend_resolve (PkBackend *backend, PkBitfield filters, gchar **package_ids)
{
pk_backend_thread_create (backend, backend_resolve_thread);
}
@@ -1360,20 +1381,20 @@ backend_find_packages_thread (PkBackend *backend)
}
/**
- * backend_search_name:
+ * pk_backend_search_name:
*/
-static void
-backend_search_names (PkBackend *backend, PkBitfield filters, gchar **values)
+void
+pk_backend_search_names (PkBackend *backend, PkBitfield filters, gchar **values)
{
pk_backend_set_uint (backend, "mode", SEARCH_TYPE_NAME);
pk_backend_thread_create (backend, backend_find_packages_thread);
}
/**
- * backend_search_details:
+ * pk_backend_search_details:
*/
-static void
-backend_search_details (PkBackend *backend, PkBitfield filters, gchar **values)
+void
+pk_backend_search_details (PkBackend *backend, PkBitfield filters, gchar **values)
{
pk_backend_set_uint (backend, "mode", SEARCH_TYPE_DETAILS);
pk_backend_thread_create (backend, backend_find_packages_thread);
@@ -1421,19 +1442,19 @@ backend_search_group_thread (PkBackend *backend)
}
/**
- * backend_search_group:
+ * pk_backend_search_group:
*/
-static void
-backend_search_groups (PkBackend *backend, PkBitfield filters, gchar **values)
+void
+pk_backend_search_groups (PkBackend *backend, PkBitfield filters, gchar **values)
{
pk_backend_thread_create (backend, backend_search_group_thread);
}
/**
- * backend_search_file:
+ * pk_backend_search_file:
*/
-static void
-backend_search_files (PkBackend *backend, PkBitfield filters, gchar **values)
+void
+pk_backend_search_files (PkBackend *backend, PkBitfield filters, gchar **values)
{
pk_backend_set_uint (backend, "mode", SEARCH_TYPE_FILE);
pk_backend_thread_create (backend, backend_find_packages_thread);
@@ -1442,8 +1463,8 @@ backend_search_files (PkBackend *backend, PkBitfield filters, gchar **values)
/**
* backend_get_repo_list:
*/
-static void
-backend_get_repo_list (PkBackend *backend, PkBitfield filters)
+void
+pk_backend_get_repo_list (PkBackend *backend, PkBitfield filters)
{
//FIXME - use the new param - filter
@@ -1480,10 +1501,10 @@ backend_get_repo_list (PkBackend *backend, PkBitfield filters)
}
/**
- * backend_repo_enable:
+ * pk_backend_repo_enable:
*/
-static void
-backend_repo_enable (PkBackend *backend, const gchar *rid, gboolean enabled)
+void
+pk_backend_repo_enable (PkBackend *backend, const gchar *rid, gboolean enabled)
{
pk_backend_set_status (backend, PK_STATUS_ENUM_QUERY);
@@ -1584,10 +1605,10 @@ backend_get_files_thread (PkBackend *backend)
}
/**
- * backend_get_files:
+ * pk_backend_get_files:
*/
-static void
-backend_get_files(PkBackend *backend, gchar **package_ids)
+void
+pk_backend_get_files(PkBackend *backend, gchar **package_ids)
{
pk_backend_thread_create (backend, backend_get_files_thread);
}
@@ -1611,10 +1632,10 @@ backend_get_packages_thread (PkBackend *backend)
return TRUE;
}
/**
- * backend_get_packages:
+ * pk_backend_get_packages:
*/
-static void
-backend_get_packages (PkBackend *backend, PkBitfield filter)
+void
+pk_backend_get_packages (PkBackend *backend, PkBitfield filter)
{
pk_backend_thread_create (backend, backend_get_packages_thread);
}
@@ -1652,7 +1673,7 @@ backend_update_packages_thread (PkBackend *backend)
break;
}
}
- if (system == true)
+ if (system == true)
continue;
zypp::sat::Solvable solvable = zypp_get_package_by_id (backend, package_ids[i]);
zypp::PoolItem item = zypp::ResPool::instance ().find (solvable);
@@ -1671,19 +1692,19 @@ backend_update_packages_thread (PkBackend *backend)
}
/**
- * backend_update_packages
+ * pk_backend_update_packages
*/
-static void
-backend_update_packages (PkBackend *backend, gboolean only_trusted, gchar **package_ids)
+void
+pk_backend_update_packages (PkBackend *backend, gboolean only_trusted, gchar **package_ids)
{
pk_backend_thread_create (backend, backend_update_packages_thread);
}
/**
- * backend_simulate_update_packages
+ * pk_backend_simulate_update_packages
*/
-static void
-backend_simulate_update_packages (PkBackend *backend, gchar **package_ids)
+void
+pk_backend_simulate_update_packages (PkBackend *backend, gchar **package_ids)
{
pk_backend_thread_create (backend, backend_update_packages_thread);
}
@@ -1814,10 +1835,10 @@ backend_repo_set_data_thread (PkBackend *backend)
}
/**
- * backend_repo_set_data
+ * pk_backend_repo_set_data
*/
-static void
-backend_repo_set_data (PkBackend *backend, const gchar *repo_id, const gchar *parameter, const gchar *value)
+void
+pk_backend_repo_set_data (PkBackend *backend, const gchar *repo_id, const gchar *parameter, const gchar *value)
{
pk_backend_thread_create (backend, backend_repo_set_data_thread);
}
@@ -1873,7 +1894,7 @@ backend_what_provides_thread (PkBackend *backend)
for (zypp::sat::WhatProvides::const_iterator it = prov.begin (); it != prov.end (); it++) {
if (zypp_filter_solvable (_filters, *it))
continue;
-
+
PkInfoEnum info = it->isSystem () ? PK_INFO_ENUM_INSTALLED : PK_INFO_ENUM_AVAILABLE;
zypp_backend_package (backend, info, *it, it->lookupStrAttribute (zypp::sat::SolvAttr::summary).c_str ());
}
@@ -1884,25 +1905,25 @@ backend_what_provides_thread (PkBackend *backend)
}
/**
- * backend_what_provides
+ * pk_backend_what_provides
*/
-static void
-backend_what_provides (PkBackend *backend, PkBitfield filters, PkProvidesEnum provide, gchar **values)
+void
+pk_backend_what_provides (PkBackend *backend, PkBitfield filters, PkProvidesEnum provide, gchar **values)
{
pk_backend_thread_create (backend, backend_what_provides_thread);
}
-static gchar *
-backend_get_mime_types (PkBackend *backend)
+gchar *
+pk_backend_get_mime_types (PkBackend *backend)
{
return g_strdup ("application/x-rpm");
}
/**
- * backend_transaction_start:
+ * pk_backend_transaction_start:
*/
-static void
-backend_transaction_start (PkBackend *backend)
+void
+pk_backend_transaction_start (PkBackend *backend)
{
gchar *proxy_http;
gchar *proxy_ftp;
@@ -1929,62 +1950,14 @@ backend_transaction_start (PkBackend *backend)
}
/**
- * backend_transaction_stop:
+ * pk_backend_transaction_stop:
*/
-static void
-backend_transaction_stop (PkBackend *backend)
+void
+pk_backend_transaction_stop (PkBackend *backend)
{
/* unset proxy info for this transaction */
g_unsetenv ("http_proxy");
g_unsetenv ("ftp_proxy");
}
-/* FIXME: port this away from PK_BACKEND_OPTIONS */
-extern "C" PK_BACKEND_OPTIONS (
- "Zypp", /* description */
- "Boyd Timothy <btimothy at gmail.com>, "
- "Scott Reeves <sreeves at novell.com>, "
- "Stefan Haas <shaas at suse.de>", /* author */
- backend_initialize, /* initalize */
- backend_destroy, /* destroy */
- backend_get_groups, /* get_groups */
- backend_get_filters, /* get_filters */
- NULL, /* get_roles */
- backend_get_mime_types, /* get_mime_types */
- NULL, /* cancel */
- NULL, /* download_packages */
- NULL, /* get_categories */
- backend_get_depends, /* get_depends */
- backend_get_details, /* get_details */
- backend_get_distro_upgrades, /* get_distro_upgrades */
- backend_get_files, /* get_files */
- backend_get_packages, /* get_packages */
- backend_get_repo_list, /* get_repo_list */
- backend_get_requires, /* get_requires */
- backend_get_update_detail, /* get_update_detail */
- backend_get_updates, /* get_updates */
- backend_install_files, /* install_files */
- backend_install_packages, /* install_packages */
- backend_install_signature, /* install_signature */
- backend_refresh_cache, /* refresh_cache */
- backend_remove_packages, /* remove_packages */
- backend_repo_enable, /* repo_enable */
- backend_repo_set_data, /* repo_set_data */
- backend_resolve, /* resolve */
- NULL, /* rollback */
- backend_search_details, /* search_details */
- backend_search_files, /* search_files */
- backend_search_groups, /* search_groups */
- backend_search_names, /* search_names */
- backend_update_packages, /* update_packages */
- backend_update_system, /* update_system */
- backend_what_provides, /* what_provides */
- backend_simulate_install_files, /* simulate_install_files */
- backend_simulate_install_packages, /* simulate_install_packages */
- backend_simulate_remove_packages, /* simulate_remove_packages */
- backend_simulate_update_packages, /* simulate_update_packages */
- NULL, /* upgrade_system */
- backend_transaction_start, /* transaction_start */
- backend_transaction_stop /* transaction_stop */
-);
commit 8205baee0dcfe1b742464ce22aa7329296e7339e
Author: Zhang Qiang <qiang.z.zhang at intel.com>
Date: Thu Nov 4 13:30:41 2010 +0800
zypp: support repo filter in geting repo list
This patch implement the repo filter feature for zypp backend.
Typically, repo filter can be used in gpk-repo.
diff --git a/backends/zypp/pk-backend-zypp.cpp b/backends/zypp/pk-backend-zypp.cpp
index d0410ed..f8f83fa 100644
--- a/backends/zypp/pk-backend-zypp.cpp
+++ b/backends/zypp/pk-backend-zypp.cpp
@@ -1465,6 +1465,8 @@ backend_get_repo_list (PkBackend *backend, PkBitfield filters)
}
for (std::list <zypp::RepoInfo>::iterator it = repos.begin(); it != repos.end(); it++) {
+ if (pk_bitfield_contain (filters, PK_FILTER_ENUM_NOT_DEVELOPMENT) && zypp_is_development_repo (backend, *it))
+ continue;
// RepoInfo::alias - Unique identifier for this source.
// RepoInfo::name - Short label or description of the
// repository, to be used on the user interface
diff --git a/backends/zypp/zypp-utils.cpp b/backends/zypp/zypp-utils.cpp
index e360dc5..1272754 100644
--- a/backends/zypp/zypp-utils.cpp
+++ b/backends/zypp/zypp-utils.cpp
@@ -150,6 +150,35 @@ zypp_is_changeable_media (PkBackend *backend, const zypp::Url &url)
return is_cd;
}
+gboolean
+zypp_is_development_repo (PkBackend *backend, zypp::RepoInfo repo)
+{
+ std::string repo_debuginfo("-debuginfo");
+ std::string repo_debug("-debug");
+ std::string repo_development("-development");
+ std::string repo_source ("-source");
+
+ std::string repo_name(repo.name());
+
+ if (repo_name.length() > repo_debuginfo.length() &&
+ repo_name.compare(repo_name.length() - repo_debuginfo.length(), repo_debuginfo.length(), repo_debuginfo) == 0)
+ return TRUE;
+
+ if (repo_name.length() > repo_debug.length() &&
+ repo_name.compare(repo_name.length() - repo_debug.length(), repo_debug.length(), repo_debug) == 0)
+ return TRUE;
+
+ if (repo_name.length() > repo_development.length() &&
+ repo_name.compare(repo_name.length() - repo_development.length(), repo_development.length(), repo_development) == 0)
+ return TRUE;
+
+ if (repo_name.length() > repo_source.length() &&
+ repo_name.compare(repo_name.length() - repo_source.length(), repo_source.length(), repo_source) == 0)
+ return TRUE;
+
+ return FALSE;
+}
+
zypp::ResPool
zypp_build_pool (PkBackend *backend, gboolean include_local)
{
diff --git a/backends/zypp/zypp-utils.h b/backends/zypp/zypp-utils.h
index 95d084c..815f594 100644
--- a/backends/zypp/zypp-utils.h
+++ b/backends/zypp/zypp-utils.h
@@ -85,6 +85,8 @@ gboolean zypp_logging ();
gboolean zypp_is_changeable_media (PkBackend *backend, const zypp::Url &url);
+gboolean zypp_is_development_repo (PkBackend *backend, zypp::RepoInfo repo);
+
/**
* Build and return a ResPool that contains all local resolvables
* and ones found in the enabled repositories.
commit 5907efa0f3f73b7575d38d8fc86d1c87c0aa13b7
Author: Zhang Qiang <qiang.z.zhang at intel.com>
Date: Thu Nov 4 13:08:59 2010 +0800
Always show update a package even if already update
zypp backend: when execute pkcon update, pkcon update always show the
specified packages need to update, even if it's already updated. This
patch fix this issue, and check the package if it's needed to update.
diff --git a/backends/zypp/pk-backend-zypp.cpp b/backends/zypp/pk-backend-zypp.cpp
index b180bbd..d0410ed 100644
--- a/backends/zypp/pk-backend-zypp.cpp
+++ b/backends/zypp/pk-backend-zypp.cpp
@@ -1622,6 +1622,7 @@ backend_update_packages_thread (PkBackend *backend)
{
gboolean retval;
gchar **package_ids;
+ zypp::ResPool pool = zypp_build_pool (backend, TRUE);
/* FIXME: support only_trusted */
package_ids = pk_backend_get_strv (backend, "package_ids");
PkRestartEnum restart = PK_RESTART_ENUM_NONE;
@@ -1634,6 +1635,23 @@ backend_update_packages_thread (PkBackend *backend)
_updating_self = FALSE;
}
for (guint i = 0; package_ids[i]; i++) {
+ gchar **id_parts = pk_package_id_split (package_ids[i]);
+ std::string name = id_parts[PK_PACKAGE_ID_NAME];
+
+ // Do we have already the latest version.
+ gboolean system = false;
+ for (zypp::ResPool::byName_iterator it = pool.byNameBegin (name);
+ it != pool.byNameEnd (name); it++) {
+ if (!it->satSolvable().isSystem())
+ continue;
+ if (zypp_ver_and_arch_equal (it->satSolvable(), id_parts[PK_PACKAGE_ID_VERSION],
+ id_parts[PK_PACKAGE_ID_ARCH])) {
+ system = true;
+ break;
+ }
+ }
+ if (system == true)
+ continue;
zypp::sat::Solvable solvable = zypp_get_package_by_id (backend, package_ids[i]);
zypp::PoolItem item = zypp::ResPool::instance ().find (solvable);
item.status ().setToBeInstalled (zypp::ResStatus::USER);
commit 3d8d74c6dfca3fd20fe72a788638bb4b59c23fd5
Author: Jonathan Conder <jonno dot conder at gmail dot com>
Date: Thu Nov 4 13:30:01 2010 +1300
pacman: prevent recursive logging
diff --git a/backends/pacman/backend-pacman.c b/backends/pacman/backend-pacman.c
index 5f11a75..6ed13a0 100644
--- a/backends/pacman/backend-pacman.c
+++ b/backends/pacman/backend-pacman.c
@@ -46,17 +46,17 @@ pacman_message_cb (const gchar *domain, GLogLevelFlags level, const gchar *messa
switch (level) {
case G_LOG_LEVEL_WARNING:
case G_LOG_LEVEL_MESSAGE:
- g_warning ("pacman: %s", message);
+ /*g_warning ("pacman: %s", message);*/
backend_message ((PkBackend *) user_data, message);
break;
case G_LOG_LEVEL_INFO:
case G_LOG_LEVEL_DEBUG:
- g_debug ("pacman: %s", message);
+ /*g_debug ("pacman: %s", message);*/
break;
default:
- g_warning ("pacman: %s", message);
+ /*g_warning ("pacman: %s", message);*/
break;
}
}
commit 379ca491309ac77de3b984822880fa016d0bcf9b
Merge: 41b89ee... 23910fe...
Author: Daniel Nicoletti <dantti85-pk at yahoo.com.br>
Date: Wed Nov 3 17:49:58 2010 -0200
Merge branch 'master' of gitorious.org:packagekit/packagekit
commit 41b89ee7febac04fa241acf59097cfa8d7835087
Author: Daniel Nicoletti <dantti85-pk at yahoo.com.br>
Date: Wed Nov 3 17:47:17 2010 -0200
aptcc: Set the env proxy vars so that Apt::Acquire is not overwritten, fixes LP: #633008
diff --git a/backends/aptcc/apt.cpp b/backends/aptcc/apt.cpp
index c4089de..74c6dd0 100644
--- a/backends/aptcc/apt.cpp
+++ b/backends/aptcc/apt.cpp
@@ -66,8 +66,8 @@ aptcc::aptcc(PkBackend *backend, bool &cancel)
bool aptcc::init()
{
gchar *locale;
- gchar *proxy_http;
- gchar *proxy_ftp;
+ gchar *http_proxy;
+ gchar *ftp_proxy;
// Set PackageKit status
pk_backend_set_status(m_backend, PK_STATUS_ENUM_LOADING_CACHE);
@@ -84,18 +84,12 @@ bool aptcc::init()
}
// set http proxy
- if (proxy_http = pk_backend_get_proxy_http(m_backend)) {
- _config->Set("Acquire::http::Proxy", proxy_http);
- } else {
- _config->Set("Acquire::http::Proxy", "");
- }
+ http_proxy = pk_backend_get_proxy_http(m_backend);
+ setenv("http_proxy", http_proxy, 1);
// set ftp proxy
- if (proxy_ftp = pk_backend_get_proxy_ftp(m_backend)) {
- _config->Set("Acquire::ftp::Proxy", proxy_ftp);
- } else {
- _config->Set("Acquire::ftp::Proxy", "");
- }
+ ftp_proxy = pk_backend_get_proxy_ftp(m_backend);
+ setenv("ftp_proxy", ftp_proxy, 1);
packageSourceList = new pkgSourceList;
// Read the source list
commit 23910fe014417114908d3cbb6b8dcce5bef5d151
Author: Richard Hughes <richard at hughsie.com>
Date: Wed Nov 3 17:11:15 2010 +0000
yum: fix compile with git master versions of Zif
diff --git a/backends/yum/pk-backend-yum.c b/backends/yum/pk-backend-yum.c
index b9dd098..58905cf 100644
--- a/backends/yum/pk-backend-yum.c
+++ b/backends/yum/pk-backend-yum.c
@@ -1637,7 +1637,11 @@ pk_backend_get_depends_thread (PkBackend *backend)
ZifState *state_local;
ZifState *state_loop;
ZifState *state_loop_inner;
+#ifdef ZIF_CHECK_VERSION
+ ZifDepend *require;
+#else
const ZifDepend *require;
+#endif
const gchar *id;
guint i, j, k;
guint len;
@@ -1727,12 +1731,22 @@ pk_backend_get_depends_thread (PkBackend *backend)
require = g_ptr_array_index (requires, k);
/* find the package providing the depend */
+#ifdef ZIF_CHECK_VERSION
+ to_array[0] = zif_depend_get_name (require);
+#else
to_array[0] = require->name;
+#endif
provides = zif_store_array_what_provides (store_array, (gchar**)to_array, state_loop_inner, &error);
if (provides == NULL) {
+#ifdef ZIF_CHECK_VERSION
+ pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_FOUND,
+ "failed to find provide for %s: %s",
+ zif_depend_get_name (require), error->message);
+#else
pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_FOUND,
"failed to find provide for %s: %s",
require->name, error->message);
+#endif
g_error_free (error);
goto out;
}
commit 237aaf7901b234fb4c45aa7dff273a77bff38a1e
Author: Richard Hughes <richard at hughsie.com>
Date: Wed Nov 3 15:32:14 2010 +0000
dummy: add a more realistic UpgradeSystem
diff --git a/backends/dummy/pk-backend-dummy.c b/backends/dummy/pk-backend-dummy.c
index a6fc33b..150a8c4 100644
--- a/backends/dummy/pk-backend-dummy.c
+++ b/backends/dummy/pk-backend-dummy.c
@@ -1376,16 +1376,61 @@ pk_backend_simulate_install_packages (PkBackend *backend, gchar **package_ids)
}
+static gboolean
+pk_backend_upgrade_system_timeout (gpointer data)
+{
+ PkBackend *backend = (PkBackend *) data;
+ if (_progress_percentage == 100) {
+ pk_backend_require_restart (backend, PK_RESTART_ENUM_SYSTEM, "kernel;2.6.23-0.115.rc3.git1.fc8;i386;installed");
+ pk_backend_finished (backend);
+ return FALSE;
+ }
+ if (_progress_percentage == 0) {
+ pk_backend_set_status (backend, PK_STATUS_ENUM_DOWNLOAD_UPDATEINFO);
+ }
+ if (_progress_percentage == 20) {
+ pk_backend_package (backend, PK_INFO_ENUM_DOWNLOADING,
+ "kernel;2.6.23-0.115.rc3.git1.fc8;i386;installed",
+ "The Linux kernel (the core of the Linux operating system)");
+ }
+ if (_progress_percentage == 30) {
+ pk_backend_package (backend, PK_INFO_ENUM_DOWNLOADING,
+ "gtkhtml2;2.19.1-4.fc8;i386;fedora",
+ "An HTML widget for GTK+ 2.0");
+ }
+ if (_progress_percentage == 40) {
+ pk_backend_set_allow_cancel (backend, FALSE);
+ pk_backend_package (backend, PK_INFO_ENUM_DOWNLOADING,
+ "powertop;1.8-1.fc8;i386;fedora",
+ "Power consumption monitor");
+ }
+ if (_progress_percentage == 60) {
+ pk_backend_set_allow_cancel (backend, TRUE);
+ pk_backend_package (backend, PK_INFO_ENUM_DOWNLOADING,
+ "kernel;2.6.23-0.115.rc3.git1.fc8;i386;installed",
+ "The Linux kernel (the core of the Linux operating system)");
+ }
+ if (_progress_percentage == 80) {
+ pk_backend_package (backend, PK_INFO_ENUM_DOWNLOADING,
+ "powertop;1.8-1.fc8;i386;fedora",
+ "Power consumption monitor");
+ }
+ _progress_percentage += 1;
+ pk_backend_set_percentage (backend, _progress_percentage);
+ pk_backend_set_sub_percentage (backend, (_progress_percentage % 10) * 10);
+ return TRUE;
+}
+
/**
* pk_backend_upgrade_system:
*/
void
pk_backend_upgrade_system (PkBackend *backend, const gchar *distro_id)
{
- pk_backend_package (backend, PK_INFO_ENUM_UPDATING,
- "gtkhtml2;2.19.1-4.fc8;i386;fedora", "An HTML widget for GTK+ 2.0");
- pk_backend_require_restart (backend, PK_RESTART_ENUM_SYSTEM, "kernel;2.6.23-0.115.rc3.git1.fc8;i386;installed");
- pk_backend_finished (backend);
+ pk_backend_set_status (backend, PK_STATUS_ENUM_DOWNLOAD);
+ pk_backend_set_allow_cancel (backend, TRUE);
+ _progress_percentage = 0;
+ _signal_timeout = g_timeout_add (100, pk_backend_upgrade_system_timeout, backend);
}
/**
commit 644fa615935aeeaa905352312384d36abc794fef
Author: Richard Hughes <richard at hughsie.com>
Date: Wed Nov 3 11:54:28 2010 +0000
Use PolicyKit to restrict the UpgradeSystem method to administrators
diff --git a/policy/org.freedesktop.packagekit.policy.in b/policy/org.freedesktop.packagekit.policy.in
index 7d59fb3..dbc84a1 100644
--- a/policy/org.freedesktop.packagekit.policy.in
+++ b/policy/org.freedesktop.packagekit.policy.in
@@ -233,5 +233,21 @@
<annotate key="org.freedesktop.policykit.exec.path">/usr/sbin/pk-device-rebind</annotate>
</action>
+ <action id="org.freedesktop.packagekit.upgrade-system">
+ <!-- SECURITY:
+ - Normal users require admin authentication to upgrade the disto as
+ this can make the system unbootable or stop other applications from
+ working.
+ -->
+ <_description>Remove package</_description>
+ <_message>Authentication is required to upgrade the operating system</_message>
+ <icon_name>package-x-generic</icon_name>
+ <defaults>
+ <allow_any>no</allow_any>
+ <allow_inactive>no</allow_inactive>
+ <allow_active>auth_admin</allow_active>
+ </defaults>
+ </action>
+
</policyconfig>
diff --git a/src/pk-transaction.c b/src/pk-transaction.c
index 737be38..7849c29 100644
--- a/src/pk-transaction.c
+++ b/src/pk-transaction.c
@@ -2466,6 +2466,9 @@ pk_transaction_role_to_action_only_trusted (PkRoleEnum role)
case PK_ROLE_ENUM_CANCEL:
policy = "org.freedesktop.packagekit.cancel-foreign";
break;
+ case PK_ROLE_ENUM_UPGRADE_SYSTEM:
+ policy = "org.freedesktop.packagekit.upgrade-system";
+ break;
default:
break;
}
@@ -5459,11 +5462,9 @@ pk_transaction_upgrade_system (PkTransaction *transaction, const gchar *distro_i
transaction->priv->cached_value = g_strdup (distro_id);
pk_transaction_set_role (transaction, PK_ROLE_ENUM_UPGRADE_SYSTEM);
- /* try to commit this */
- ret = pk_transaction_commit (transaction);
+ /* try to get authorization */
+ ret = pk_transaction_obtain_authorization (transaction, FALSE, PK_ROLE_ENUM_UPGRADE_SYSTEM, &error);
if (!ret) {
- error = g_error_new (PK_TRANSACTION_ERROR, PK_TRANSACTION_ERROR_COMMIT_FAILED,
- "Could not commit to a transaction object");
pk_transaction_release_tid (transaction);
pk_transaction_dbus_return_error (context, error);
return;
commit 8f93f1ae83f18c69bbcddb082067641c526e1ff4
Author: Richard Hughes <richard at hughsie.com>
Date: Wed Nov 3 10:55:53 2010 +0000
yum: do not claim to implement the RepoSetData method
diff --git a/backends/yum/pk-backend-yum.c b/backends/yum/pk-backend-yum.c
index 3209ebf..b9dd098 100644
--- a/backends/yum/pk-backend-yum.c
+++ b/backends/yum/pk-backend-yum.c
@@ -1433,7 +1433,6 @@ pk_backend_get_roles (PkBackend *backend)
PK_ROLE_ENUM_UPDATE_SYSTEM,
PK_ROLE_ENUM_GET_REPO_LIST,
PK_ROLE_ENUM_REPO_ENABLE,
- PK_ROLE_ENUM_REPO_SET_DATA,
PK_ROLE_ENUM_GET_CATEGORIES,
PK_ROLE_ENUM_SIMULATE_INSTALL_FILES,
PK_ROLE_ENUM_SIMULATE_INSTALL_PACKAGES,
commit ada939e4ab5d4a3e018b69eedd4e00417851e23b
Author: Richard Hughes <richard at hughsie.com>
Date: Wed Nov 3 10:55:01 2010 +0000
trivial: add some asserts if backends can't do things they claim to do
diff --git a/src/pk-backend.c b/src/pk-backend.c
index 8b183f0..cbb70cd 100644
--- a/src/pk-backend.c
+++ b/src/pk-backend.c
@@ -3010,6 +3010,7 @@ void
pk_backend_download_packages (PkBackend *backend, gchar **package_ids, const gchar *directory)
{
g_return_if_fail (PK_IS_BACKEND (backend));
+ g_return_if_fail (backend->priv->desc->download_packages != NULL);
pk_backend_set_role_internal (backend, PK_ROLE_ENUM_DOWNLOAD_PACKAGES);
pk_store_set_strv (backend->priv->store, "package_ids", package_ids);
pk_store_set_string (backend->priv->store, "directory", directory);
@@ -3023,6 +3024,7 @@ void
pk_backend_get_categories (PkBackend *backend)
{
g_return_if_fail (PK_IS_BACKEND (backend));
+ g_return_if_fail (backend->priv->desc->get_categories != NULL);
pk_backend_set_role_internal (backend, PK_ROLE_ENUM_GET_CATEGORIES);
backend->priv->desc->get_categories (backend);
}
@@ -3034,6 +3036,7 @@ void
pk_backend_get_depends (PkBackend *backend, PkBitfield filters, gchar **package_ids, gboolean recursive)
{
g_return_if_fail (PK_IS_BACKEND (backend));
+ g_return_if_fail (backend->priv->desc->get_depends != NULL);
pk_backend_set_role_internal (backend, PK_ROLE_ENUM_GET_DEPENDS);
pk_store_set_uint (backend->priv->store, "filters", filters);
pk_store_set_strv (backend->priv->store, "package_ids", package_ids);
@@ -3048,6 +3051,7 @@ void
pk_backend_get_details (PkBackend *backend, gchar **package_ids)
{
g_return_if_fail (PK_IS_BACKEND (backend));
+ g_return_if_fail (backend->priv->desc->get_details != NULL);
pk_backend_set_role_internal (backend, PK_ROLE_ENUM_GET_DETAILS);
pk_store_set_strv (backend->priv->store, "package_ids", package_ids);
backend->priv->desc->get_details (backend, package_ids);
@@ -3060,6 +3064,7 @@ void
pk_backend_get_distro_upgrades (PkBackend *backend)
{
g_return_if_fail (PK_IS_BACKEND (backend));
+ g_return_if_fail (backend->priv->desc->get_distro_upgrades != NULL);
pk_backend_set_role_internal (backend, PK_ROLE_ENUM_GET_DISTRO_UPGRADES);
backend->priv->desc->get_distro_upgrades (backend);
}
@@ -3071,6 +3076,7 @@ void
pk_backend_get_files (PkBackend *backend, gchar **package_ids)
{
g_return_if_fail (PK_IS_BACKEND (backend));
+ g_return_if_fail (backend->priv->desc->get_files != NULL);
pk_backend_set_role_internal (backend, PK_ROLE_ENUM_GET_FILES);
pk_store_set_strv (backend->priv->store, "package_ids", package_ids);
backend->priv->desc->get_files (backend, package_ids);
@@ -3083,6 +3089,7 @@ void
pk_backend_get_requires (PkBackend *backend, PkBitfield filters, gchar **package_ids, gboolean recursive)
{
g_return_if_fail (PK_IS_BACKEND (backend));
+ g_return_if_fail (backend->priv->desc->get_requires != NULL);
pk_backend_set_role_internal (backend, PK_ROLE_ENUM_GET_REQUIRES);
pk_store_set_uint (backend->priv->store, "filters", filters);
pk_store_set_strv (backend->priv->store, "package_ids", package_ids);
@@ -3097,6 +3104,7 @@ void
pk_backend_get_update_detail (PkBackend *backend, gchar **package_ids)
{
g_return_if_fail (PK_IS_BACKEND (backend));
+ g_return_if_fail (backend->priv->desc->get_update_detail != NULL);
pk_backend_set_role_internal (backend, PK_ROLE_ENUM_GET_UPDATE_DETAIL);
pk_store_set_strv (backend->priv->store, "package_ids", package_ids);
backend->priv->desc->get_update_detail (backend, package_ids);
@@ -3109,6 +3117,7 @@ void
pk_backend_get_updates (PkBackend *backend, PkBitfield filters)
{
g_return_if_fail (PK_IS_BACKEND (backend));
+ g_return_if_fail (backend->priv->desc->get_updates != NULL);
pk_backend_set_role_internal (backend, PK_ROLE_ENUM_GET_UPDATES);
pk_store_set_uint (backend->priv->store, "filters", filters);
backend->priv->desc->get_updates (backend, filters);
@@ -3121,6 +3130,7 @@ void
pk_backend_install_packages (PkBackend *backend, gboolean only_trusted, gchar **package_ids)
{
g_return_if_fail (PK_IS_BACKEND (backend));
+ g_return_if_fail (backend->priv->desc->install_packages != NULL);
pk_backend_set_role_internal (backend, PK_ROLE_ENUM_INSTALL_PACKAGES);
pk_store_set_bool (backend->priv->store, "only_trusted", only_trusted);
pk_store_set_strv (backend->priv->store, "package_ids", package_ids);
@@ -3135,6 +3145,7 @@ void
pk_backend_install_signature (PkBackend *backend, PkSigTypeEnum type, const gchar *key_id, const gchar *package_id)
{
g_return_if_fail (PK_IS_BACKEND (backend));
+ g_return_if_fail (backend->priv->desc->install_signature != NULL);
pk_backend_set_role_internal (backend, PK_ROLE_ENUM_INSTALL_SIGNATURE);
pk_store_set_string (backend->priv->store, "key_id", key_id);
pk_store_set_string (backend->priv->store, "package_id", package_id);
@@ -3148,6 +3159,7 @@ void
pk_backend_install_files (PkBackend *backend, gboolean only_trusted, gchar **full_paths)
{
g_return_if_fail (PK_IS_BACKEND (backend));
+ g_return_if_fail (backend->priv->desc->install_files != NULL);
pk_backend_set_role_internal (backend, PK_ROLE_ENUM_INSTALL_FILES);
pk_store_set_bool (backend->priv->store, "only_trusted", only_trusted);
pk_store_set_strv (backend->priv->store, "full_paths", full_paths);
@@ -3162,6 +3174,7 @@ void
pk_backend_refresh_cache (PkBackend *backend, gboolean force)
{
g_return_if_fail (PK_IS_BACKEND (backend));
+ g_return_if_fail (backend->priv->desc->refresh_cache != NULL);
pk_backend_set_role_internal (backend, PK_ROLE_ENUM_REFRESH_CACHE);
pk_store_set_bool (backend->priv->store, "force", force);
backend->priv->desc->refresh_cache (backend, force);
@@ -3174,6 +3187,7 @@ void
pk_backend_remove_packages (PkBackend *backend, gchar **package_ids, gboolean allow_deps, gboolean autoremove)
{
g_return_if_fail (PK_IS_BACKEND (backend));
+ g_return_if_fail (backend->priv->desc->remove_packages != NULL);
pk_backend_set_role_internal (backend, PK_ROLE_ENUM_REMOVE_PACKAGES);
pk_store_set_strv (backend->priv->store, "package_ids", package_ids);
pk_store_set_bool (backend->priv->store, "allow_deps", allow_deps);
@@ -3189,6 +3203,7 @@ void
pk_backend_resolve (PkBackend *backend, PkBitfield filters, gchar **package_ids)
{
g_return_if_fail (PK_IS_BACKEND (backend));
+ g_return_if_fail (backend->priv->desc->resolve != NULL);
pk_backend_set_role_internal (backend, PK_ROLE_ENUM_RESOLVE);
pk_store_set_uint (backend->priv->store, "filters", filters);
pk_store_set_strv (backend->priv->store, "package_ids", package_ids);
@@ -3202,6 +3217,7 @@ void
pk_backend_rollback (PkBackend *backend, const gchar *transaction_id)
{
g_return_if_fail (PK_IS_BACKEND (backend));
+ g_return_if_fail (backend->priv->desc->rollback != NULL);
pk_backend_set_role_internal (backend, PK_ROLE_ENUM_ROLLBACK);
pk_store_set_string (backend->priv->store, "transaction_id", transaction_id);
backend->priv->desc->rollback (backend, transaction_id);
@@ -3214,6 +3230,7 @@ void
pk_backend_search_details (PkBackend *backend, PkBitfield filters, gchar **values)
{
g_return_if_fail (PK_IS_BACKEND (backend));
+ g_return_if_fail (backend->priv->desc->search_details != NULL);
pk_backend_set_role_internal (backend, PK_ROLE_ENUM_SEARCH_DETAILS);
pk_store_set_uint (backend->priv->store, "filters", filters);
pk_store_set_strv (backend->priv->store, "search", values);
@@ -3227,6 +3244,7 @@ void
pk_backend_search_files (PkBackend *backend, PkBitfield filters, gchar **values)
{
g_return_if_fail (PK_IS_BACKEND (backend));
+ g_return_if_fail (backend->priv->desc->search_files != NULL);
pk_backend_set_role_internal (backend, PK_ROLE_ENUM_SEARCH_FILE);
pk_store_set_uint (backend->priv->store, "filters", filters);
pk_store_set_strv (backend->priv->store, "search", values);
@@ -3240,6 +3258,7 @@ void
pk_backend_search_groups (PkBackend *backend, PkBitfield filters, gchar **values)
{
g_return_if_fail (PK_IS_BACKEND (backend));
+ g_return_if_fail (backend->priv->desc->search_groups != NULL);
pk_backend_set_role_internal (backend, PK_ROLE_ENUM_SEARCH_GROUP);
pk_store_set_uint (backend->priv->store, "filters", filters);
pk_store_set_strv (backend->priv->store, "search", values);
@@ -3253,6 +3272,7 @@ void
pk_backend_search_names (PkBackend *backend, PkBitfield filters, gchar **values)
{
g_return_if_fail (PK_IS_BACKEND (backend));
+ g_return_if_fail (backend->priv->desc->search_names != NULL);
pk_backend_set_role_internal (backend, PK_ROLE_ENUM_SEARCH_NAME);
pk_store_set_uint (backend->priv->store, "filters", filters);
pk_store_set_strv (backend->priv->store, "search", values);
@@ -3266,6 +3286,7 @@ void
pk_backend_update_packages (PkBackend *backend, gboolean only_trusted, gchar **package_ids)
{
g_return_if_fail (PK_IS_BACKEND (backend));
+ g_return_if_fail (backend->priv->desc->update_packages != NULL);
pk_backend_set_role_internal (backend, PK_ROLE_ENUM_UPDATE_PACKAGES);
pk_store_set_bool (backend->priv->store, "only_trusted", only_trusted);
pk_store_set_strv (backend->priv->store, "package_ids", package_ids);
@@ -3280,6 +3301,7 @@ void
pk_backend_update_system (PkBackend *backend, gboolean only_trusted)
{
g_return_if_fail (PK_IS_BACKEND (backend));
+ g_return_if_fail (backend->priv->desc->update_system != NULL);
pk_backend_set_role_internal (backend, PK_ROLE_ENUM_UPDATE_SYSTEM);
pk_store_set_bool (backend->priv->store, "only_trusted", only_trusted);
pk_backend_set_bool (backend, "hint:simulate", FALSE);
@@ -3293,6 +3315,7 @@ void
pk_backend_get_repo_list (PkBackend *backend, PkBitfield filters)
{
g_return_if_fail (PK_IS_BACKEND (backend));
+ g_return_if_fail (backend->priv->desc->get_repo_list != NULL);
pk_backend_set_role_internal (backend, PK_ROLE_ENUM_GET_REPO_LIST);
pk_store_set_uint (backend->priv->store, "filters", filters);
backend->priv->desc->get_repo_list (backend, filters);
@@ -3305,6 +3328,7 @@ void
pk_backend_repo_enable (PkBackend *backend, const gchar *repo_id, gboolean enabled)
{
g_return_if_fail (PK_IS_BACKEND (backend));
+ g_return_if_fail (backend->priv->desc->repo_enable != NULL);
pk_backend_set_role_internal (backend, PK_ROLE_ENUM_REPO_ENABLE);
pk_store_set_string (backend->priv->store, "repo_id", repo_id);
pk_store_set_bool (backend->priv->store, "enabled", enabled);
@@ -3318,6 +3342,7 @@ void
pk_backend_repo_set_data (PkBackend *backend, const gchar *repo_id, const gchar *parameter, const gchar *value)
{
g_return_if_fail (PK_IS_BACKEND (backend));
+ g_return_if_fail (backend->priv->desc->repo_set_data != NULL);
pk_backend_set_role_internal (backend, PK_ROLE_ENUM_REPO_SET_DATA);
pk_store_set_string (backend->priv->store, "repo_id", repo_id);
pk_store_set_string (backend->priv->store, "parameter", parameter);
@@ -3332,6 +3357,7 @@ void
pk_backend_what_provides (PkBackend *backend, PkBitfield filters, PkProvidesEnum provides, gchar **values)
{
g_return_if_fail (PK_IS_BACKEND (backend));
+ g_return_if_fail (backend->priv->desc->what_provides != NULL);
pk_backend_set_role_internal (backend, PK_ROLE_ENUM_WHAT_PROVIDES);
pk_store_set_uint (backend->priv->store, "filters", filters);
pk_store_set_uint (backend->priv->store, "provides", provides);
@@ -3346,6 +3372,7 @@ void
pk_backend_get_packages (PkBackend *backend, PkBitfield filters)
{
g_return_if_fail (PK_IS_BACKEND (backend));
+ g_return_if_fail (backend->priv->desc->get_packages != NULL);
pk_backend_set_role_internal (backend, PK_ROLE_ENUM_GET_PACKAGES);
pk_store_set_uint (backend->priv->store, "filters", filters);
backend->priv->desc->get_packages (backend, filters);
@@ -3358,6 +3385,7 @@ void
pk_backend_simulate_install_files (PkBackend *backend, gchar **full_paths)
{
g_return_if_fail (PK_IS_BACKEND (backend));
+ g_return_if_fail (backend->priv->desc->simulate_install_files != NULL);
pk_backend_set_role_internal (backend, PK_ROLE_ENUM_SIMULATE_INSTALL_FILES);
pk_store_set_strv (backend->priv->store, "full_paths", full_paths);
pk_backend_set_bool (backend, "hint:simulate", TRUE);
@@ -3371,6 +3399,7 @@ void
pk_backend_simulate_install_packages (PkBackend *backend, gchar **package_ids)
{
g_return_if_fail (PK_IS_BACKEND (backend));
+ g_return_if_fail (backend->priv->desc->simulate_install_packages != NULL);
pk_backend_set_role_internal (backend, PK_ROLE_ENUM_SIMULATE_INSTALL_PACKAGES);
pk_store_set_strv (backend->priv->store, "package_ids", package_ids);
pk_backend_set_bool (backend, "hint:simulate", TRUE);
@@ -3384,6 +3413,7 @@ void
pk_backend_simulate_remove_packages (PkBackend *backend, gchar **package_ids, gboolean autoremove)
{
g_return_if_fail (PK_IS_BACKEND (backend));
+ g_return_if_fail (backend->priv->desc->simulate_remove_packages != NULL);
pk_backend_set_role_internal (backend, PK_ROLE_ENUM_SIMULATE_REMOVE_PACKAGES);
pk_store_set_strv (backend->priv->store, "package_ids", package_ids);
pk_store_set_bool (backend->priv->store, "autoremove", autoremove);
@@ -3398,6 +3428,7 @@ void
pk_backend_simulate_update_packages (PkBackend *backend, gchar **package_ids)
{
g_return_if_fail (PK_IS_BACKEND (backend));
+ g_return_if_fail (backend->priv->desc->simulate_update_packages != NULL);
pk_backend_set_role_internal (backend, PK_ROLE_ENUM_SIMULATE_UPDATE_PACKAGES);
pk_store_set_strv (backend->priv->store, "package_ids", package_ids);
pk_backend_set_bool (backend, "hint:simulate", TRUE);
@@ -3411,6 +3442,7 @@ void
pk_backend_upgrade_system (PkBackend *backend, const gchar *distro_id)
{
g_return_if_fail (PK_IS_BACKEND (backend));
+ g_return_if_fail (backend->priv->desc->upgrade_system != NULL);
pk_backend_set_role_internal (backend, PK_ROLE_ENUM_UPGRADE_SYSTEM);
pk_store_set_string (backend->priv->store, "distro_id", distro_id);
backend->priv->desc->upgrade_system (backend, distro_id);
commit de60e3755db6620fe34f7aa303e0822f24649e4e
Author: Richard Hughes <richard at hughsie.com>
Date: Wed Nov 3 09:48:20 2010 +0000
glib: Add some C getters to PkDistroUpgrade
diff --git a/lib/packagekit-glib2/pk-distro-upgrade.c b/lib/packagekit-glib2/pk-distro-upgrade.c
index ad641ed..01903d6 100644
--- a/lib/packagekit-glib2/pk-distro-upgrade.c
+++ b/lib/packagekit-glib2/pk-distro-upgrade.c
@@ -46,7 +46,7 @@ static void pk_distro_upgrade_finalize (GObject *object);
**/
struct _PkDistroUpgradePrivate
{
- PkUpdateStateEnum state;
+ PkDistroUpgradeEnum state;
gchar *name;
gchar *summary;
};
@@ -54,7 +54,7 @@ struct _PkDistroUpgradePrivate
enum {
PROP_0,
PROP_STATE,
- PROP_NAME,
+ PROP_NAME, /* FIXME: should be "ID" */
PROP_SUMMARY,
PROP_LAST
};
@@ -62,6 +62,59 @@ enum {
G_DEFINE_TYPE (PkDistroUpgrade, pk_distro_upgrade, PK_TYPE_SOURCE)
/**
+ * pk_distro_upgrade_get_id:
+ * @distro_upgrade: a valid #PkDistroUpgrade object.
+ *
+ * Gets the distribution identifier.
+ * You use this value to call UpgradeSystem.
+ *
+ * Return value: the distro-id, e.g. "fedora-14"
+ *
+ * Since: 0.6.11
+ **/
+const gchar *
+pk_distro_upgrade_get_id (PkDistroUpgrade *distro_upgrade)
+{
+ g_return_val_if_fail (PK_IS_DISTRO_UPGRADE (distro_upgrade), NULL);
+ return distro_upgrade->priv->name;
+}
+
+/**
+ * pk_distro_upgrade_get_summary:
+ * @distro_upgrade: a valid #PkDistroUpgrade object.
+ *
+ * Gets the description of the distribution upgrade.
+ *
+ * Return value: the printable name, e.g. "Fedora 14"
+ *
+ * Since: 0.6.11
+ **/
+const gchar *
+pk_distro_upgrade_get_summary (PkDistroUpgrade *distro_upgrade)
+{
+ g_return_val_if_fail (PK_IS_DISTRO_UPGRADE (distro_upgrade), NULL);
+ return distro_upgrade->priv->summary;
+}
+
+/**
+ * pk_distro_upgrade_get_state:
+ * @distro_upgrade: a valid #PkDistroUpgrade object.
+ *
+ * Gets the status of the distribution upgrade.
+ *
+ * Return value: the printable name, e.g. %PK_DISTRO_UPGRADE_ENUM_UNSTABLE
+ *
+ * Since: 0.6.11
+ **/
+PkDistroUpgradeEnum
+pk_distro_upgrade_get_state (PkDistroUpgrade *distro_upgrade)
+{
+ g_return_val_if_fail (PK_IS_DISTRO_UPGRADE (distro_upgrade), PK_DISTRO_UPGRADE_ENUM_UNKNOWN);
+ return distro_upgrade->priv->state;
+}
+
+
+/**
* pk_distro_upgrade_get_property:
**/
static void
diff --git a/lib/packagekit-glib2/pk-distro-upgrade.h b/lib/packagekit-glib2/pk-distro-upgrade.h
index a9ba9d1..a825014 100644
--- a/lib/packagekit-glib2/pk-distro-upgrade.h
+++ b/lib/packagekit-glib2/pk-distro-upgrade.h
@@ -29,6 +29,7 @@
#include <glib-object.h>
#include <packagekit-glib2/pk-source.h>
+#include <packagekit-glib2/pk-enum.h>
G_BEGIN_DECLS
@@ -63,6 +64,12 @@ struct _PkDistroUpgradeClass
GType pk_distro_upgrade_get_type (void);
PkDistroUpgrade *pk_distro_upgrade_new (void);
+/* accessors */
+const gchar *pk_distro_upgrade_get_id (PkDistroUpgrade *distro_upgrade);
+const gchar *pk_distro_upgrade_get_summary (PkDistroUpgrade *distro_upgrade);
+PkDistroUpgradeEnum pk_distro_upgrade_get_state (PkDistroUpgrade *distro_upgrade);
+
+
G_END_DECLS
#endif /* __PK_DISTRO_UPGRADE_H */
commit 42ca2064761bf415c76cf3eced3a6cabd56c1b87
Author: Richard Hughes <richard at hughsie.com>
Date: Tue Nov 2 17:19:43 2010 +0000
Ensure we can send a cache-age of maxuint to fix command-not-found
diff --git a/lib/packagekit-glib2/pk-client.c b/lib/packagekit-glib2/pk-client.c
index 3e66e7c..d8dec1f 100644
--- a/lib/packagekit-glib2/pk-client.c
+++ b/lib/packagekit-glib2/pk-client.c
@@ -1957,7 +1957,7 @@ pk_client_get_tid_cb (GObject *object, GAsyncResult *res, PkClientState *state)
/* cache-age */
if (state->client->priv->cache_age > 0) {
- hint = g_strdup_printf ("cache-age=%i", state->client->priv->cache_age);
+ hint = g_strdup_printf ("cache-age=%u", state->client->priv->cache_age);
g_ptr_array_add (array, hint);
}
diff --git a/src/egg-string.c b/src/egg-string.c
index fc493ed..ea2f922 100644
--- a/src/egg-string.c
+++ b/src/egg-string.c
@@ -106,7 +106,7 @@ egg_strtouint (const gchar *text, guint *value)
return FALSE;
/* out of range */
- if (value_raw > G_MAXINT)
+ if (value_raw > G_MAXUINT)
return FALSE;
/* cast back down to value */
commit 40e412f7db10c93a44d9098b17afa3a3f25a4a72
Author: Richard Hughes <richard at hughsie.com>
Date: Tue Nov 2 10:04:38 2010 +0000
Add a new backend role for updating the whole distro: UpgradeSystem
diff --git a/backends/alpm/pk-backend-alpm.c b/backends/alpm/pk-backend-alpm.c
index 6f8095c..5513d8d 100644
--- a/backends/alpm/pk-backend-alpm.c
+++ b/backends/alpm/pk-backend-alpm.c
@@ -1649,6 +1649,7 @@ backend_what_provides (PkBackend *backend, PkBitfield filters, PkProvidesEnum pr
pk_backend_thread_create (backend, backend_search_thread);
}
+/* FIXME: port this away from PK_BACKEND_OPTIONS */
PK_BACKEND_OPTIONS (
"alpm", /* description */
"Valeriy Lyasotskiy <onestep at ukr.net>", /* author */
@@ -1690,6 +1691,7 @@ PK_BACKEND_OPTIONS (
NULL, /* simulate_install_packages */
NULL, /* simulate_remove_packages */
NULL, /* simulate_update_packages */
+ NULL, /* upgrade_system */
NULL, /* transaction_start */
NULL /* transaction_stop */
);
diff --git a/backends/apt/pk-backend-apt.c b/backends/apt/pk-backend-apt.c
index 66273ba..6508bf3 100644
--- a/backends/apt/pk-backend-apt.c
+++ b/backends/apt/pk-backend-apt.c
@@ -536,7 +536,7 @@ backend_get_filters (PkBackend *backend)
-1);
}
-
+/* FIXME: port this away from PK_BACKEND_OPTIONS */
PK_BACKEND_OPTIONS (
"Apt", /* description */
"Sebastian Heinlein <glatzor at ubuntu.com>", /* author */
@@ -590,6 +590,7 @@ PK_BACKEND_OPTIONS (
backend_simulate_install_packages, /* simulate_install_packages */
backend_simulate_remove_packages, /* simulate_remove_packages */
backend_simulate_update_packages, /* simulate_update_packages */
+ NULL, /* upgrade_system */
NULL, /* transaction_start */
NULL /* transaction_stop */
);
diff --git a/backends/aptcc/pk-backend-aptcc.cpp b/backends/aptcc/pk-backend-aptcc.cpp
index 0238a38..c46e1c8 100644
--- a/backends/aptcc/pk-backend-aptcc.cpp
+++ b/backends/aptcc/pk-backend-aptcc.cpp
@@ -1467,6 +1467,7 @@ backend_get_packages (PkBackend *backend, PkBitfield filter)
pk_backend_thread_create (backend, backend_get_packages_thread);
}
+/* FIXME: port this away from PK_BACKEND_OPTIONS */
extern "C" PK_BACKEND_OPTIONS (
"APTcc", /* description */
"Daniel Nicoletti <dantti85-pk at yahoo.com.br>", /* author */
@@ -1508,6 +1509,7 @@ extern "C" PK_BACKEND_OPTIONS (
backend_simulate_install_update_packages, /* simulate_install_packages */
backend_simulate_remove_packages, /* simulate_remove_packages */
backend_simulate_install_update_packages, /* simulate_update_packages */
+ NULL, /* upgrade_system */
NULL, /* transaction_start */
NULL /* transaction_stop */
);
diff --git a/backends/box/pk-backend-box.c b/backends/box/pk-backend-box.c
index 80f2cf1..a6f930a 100644
--- a/backends/box/pk-backend-box.c
+++ b/backends/box/pk-backend-box.c
@@ -693,6 +693,7 @@ backend_repo_set_data (PkBackend *backend, const gchar *rid, const gchar *parame
pk_backend_finished (backend);
}
+/* FIXME: port this away from PK_BACKEND_OPTIONS */
PK_BACKEND_OPTIONS (
"Box", /* description */
"Grzegorz DÄ
browski <grzegorz.dabrowski at gmail.com>", /* author */
@@ -734,6 +735,7 @@ PK_BACKEND_OPTIONS (
NULL, /* simulate_install_packages */
NULL, /* simulate_remove_packages */
NULL, /* simulate_update_packages */
+ NULL, /* upgrade_system */
NULL, /* transaction_start */
NULL /* transaction_stop */
);
diff --git a/backends/conary/pk-backend-conary.c b/backends/conary/pk-backend-conary.c
index b59339f..06d49a8 100644
--- a/backends/conary/pk-backend-conary.c
+++ b/backends/conary/pk-backend-conary.c
@@ -421,6 +421,7 @@ backend_simulate_update_packages (PkBackend *backend, gchar **package_ids)
g_free (package_ids_temp);
}
+/* FIXME: port this away from PK_BACKEND_OPTIONS */
PK_BACKEND_OPTIONS (
"Conary with XMLCache", /* description */
"Andres Vargas <zodman at foresightlinux.org>", /* author */
@@ -462,6 +463,7 @@ PK_BACKEND_OPTIONS (
backend_simulate_install_packages, /* simulate_install_packages */
backend_simulate_remove_packages, /* simulate_remove_packages */
backend_simulate_update_packages, /* simulate_update_packages */
+ NULL, /* upgrade_system */
NULL, /* transaction_start */
NULL /* transaction_stop */
);
diff --git a/backends/dummy/pk-backend-dummy.c b/backends/dummy/pk-backend-dummy.c
index 6f8dec8..a6fc33b 100644
--- a/backends/dummy/pk-backend-dummy.c
+++ b/backends/dummy/pk-backend-dummy.c
@@ -1,6 +1,6 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
*
- * Copyright (C) 2007-2008 Richard Hughes <richard at hughsie.com>
+ * Copyright (C) 2007-2010 Richard Hughes <richard at hughsie.com>
*
* Licensed under the GNU General Public License Version 2
*
@@ -1375,6 +1375,19 @@ pk_backend_simulate_install_packages (PkBackend *backend, gchar **package_ids)
pk_backend_finished (backend);
}
+
+/**
+ * pk_backend_upgrade_system:
+ */
+void
+pk_backend_upgrade_system (PkBackend *backend, const gchar *distro_id)
+{
+ pk_backend_package (backend, PK_INFO_ENUM_UPDATING,
+ "gtkhtml2;2.19.1-4.fc8;i386;fedora", "An HTML widget for GTK+ 2.0");
+ pk_backend_require_restart (backend, PK_RESTART_ENUM_SYSTEM, "kernel;2.6.23-0.115.rc3.git1.fc8;i386;installed");
+ pk_backend_finished (backend);
+}
+
/**
* pk_backend_transaction_start:
*/
diff --git a/backends/entropy/pk-backend-entropy.c b/backends/entropy/pk-backend-entropy.c
index 50519ef..b97f088 100644
--- a/backends/entropy/pk-backend-entropy.c
+++ b/backends/entropy/pk-backend-entropy.c
@@ -555,6 +555,7 @@ backend_simulate_install_files (PkBackend *backend, gchar **full_paths)
g_free (package_ids_temp);
}
+/* FIXME: port this away from PK_BACKEND_OPTIONS */
PK_BACKEND_OPTIONS (
"Entropy", /* description */
"Fabio Erculiani (lxnay) <lxnay at sabayon.org>", /* author */
@@ -596,6 +597,7 @@ PK_BACKEND_OPTIONS (
backend_simulate_install_packages, /* simulate_install_packages */
backend_simulate_remove_packages, /* simulate_remove_packages */
backend_simulate_update_packages, /* simulate_update_packages */
+ NULL, /* upgrade_system */
NULL, /* transaction_start */
NULL /* transaction_stop */
);
diff --git a/backends/opkg/pk-backend-opkg.c b/backends/opkg/pk-backend-opkg.c
index e5f4ced..e0b77d9 100644
--- a/backends/opkg/pk-backend-opkg.c
+++ b/backends/opkg/pk-backend-opkg.c
@@ -709,6 +709,7 @@ backend_get_details (PkBackend *backend, gchar **package_ids)
pk_backend_thread_create (backend, backend_get_details_thread);
}
+/* FIXME: port this away from PK_BACKEND_OPTIONS */
PK_BACKEND_OPTIONS (
"opkg", /* description */
"Thomas Wood <thomas at openedhand.com>", /* author */
@@ -750,6 +751,7 @@ PK_BACKEND_OPTIONS (
NULL, /* simulate_install_packages */
NULL, /* simulate_remove_packages */
NULL, /* simulate_update_packages */
+ NULL, /* upgrade_system */
NULL, /* transaction_start */
NULL /* transaction_stop */
);
diff --git a/backends/pisi/pk-backend-pisi.c b/backends/pisi/pk-backend-pisi.c
index 2acc9d7..9635708 100644
--- a/backends/pisi/pk-backend-pisi.c
+++ b/backends/pisi/pk-backend-pisi.c
@@ -357,6 +357,7 @@ backend_repo_set_data (PkBackend *backend, const gchar *rid, const gchar *parame
pk_backend_spawn_helper (spawn, "pisiBackend.py", "repo-set-data", rid, parameter, value, NULL);
}
+/* FIXME: port this away from PK_BACKEND_OPTIONS */
PK_BACKEND_OPTIONS (
"PiSi", /* description */
"S.ÃaÄlar Onur <caglar at pardus.org.tr>", /* author */
@@ -398,6 +399,7 @@ PK_BACKEND_OPTIONS (
NULL, /* simulate_install_packages */
NULL, /* simulate_remove_packages */
NULL, /* simulate_update_packages */
+ NULL, /* upgrade_system */
NULL, /* transaction_start */
NULL /* transaction_stop */
);
diff --git a/backends/poldek/pk-backend-poldek.c b/backends/poldek/pk-backend-poldek.c
index 4c6df05..bfd472d 100644
--- a/backends/poldek/pk-backend-poldek.c
+++ b/backends/poldek/pk-backend-poldek.c
@@ -3397,6 +3397,7 @@ backend_simulate_update_packages (PkBackend *backend, gchar **package_ids)
pk_backend_thread_create (backend, do_simulate_packages);
}
+/* FIXME: port this away from PK_BACKEND_OPTIONS */
PK_BACKEND_OPTIONS (
"poldek", /* description */
"Marcin Banasiak <megabajt at pld-linux.org>", /* author */
@@ -3438,6 +3439,7 @@ PK_BACKEND_OPTIONS (
backend_simulate_install_packages, /* simulate_install_packages */
backend_simulate_remove_packages, /* simulate_remove_packages */
backend_simulate_update_packages, /* simulate_update_packages */
+ NULL, /* upgrade_system */
NULL, /* transaction_start */
NULL /* transaction_stop */
);
diff --git a/backends/portage/pk-backend-portage.c b/backends/portage/pk-backend-portage.c
index a51908b..21109a8 100644
--- a/backends/portage/pk-backend-portage.c
+++ b/backends/portage/pk-backend-portage.c
@@ -488,6 +488,7 @@ backend_simulate_install_packages (PkBackend *backend, gchar **package_ids)
g_free (package_ids_temp);
}
+/* FIXME: port this away from PK_BACKEND_OPTIONS */
PK_BACKEND_OPTIONS (
"Portage", /* description */
"Mounir Lamouri (volkmar) <mounir.lamouri at gmail.com>, Fabio Erculiani <lxnay at sabayon.org>", /* author */
@@ -529,6 +530,7 @@ PK_BACKEND_OPTIONS (
backend_simulate_install_packages, /* simulate_install_packages */
backend_simulate_remove_packages, /* simulate_remove_packages */
backend_simulate_update_packages, /* simulate_update_packages */
+ NULL, /* upgrade_system */
NULL, /* transaction_start */
NULL /* transaction_stop */
);
diff --git a/backends/ports/pk-backend-ports.c b/backends/ports/pk-backend-ports.c
index 2a93758..ea51919 100644
--- a/backends/ports/pk-backend-ports.c
+++ b/backends/ports/pk-backend-ports.c
@@ -409,6 +409,7 @@ backend_update_system (PkBackend *backend, gboolean only_trusted)
pk_backend_spawn_helper (spawn, BACKEND_FILE, "update-system", pk_backend_bool_to_string (only_trusted), NULL);
}
+/* FIXME: port this away from PK_BACKEND_OPTIONS */
PK_BACKEND_OPTIONS (
"Ports", /* description */
"Anders F Björklund <afb at users.sourceforge.net>", /* author */
@@ -450,6 +451,7 @@ PK_BACKEND_OPTIONS (
NULL, /* simulate_install_packages */
NULL, /* simulate_remove_packages */
NULL, /* simulate_update_packages */
+ NULL, /* upgrade_system */
NULL, /* transaction_start */
NULL /* transaction_stop */
);
diff --git a/backends/razor/pk-backend-razor.c b/backends/razor/pk-backend-razor.c
index 0a99899..4625ff8 100644
--- a/backends/razor/pk-backend-razor.c
+++ b/backends/razor/pk-backend-razor.c
@@ -390,6 +390,7 @@ backend_get_filters (PkBackend *backend)
return pk_bitfield_from_enums (PK_FILTER_ENUM_DEVELOPMENT, -1);
}
+/* FIXME: port this away from PK_BACKEND_OPTIONS */
PK_BACKEND_OPTIONS (
"razor", /* description */
"Richard Hughes <richard at hughsie.com>", /* author */
@@ -431,6 +432,7 @@ PK_BACKEND_OPTIONS (
NULL, /* simulate_install_packages */
NULL, /* simulate_remove_packages */
NULL, /* simulate_update_packages */
+ NULL, /* upgrade_system */
NULL, /* transaction_start */
NULL /* transaction_stop */
);
diff --git a/backends/slapt/pk-backend-slapt.c b/backends/slapt/pk-backend-slapt.c
index cb6eb82..2c9a130 100644
--- a/backends/slapt/pk-backend-slapt.c
+++ b/backends/slapt/pk-backend-slapt.c
@@ -1328,6 +1328,7 @@ backend_download_packages (PkBackend *backend, gchar **package_ids, const gchar
pk_backend_finished (backend);
}
+/* FIXME: port this away from PK_BACKEND_OPTIONS */
PK_BACKEND_OPTIONS (
"Slack", /* description */
"Anders F Björklund <afb at users.sourceforge.net>", /* author */
@@ -1369,6 +1370,7 @@ PK_BACKEND_OPTIONS (
NULL, /* simulate_install_packages */
NULL, /* simulate_remove_packages */
NULL, /* simulate_update_packages */
+ NULL, /* upgrade_system */
NULL, /* transaction_start */
NULL /* transaction_stop */
);
diff --git a/backends/smart/pk-backend-smart.c b/backends/smart/pk-backend-smart.c
index 78518d5..421fa61 100644
--- a/backends/smart/pk-backend-smart.c
+++ b/backends/smart/pk-backend-smart.c
@@ -441,6 +441,7 @@ backend_repo_set_data (PkBackend *backend, const gchar *rid, const gchar *parame
pk_backend_spawn_helper (spawn, BACKEND_FILE, "repo-set-data", rid, parameter, value, NULL);
}
+/* FIXME: port this away from PK_BACKEND_OPTIONS */
PK_BACKEND_OPTIONS (
"SMART", /* description */
"James Bowes <jbowes at dangerouslyinc.com>", /* author */
@@ -482,6 +483,7 @@ PK_BACKEND_OPTIONS (
NULL, /* simulate_install_packages */
NULL, /* simulate_remove_packages */
NULL, /* simulate_update_packages */
+ NULL, /* upgrade_system */
NULL, /* transaction_start */
NULL /* transaction_stop */
);
diff --git a/backends/test/pk-backend-test-fail.c b/backends/test/pk-backend-test-fail.c
index fb4ee2c..876505a 100644
--- a/backends/test/pk-backend-test-fail.c
+++ b/backends/test/pk-backend-test-fail.c
@@ -255,3 +255,14 @@ pk_backend_update_system (PkBackend *backend, gboolean only_trusted)
{
pk_backend_finished (backend);
}
+
+/**
+ * pk_backend_upgrade_system:
+ */
+void
+pk_backend_upgrade_system (PkBackend *backend, const gchar *distro_id)
+{
+ pk_backend_error_code (backend, PK_ERROR_ENUM_INSTALL_ROOT_INVALID,
+ "Cannot find boot partition");
+ pk_backend_finished (backend);
+}
diff --git a/backends/test/pk-backend-test-succeed.c b/backends/test/pk-backend-test-succeed.c
index e4bb957..d32eba4 100644
--- a/backends/test/pk-backend-test-succeed.c
+++ b/backends/test/pk-backend-test-succeed.c
@@ -387,3 +387,12 @@ pk_backend_simulate_update_packages (PkBackend *backend, gchar **package_ids)
{
pk_backend_finished (backend);
}
+
+/**
+ * pk_backend_upgrade_system:
+ */
+void
+pk_backend_upgrade_system (PkBackend *backend, const gchar *distro_id)
+{
+ pk_backend_finished (backend);
+}
diff --git a/backends/urpmi/pk-backend-urpmi.c b/backends/urpmi/pk-backend-urpmi.c
index 99c31c9..f3bb943 100644
--- a/backends/urpmi/pk-backend-urpmi.c
+++ b/backends/urpmi/pk-backend-urpmi.c
@@ -359,7 +359,7 @@ backend_get_distro_upgrades (PkBackend *backend)
pk_backend_spawn_helper (spawn, "urpmi-dispatched-backend.pl", "get-distro-upgrades", NULL);
}
-
+/* FIXME: port this away from PK_BACKEND_OPTIONS */
PK_BACKEND_OPTIONS (
"URPMI", /* description */
"Aurelien Lefebvre <alkh at mandriva.org>", /* author */
@@ -401,6 +401,7 @@ PK_BACKEND_OPTIONS (
NULL, /* simulate_install_packages */
NULL, /* simulate_remove_packages */
NULL, /* simulate_update_packages */
+ NULL, /* upgrade_system */
NULL, /* transaction_start */
NULL /* transaction_stop */
);
diff --git a/backends/yum/pk-backend-yum.c b/backends/yum/pk-backend-yum.c
index da6450e..3209ebf 100644
--- a/backends/yum/pk-backend-yum.c
+++ b/backends/yum/pk-backend-yum.c
@@ -1,6 +1,6 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
*
- * Copyright (C) 2007-2008 Richard Hughes <richard at hughsie.com>
+ * Copyright (C) 2007-2010 Richard Hughes <richard at hughsie.com>
*
* Licensed under the GNU General Public License Version 2
*
@@ -3340,3 +3340,13 @@ pk_backend_simulate_install_files (PkBackend *backend, gchar **full_paths)
pk_backend_spawn_helper (priv->spawn, "yumBackend.py", "simulate-install-files", package_ids_temp, NULL);
g_free (package_ids_temp);
}
+
+
+/**
+ * pk_backend_upgrade_system:
+ */
+void
+pk_backend_upgrade_system (PkBackend *backend, const gchar *distro_id)
+{
+ /* FIXME */
+}
diff --git a/backends/zypp/pk-backend-zypp.cpp b/backends/zypp/pk-backend-zypp.cpp
index d73be34..b180bbd 100644
--- a/backends/zypp/pk-backend-zypp.cpp
+++ b/backends/zypp/pk-backend-zypp.cpp
@@ -1919,6 +1919,7 @@ backend_transaction_stop (PkBackend *backend)
g_unsetenv ("ftp_proxy");
}
+/* FIXME: port this away from PK_BACKEND_OPTIONS */
extern "C" PK_BACKEND_OPTIONS (
"Zypp", /* description */
"Boyd Timothy <btimothy at gmail.com>, "
@@ -1962,6 +1963,7 @@ extern "C" PK_BACKEND_OPTIONS (
backend_simulate_install_packages, /* simulate_install_packages */
backend_simulate_remove_packages, /* simulate_remove_packages */
backend_simulate_update_packages, /* simulate_update_packages */
+ NULL, /* upgrade_system */
backend_transaction_start, /* transaction_start */
backend_transaction_stop /* transaction_stop */
);
diff --git a/client/pk-console.c b/client/pk-console.c
index 3f50821..bdef844 100644
--- a/client/pk-console.c
+++ b/client/pk-console.c
@@ -1,6 +1,6 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
*
- * Copyright (C) 2007-2009 Richard Hughes <richard at hughsie.com>
+ * Copyright (C) 2007-2010 Richard Hughes <richard at hughsie.com>
*
* Licensed under the GNU General Public License Version 2
*
@@ -1708,6 +1708,17 @@ main (int argc, char *argv[])
(PkProgressCallback) pk_console_progress_cb, NULL,
(GAsyncReadyCallback) pk_console_finished_cb, NULL);
+ } else if (strcmp (mode, "upgrade-system") == 0) {
+ if (value == NULL) {
+ /* TRANSLATORS: The user did not provide a distro name */
+ error = g_error_new (1, 0, "%s", _("A distribution name is required"));
+ retval = PK_EXIT_CODE_SYNTAX_INVALID;
+ goto out;
+ }
+ pk_client_upgrade_system_async (PK_CLIENT (task), value, cancellable,
+ (PkProgressCallback) pk_console_progress_cb, NULL,
+ (GAsyncReadyCallback) pk_console_finished_cb, NULL);
+
} else if (strcmp (mode, "get-roles") == 0) {
text = pk_role_bitfield_to_string (roles);
g_strdelimit (text, ";", '\n');
diff --git a/contrib/pk-completion.bash b/contrib/pk-completion.bash
index 3fcf8c9..bae7db7 100755
--- a/contrib/pk-completion.bash
+++ b/contrib/pk-completion.bash
@@ -2,6 +2,7 @@
# bash completion support for PackageKit's console commands.
#
# Copyright (C) 2007 James Bowes <jbowes at dangerouslyinc.com>
+# Copyright (C) 2010 Richard Hughes <richard at hughsie.com>
#
# Licensed under the GNU General Public License Version 2
#
@@ -44,6 +45,7 @@ __pkcon_commandlist="
resolve
search
update
+ upgrade-system
"
__pkconcomp ()
diff --git a/lib/packagekit-glib2/pk-client-sync.c b/lib/packagekit-glib2/pk-client-sync.c
index 907577c..3a2b66f 100644
--- a/lib/packagekit-glib2/pk-client-sync.c
+++ b/lib/packagekit-glib2/pk-client-sync.c
@@ -1,6 +1,6 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
*
- * Copyright (C) 2008-2009 Richard Hughes <richard at hughsie.com>
+ * Copyright (C) 2008-2010 Richard Hughes <richard at hughsie.com>
*
* Licensed under the GNU Lesser General Public License Version 2.1
*
@@ -1680,6 +1680,58 @@ pk_client_simulate_update_packages (PkClient *client, gchar **package_ids, GCanc
return results;
}
+
+/**
+ * pk_client_upgrade_system:
+ * @distro_id: a distro ID such as "fedora-14"
+ * @cancellable: a #GCancellable or %NULL
+ * @progress_callback: (scope call): the function to run when the progress changes
+ * @progress_user_data: data to pass to @progress_callback
+ * @error: the #GError to store any failure, or %NULL
+ *
+ * This transaction will upgrade the distro to the next version, which may
+ * involve just downloading the installer and setting up the boot device,
+ * or may involve doing an on-line upgrade.
+ *
+ * The backend will decide what is best to do.
+ *
+ * Warning: this function is synchronous, and may block. Do not use it in GUI
+ * applications.
+ *
+ * Return value: (transfer full): a %PkResults object, or NULL for error
+ *
+ * Since: 0.6.11
+ **/
+PkResults *
+pk_client_upgrade_system (PkClient *client, const gchar *distro_id, GCancellable *cancellable,
+ PkProgressCallback progress_callback, gpointer progress_user_data, GError **error)
+{
+ PkClientHelper *helper;
+ PkResults *results;
+
+ g_return_val_if_fail (PK_IS_CLIENT (client), NULL);
+ g_return_val_if_fail (error == NULL || *error == NULL, NULL);
+
+ /* create temp object */
+ helper = g_new0 (PkClientHelper, 1);
+ helper->loop = g_main_loop_new (NULL, FALSE);
+ helper->error = error;
+
+ /* run async method */
+ pk_client_upgrade_system_async (client, distro_id, cancellable, progress_callback, progress_user_data,
+ (GAsyncReadyCallback) pk_client_generic_finish_sync, helper);
+
+ g_main_loop_run (helper->loop);
+
+ results = helper->results;
+
+ /* free temp object */
+ g_main_loop_unref (helper->loop);
+ g_free (helper);
+
+ return results;
+}
+
/**
* pk_client_adopt:
* @client: a valid #PkClient instance
diff --git a/lib/packagekit-glib2/pk-client-sync.h b/lib/packagekit-glib2/pk-client-sync.h
index f2068a9..105df42 100644
--- a/lib/packagekit-glib2/pk-client-sync.h
+++ b/lib/packagekit-glib2/pk-client-sync.h
@@ -281,6 +281,13 @@ PkResults *pk_client_simulate_update_packages (PkClient *client,
gpointer progress_user_data,
GError **error);
+PkResults *pk_client_upgrade_system (PkClient *client,
+ const gchar *distro_id,
+ GCancellable *cancellable,
+ PkProgressCallback progress_callback,
+ gpointer progress_user_data,
+ GError **error);
+
PkResults *pk_client_adopt (PkClient *client,
const gchar *transaction_id,
GCancellable *cancellable,
diff --git a/lib/packagekit-glib2/pk-client.c b/lib/packagekit-glib2/pk-client.c
index faa7777..3e66e7c 100644
--- a/lib/packagekit-glib2/pk-client.c
+++ b/lib/packagekit-glib2/pk-client.c
@@ -100,6 +100,7 @@ typedef struct {
gchar *repo_id;
gchar **search;
gchar *tid;
+ gchar *distro_id;
gchar *transaction_id;
gchar *value;
gpointer progress_user_data;
@@ -665,6 +666,7 @@ pk_client_state_finish (PkClientState *state, const GError *error)
g_strfreev (state->search);
g_free (state->value);
g_free (state->tid);
+ g_free (state->distro_id);
g_free (state->transaction_id);
g_strfreev (state->files);
g_strfreev (state->package_ids);
@@ -1785,6 +1787,11 @@ pk_client_set_hints_cb (DBusGProxy *proxy, DBusGProxyCall *call, PkClientState *
G_TYPE_STRV, state->package_ids,
G_TYPE_INVALID);
g_object_set (state->results, "inputs", g_strv_length (state->package_ids), NULL);
+ } else if (state->role == PK_ROLE_ENUM_UPGRADE_SYSTEM) {
+ state->call = dbus_g_proxy_begin_call (state->proxy, "UpgradeSystem",
+ (DBusGProxyCallNotify) pk_client_method_cb, state, NULL,
+ G_TYPE_STRING, state->distro_id,
+ G_TYPE_INVALID);
} else {
g_assert_not_reached ();
}
@@ -4169,6 +4176,70 @@ out:
g_object_unref (res);
}
+
+/**
+ * pk_client_upgrade_system_async:
+ * @client: a valid #PkClient instance
+ * @distro_id: a distro ID such as "fedora-14"
+ * @cancellable: a #GCancellable or %NULL
+ * @progress_callback: (scope call): the function to run when the progress changes
+ * @progress_user_data: data to pass to @progress_callback
+ * @callback_ready: the function to run on completion
+ * @user_data: the data to pass to @callback_ready
+ *
+ * This transaction will update the distro to the next version, which may
+ * involve just downloading the installer and setting up the boot device,
+ * or may involve doing an on-line upgrade.
+ *
+ * The backend will decide what is best to do.
+ *
+ * Since: 0.6.11
+ **/
+void
+pk_client_upgrade_system_async (PkClient *client, const gchar *distro_id, GCancellable *cancellable,
+ PkProgressCallback progress_callback, gpointer progress_user_data,
+ GAsyncReadyCallback callback_ready, gpointer user_data)
+{
+ GSimpleAsyncResult *res;
+ PkClientState *state;
+ GError *error = NULL;
+
+ g_return_if_fail (PK_IS_CLIENT (client));
+ g_return_if_fail (callback_ready != NULL);
+ g_return_if_fail (cancellable == NULL || G_IS_CANCELLABLE (cancellable));
+
+ res = g_simple_async_result_new (G_OBJECT (client), callback_ready, user_data, pk_client_upgrade_system_async);
+
+ /* save state */
+ state = g_slice_new0 (PkClientState);
+ state->role = PK_ROLE_ENUM_UPGRADE_SYSTEM;
+ state->res = g_object_ref (res);
+ state->client = g_object_ref (client);
+ if (cancellable != NULL) {
+ state->cancellable = g_object_ref (cancellable);
+ state->cancellable_id = g_cancellable_connect (cancellable, G_CALLBACK (pk_client_cancellable_cancel_cb), state, NULL);
+ }
+ state->distro_id = g_strdup (distro_id);
+ state->progress_callback = progress_callback;
+ state->progress_user_data = progress_user_data;
+ state->progress = pk_progress_new ();
+
+ /* check not already cancelled */
+ if (cancellable != NULL && g_cancellable_set_error_if_cancelled (cancellable, &error)) {
+ pk_client_state_finish (state, error);
+ g_error_free (error);
+ goto out;
+ }
+
+ /* identify */
+ pk_client_set_role (state, state->role);
+
+ /* get tid */
+ pk_control_get_tid_async (client->priv->control, cancellable, (GAsyncReadyCallback) pk_client_get_tid_cb, state);
+out:
+ g_object_unref (res);
+}
+
/***************************************************************************************************/
/**
diff --git a/lib/packagekit-glib2/pk-client.h b/lib/packagekit-glib2/pk-client.h
index 0a52d4d..2d34b1a 100644
--- a/lib/packagekit-glib2/pk-client.h
+++ b/lib/packagekit-glib2/pk-client.h
@@ -1,6 +1,6 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
*
- * Copyright (C) 2009 Richard Hughes <richard at hughsie.com>
+ * Copyright (C) 2009-2010 Richard Hughes <richard at hughsie.com>
*
* Licensed under the GNU Lesser General Public License Version 2.1
*
@@ -393,6 +393,14 @@ void pk_client_simulate_update_packages_async (PkClient *client,
GAsyncReadyCallback callback_ready,
gpointer user_data);
+void pk_client_upgrade_system_async (PkClient *client,
+ const gchar *distro_id,
+ GCancellable *cancellable,
+ PkProgressCallback progress_callback,
+ gpointer progress_user_data,
+ GAsyncReadyCallback callback_ready,
+ gpointer user_data);
+
void pk_client_adopt_async (PkClient *client,
const gchar *transaction_id,
GCancellable *cancellable,
diff --git a/lib/packagekit-glib2/pk-enum.c b/lib/packagekit-glib2/pk-enum.c
index 9b0a6dc..13776c3 100644
--- a/lib/packagekit-glib2/pk-enum.c
+++ b/lib/packagekit-glib2/pk-enum.c
@@ -1,6 +1,6 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
*
- * Copyright (C) 2007-2008 Richard Hughes <richard at hughsie.com>
+ * Copyright (C) 2007-2010 Richard Hughes <richard at hughsie.com>
*
* Licensed under the GNU Lesser General Public License Version 2.1
*
@@ -124,6 +124,7 @@ static const PkEnumMatch enum_role[] = {
{PK_ROLE_ENUM_SIMULATE_INSTALL_PACKAGES, "simulate-install-packages"},
{PK_ROLE_ENUM_SIMULATE_REMOVE_PACKAGES, "simulate-remove-packages"},
{PK_ROLE_ENUM_SIMULATE_UPDATE_PACKAGES, "simulate-update-packages"},
+ {PK_ROLE_ENUM_UPGRADE_SYSTEM, "upgrade-system"},
{0, NULL}
};
diff --git a/lib/packagekit-glib2/pk-enum.h b/lib/packagekit-glib2/pk-enum.h
index fcac493..cb87877 100644
--- a/lib/packagekit-glib2/pk-enum.h
+++ b/lib/packagekit-glib2/pk-enum.h
@@ -1,6 +1,6 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
*
- * Copyright (C) 2007-2008 Richard Hughes <richard at hughsie.com>
+ * Copyright (C) 2007-2010 Richard Hughes <richard at hughsie.com>
*
* Licensed under the GNU Lesser General Public License Version 2.1
*
@@ -120,6 +120,7 @@ typedef enum {
PK_ROLE_ENUM_SIMULATE_INSTALL_PACKAGES,
PK_ROLE_ENUM_SIMULATE_REMOVE_PACKAGES,
PK_ROLE_ENUM_SIMULATE_UPDATE_PACKAGES,
+ PK_ROLE_ENUM_UPGRADE_SYSTEM, /* Since: 0.6.11 */
PK_ROLE_ENUM_LAST
} PkRoleEnum;
diff --git a/lib/packagekit-glib2/pk-self-test.c b/lib/packagekit-glib2/pk-self-test.c
index 4be31b1..f3421ec 100644
--- a/lib/packagekit-glib2/pk-self-test.c
+++ b/lib/packagekit-glib2/pk-self-test.c
@@ -954,7 +954,7 @@ pk_test_control_get_properties_cb (GObject *object, GAsyncResult *res, gpointer
"refresh-cache;remove-packages;repo-enable;repo-set-data;resolve;rollback;"
"search-details;search-file;search-group;search-name;update-packages;update-system;"
"what-provides;download-packages;get-distro-upgrades;simulate-install-packages;"
- "simulate-remove-packages;simulate-update-packages");
+ "simulate-remove-packages;simulate-update-packages;upgrade-system");
g_free (text);
/* check filters */
@@ -1098,7 +1098,7 @@ pk_test_control_func (void)
"refresh-cache;remove-packages;repo-enable;repo-set-data;resolve;rollback;"
"search-details;search-file;search-group;search-name;update-packages;update-system;"
"what-provides;download-packages;get-distro-upgrades;simulate-install-packages;"
- "simulate-remove-packages;simulate-update-packages");
+ "simulate-remove-packages;simulate-update-packages;upgrade-system");
g_free (text);
g_object_unref (control);
diff --git a/src/org.freedesktop.PackageKit.Transaction.xml b/src/org.freedesktop.PackageKit.Transaction.xml
index 5c259d6..051b1fc 100644
--- a/src/org.freedesktop.PackageKit.Transaction.xml
+++ b/src/org.freedesktop.PackageKit.Transaction.xml
@@ -1529,6 +1529,35 @@
</method>
<!--*****************************************************************************************-->
+ <method name="UpgradeSystem">
+ <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
+ <doc:doc>
+ <doc:description>
+ <doc:para>
+ This method perfoms a distribution upgrade to the specified
+ version.
+ </doc:para>
+ <doc:para>
+ This method typically emits
+ <doc:tt>Progress</doc:tt>,
+ <doc:tt>Status</doc:tt> and
+ <doc:tt>Error</doc:tt> and
+ <doc:tt>Package</doc:tt>.
+ </doc:para>
+ </doc:description>
+ </doc:doc>
+ <arg type="s" name="distro_id" direction="in">
+ <doc:doc>
+ <doc:summary>
+ <doc:para>
+ The distro ID to upgrade to, e.g. <doc:tt>fedora-14</doc:tt>.
+ </doc:para>
+ </doc:summary>
+ </doc:doc>
+ </arg>
+ </method>
+
+ <!--*****************************************************************************************-->
<signal name="Category">
<doc:doc>
<doc:description>
diff --git a/src/pk-backend.c b/src/pk-backend.c
index 92f07e7..8b183f0 100644
--- a/src/pk-backend.c
+++ b/src/pk-backend.c
@@ -318,6 +318,8 @@ pk_backend_get_roles (PkBackend *backend)
pk_bitfield_add (roles, PK_ROLE_ENUM_SIMULATE_REMOVE_PACKAGES);
if (desc->simulate_update_packages != NULL)
pk_bitfield_add (roles, PK_ROLE_ENUM_SIMULATE_UPDATE_PACKAGES);
+ if (desc->upgrade_system != NULL)
+ pk_bitfield_add (roles, PK_ROLE_ENUM_UPGRADE_SYSTEM);
backend->priv->roles = roles;
out:
return backend->priv->roles;
@@ -574,6 +576,7 @@ pk_backend_set_name (PkBackend *backend, const gchar *backend_name, GError **err
g_module_symbol (handle, "pk_backend_update_packages", (gpointer *)&desc->update_packages);
g_module_symbol (handle, "pk_backend_update_system", (gpointer *)&desc->update_system);
g_module_symbol (handle, "pk_backend_what_provides", (gpointer *)&desc->what_provides);
+ g_module_symbol (handle, "pk_backend_upgrade_system", (gpointer *)&desc->upgrade_system);
/* get old static string data */
ret = g_module_symbol (handle, "pk_backend_get_author", (gpointer *)&backend_vfunc);
@@ -3402,6 +3405,18 @@ pk_backend_simulate_update_packages (PkBackend *backend, gchar **package_ids)
}
/**
+ * pk_backend_upgrade_system:
+ */
+void
+pk_backend_upgrade_system (PkBackend *backend, const gchar *distro_id)
+{
+ g_return_if_fail (PK_IS_BACKEND (backend));
+ pk_backend_set_role_internal (backend, PK_ROLE_ENUM_UPGRADE_SYSTEM);
+ pk_store_set_string (backend->priv->store, "distro_id", distro_id);
+ backend->priv->desc->upgrade_system (backend, distro_id);
+}
+
+/**
* pk_backend_init:
**/
static void
diff --git a/src/pk-backend.h b/src/pk-backend.h
index 1e3c44b..8f5c6bb 100644
--- a/src/pk-backend.h
+++ b/src/pk-backend.h
@@ -189,6 +189,8 @@ void pk_backend_simulate_remove_packages (PkBackend *backend,
gboolean autoremove);
void pk_backend_simulate_update_packages (PkBackend *backend,
gchar **package_ids);
+void pk_backend_upgrade_system (PkBackend *backend,
+ const gchar *distro_id);
/* set the state */
gboolean pk_backend_accept_eula (PkBackend *backend,
@@ -461,7 +463,9 @@ typedef struct {
gchar **package_ids);
void (*transaction_start) (PkBackend *backend);
void (*transaction_stop) (PkBackend *backend);
- gpointer padding[8];
+ void (*upgrade_system) (PkBackend *backend,
+ const gchar *distro_id);
+ gpointer padding[7];
} PkBackendDesc;
/* this is deprecated */
@@ -473,7 +477,7 @@ typedef struct {
repo_enable, repo_set_data, resolve, rollback, search_details, search_file, \
search_group, search_name, update_packages, update_system, what_provides, \
simulate_install_files, simulate_install_packages, simulate_remove_packages, \
- simulate_update_packages, transaction_start, transaction_stop ) \
+ simulate_update_packages, upgrade_system, transaction_start, transaction_stop ) \
G_MODULE_EXPORT const PkBackendDesc pk_backend_desc = { \
description, \
author, \
@@ -515,6 +519,7 @@ typedef struct {
simulate_install_packages, \
simulate_remove_packages, \
simulate_update_packages, \
+ upgrade_system, \
transaction_start, \
transaction_stop, \
{0} \
diff --git a/src/pk-transaction.c b/src/pk-transaction.c
index 28bc62d..737be38 100644
--- a/src/pk-transaction.c
+++ b/src/pk-transaction.c
@@ -2021,6 +2021,8 @@ pk_transaction_set_running (PkTransaction *transaction)
filters = pk_bitfield_from_enums (PK_FILTER_ENUM_NOT_INSTALLED, PK_FILTER_ENUM_NEWEST, -1);
pk_backend_get_depends (priv->backend, filters, priv->cached_package_ids, TRUE);
}
+ } else if (priv->role == PK_ROLE_ENUM_UPGRADE_SYSTEM) {
+ pk_backend_upgrade_system (priv->backend, priv->cached_value);
} else {
g_error ("failed to run as role not assigned");
ret = FALSE;
@@ -5423,6 +5425,55 @@ pk_transaction_what_provides (PkTransaction *transaction, const gchar *filter, c
}
/**
+ * pk_transaction_upgrade_system:
+ **/
+void
+pk_transaction_upgrade_system (PkTransaction *transaction, const gchar *distro_id, DBusGMethodInvocation *context)
+{
+ gboolean ret;
+ GError *error = NULL;
+
+ g_return_if_fail (PK_IS_TRANSACTION (transaction));
+ g_return_if_fail (transaction->priv->tid != NULL);
+
+ g_debug ("UpgradeSystem method called: %s", distro_id);
+
+ /* not implemented yet */
+ if (!pk_backend_is_implemented (transaction->priv->backend, PK_ROLE_ENUM_UPGRADE_SYSTEM)) {
+ error = g_error_new (PK_TRANSACTION_ERROR, PK_TRANSACTION_ERROR_NOT_SUPPORTED,
+ "UpgradeSystem not yet supported by backend");
+ pk_transaction_release_tid (transaction);
+ pk_transaction_dbus_return_error (context, error);
+ return;
+ }
+
+ /* check if the sender is the same */
+ ret = pk_transaction_verify_sender (transaction, context, &error);
+ if (!ret) {
+ /* don't release tid */
+ pk_transaction_dbus_return_error (context, error);
+ return;
+ }
+
+ /* save so we can run later */
+ transaction->priv->cached_value = g_strdup (distro_id);
+ pk_transaction_set_role (transaction, PK_ROLE_ENUM_UPGRADE_SYSTEM);
+
+ /* try to commit this */
+ ret = pk_transaction_commit (transaction);
+ if (!ret) {
+ error = g_error_new (PK_TRANSACTION_ERROR, PK_TRANSACTION_ERROR_COMMIT_FAILED,
+ "Could not commit to a transaction object");
+ pk_transaction_release_tid (transaction);
+ pk_transaction_dbus_return_error (context, error);
+ return;
+ }
+
+ /* return from async with success */
+ pk_transaction_dbus_return (context);
+}
+
+/**
* pk_transaction_get_property:
**/
static void
diff --git a/src/pk-transaction.h b/src/pk-transaction.h
index 268daab..78ab889 100644
--- a/src/pk-transaction.h
+++ b/src/pk-transaction.h
@@ -1,6 +1,6 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
*
- * Copyright (C) 2008 Richard Hughes <richard at hughsie.com>
+ * Copyright (C) 2008-2010 Richard Hughes <richard at hughsie.com>
*
* Licensed under the GNU General Public License Version 2
*
@@ -236,6 +236,9 @@ void pk_transaction_what_provides (PkTransaction *transaction,
const gchar *type,
gchar **values,
DBusGMethodInvocation *context);
+void pk_transaction_upgrade_system (PkTransaction *transaction,
+ const gchar *distro_id,
+ DBusGMethodInvocation *context);
gboolean pk_transaction_filter_check (const gchar *filter,
GError **error);
gboolean pk_transaction_strvalidate (const gchar *textr,
commit 9aa2b6c78eda14df312889bfa895814f03efe9ae
Author: Richard Hughes <richard at hughsie.com>
Date: Tue Nov 2 09:56:04 2010 +0000
trivial: make the bash completion file match reality
diff --git a/contrib/pk-completion.bash b/contrib/pk-completion.bash
index 79c9983..3fcf8c9 100755
--- a/contrib/pk-completion.bash
+++ b/contrib/pk-completion.bash
@@ -18,7 +18,7 @@
__pkcon_commandlist="
accept-eula
- get-actions
+ get-roles
get-depends
get-details
get-distro-upgrades
@@ -33,9 +33,6 @@ __pkcon_commandlist="
get-update-detail
get-updates
get-categories
- list-create
- list-diff
- list-install
install
install-local
refresh
commit 04a0498465f377f79cf7d97ff8411d2c661597eb
Author: Richard Hughes <richard at hughsie.com>
Date: Tue Nov 2 09:51:21 2010 +0000
Ignore unknown entries in the pk_x_bitfield_from_string() to ensure forwards compatibility
diff --git a/lib/packagekit-glib2/pk-bitfield.c b/lib/packagekit-glib2/pk-bitfield.c
index 69535ac..8f48ce5 100644
--- a/lib/packagekit-glib2/pk-bitfield.c
+++ b/lib/packagekit-glib2/pk-bitfield.c
@@ -140,7 +140,7 @@ pk_role_bitfield_to_string (PkBitfield roles)
/**
* pk_role_bitfield_from_string:
- * @roles: the enumerated constant value, e.g. "available;~gui"
+ * @roles: the enumerated constant value, e.g. "search-file;update-system"
*
* Converts text representation to its enumerated type bitfield
*
@@ -166,11 +166,8 @@ pk_role_bitfield_from_string (const gchar *roles)
length = g_strv_length (split);
for (i=0; i<length; i++) {
role = pk_role_enum_from_string (split[i]);
- if (role == PK_ROLE_ENUM_UNKNOWN) {
- roles_enum = 0;
- break;
- }
- roles_enum += pk_bitfield_value (role);
+ if (role != PK_ROLE_ENUM_UNKNOWN)
+ roles_enum += pk_bitfield_value (role);
}
out:
g_strfreev (split);
@@ -238,11 +235,8 @@ pk_group_bitfield_from_string (const gchar *groups)
length = g_strv_length (split);
for (i=0; i<length; i++) {
group = pk_group_enum_from_string (split[i]);
- if (group == PK_GROUP_ENUM_UNKNOWN) {
- groups_enum = 0;
- break;
- }
- groups_enum += pk_bitfield_value (group);
+ if (group != PK_GROUP_ENUM_UNKNOWN)
+ groups_enum += pk_bitfield_value (group);
}
out:
g_strfreev (split);
@@ -314,11 +308,8 @@ pk_filter_bitfield_from_string (const gchar *filters)
length = g_strv_length (split);
for (i=0; i<length; i++) {
filter = pk_filter_enum_from_string (split[i]);
- if (filter == PK_FILTER_ENUM_UNKNOWN) {
- filters_enum = 0;
- break;
- }
- filters_enum += pk_bitfield_value (filter);
+ if (filter != PK_FILTER_ENUM_UNKNOWN)
+ filters_enum += pk_bitfield_value (filter);
}
out:
g_strfreev (split);
commit 44f3600ad8b1fbf6d4caf0b2c5b1d8d21abed97d
Author: Richard Hughes <richard at hughsie.com>
Date: Mon Nov 1 21:55:57 2010 +0000
Use G_LOG_DOMAIN in all the backends
diff --git a/backends/alpm/Makefile.am b/backends/alpm/Makefile.am
index 6156218..15749dc 100644
--- a/backends/alpm/Makefile.am
+++ b/backends/alpm/Makefile.am
@@ -1,3 +1,6 @@
+INCLUDES = \
+ -DG_LOG_DOMAIN=\"PackageKit-Alpm\"
+
plugindir = $(PK_PLUGIN_DIR)
plugin_LTLIBRARIES = libpk_backend_alpm.la
libpk_backend_alpm_la_SOURCES = pk-backend-alpm.c
diff --git a/backends/apt/Makefile.am b/backends/apt/Makefile.am
index 7bb3d5e..044295a 100644
--- a/backends/apt/Makefile.am
+++ b/backends/apt/Makefile.am
@@ -1,3 +1,6 @@
+INCLUDES = \
+ -DG_LOG_DOMAIN=\"PackageKit-Apt\"
+
plugindir = $(PK_PLUGIN_DIR)
plugin_LTLIBRARIES = libpk_backend_apt.la
libpk_backend_apt_la_SOURCES = pk-backend-apt.c
diff --git a/backends/aptcc/Makefile.am b/backends/aptcc/Makefile.am
index 4e1e22d..087175b 100644
--- a/backends/aptcc/Makefile.am
+++ b/backends/aptcc/Makefile.am
@@ -1,3 +1,6 @@
+INCLUDES = \
+ -DG_LOG_DOMAIN=\"PackageKit-Aptcc\"
+
plugindir = $(PK_PLUGIN_DIR)
plugin_LTLIBRARIES = libpk_backend_aptcc.la
libpk_backend_aptcc_la_SOURCES = pkg_acqfile.cpp \
@@ -37,4 +40,4 @@ install-data-hook:
clean-local :
rm -f *~
- rm -f *.pyc
\ No newline at end of file
+ rm -f *.pyc
diff --git a/backends/box/Makefile.am b/backends/box/Makefile.am
index 38e335b..23bd9bf 100644
--- a/backends/box/Makefile.am
+++ b/backends/box/Makefile.am
@@ -1,3 +1,6 @@
+INCLUDES = \
+ -DG_LOG_DOMAIN=\"PackageKit-Box\"
+
plugindir = $(PK_PLUGIN_DIR)
plugin_LTLIBRARIES = libpk_backend_box.la
libpk_backend_box_la_SOURCES = pk-backend-box.c
diff --git a/backends/conary/Makefile.am b/backends/conary/Makefile.am
index 7e03cb4..7a71ef0 100644
--- a/backends/conary/Makefile.am
+++ b/backends/conary/Makefile.am
@@ -1,3 +1,6 @@
+INCLUDES = \
+ -DG_LOG_DOMAIN=\"PackageKit-Conary\"
+
helperdir = $(datadir)/PackageKit/helpers/conary
dist_helper_DATA = \
conaryBackend.py \
diff --git a/backends/entropy/Makefile.am b/backends/entropy/Makefile.am
index 2078c4e..4897780 100644
--- a/backends/entropy/Makefile.am
+++ b/backends/entropy/Makefile.am
@@ -1,3 +1,6 @@
+INCLUDES = \
+ -DG_LOG_DOMAIN=\"PackageKit-Entropy\"
+
helperdir = $(datadir)/PackageKit/helpers/entropy
dist_helper_DATA = entropyBackend.py
diff --git a/backends/opkg/Makefile.am b/backends/opkg/Makefile.am
index f824316..7959b95 100644
--- a/backends/opkg/Makefile.am
+++ b/backends/opkg/Makefile.am
@@ -1,3 +1,6 @@
+INCLUDES = \
+ -DG_LOG_DOMAIN=\"PackageKit-Opkg\"
+
plugindir = $(PK_PLUGIN_DIR)
plugin_LTLIBRARIES = libpk_backend_opkg.la
libpk_backend_opkg_la_SOURCES = pk-backend-opkg.c
diff --git a/backends/pacman/Makefile.am b/backends/pacman/Makefile.am
index e78a26d..9ea0217 100644
--- a/backends/pacman/Makefile.am
+++ b/backends/pacman/Makefile.am
@@ -1,3 +1,6 @@
+INCLUDES = \
+ -DG_LOG_DOMAIN=\"PackageKit-Pacman\"
+
PACMAN_CONFIG_FILE = $(confdir)/pacman.conf
PACMAN_GROUP_LIST = $(confdir)/groups.list
PACMAN_REPO_LIST = $(confdir)/repos.list
diff --git a/backends/pisi/Makefile.am b/backends/pisi/Makefile.am
index 4ba597f..33b0154 100644
--- a/backends/pisi/Makefile.am
+++ b/backends/pisi/Makefile.am
@@ -1,3 +1,6 @@
+INCLUDES = \
+ -DG_LOG_DOMAIN=\"PackageKit-Pisi\"
+
helperdir = $(datadir)/PackageKit/helpers/pisi
dist_helper_DATA = \
pisiBackend.py
diff --git a/backends/poldek/Makefile.am b/backends/poldek/Makefile.am
index cf923bc..6208d6e 100644
--- a/backends/poldek/Makefile.am
+++ b/backends/poldek/Makefile.am
@@ -1,3 +1,6 @@
+INCLUDES = \
+ -DG_LOG_DOMAIN=\"PackageKit-Poldek\"
+
plugindir = $(PK_PLUGIN_DIR)
plugin_LTLIBRARIES = libpk_backend_poldek.la
libpk_backend_poldek_la_SOURCES = pk-backend-poldek.c
diff --git a/backends/portage/Makefile.am b/backends/portage/Makefile.am
index e264967..381bcb1 100644
--- a/backends/portage/Makefile.am
+++ b/backends/portage/Makefile.am
@@ -1,3 +1,6 @@
+INCLUDES = \
+ -DG_LOG_DOMAIN=\"PackageKit-Portage\"
+
helperdir = $(datadir)/PackageKit/helpers/portage
dist_helper_DATA = portageBackend.py
diff --git a/backends/ports/Makefile.am b/backends/ports/Makefile.am
index 898aebe..89c9ba4 100644
--- a/backends/ports/Makefile.am
+++ b/backends/ports/Makefile.am
@@ -1,3 +1,6 @@
+INCLUDES = \
+ -DG_LOG_DOMAIN=\"PackageKit-Ports\"
+
SUBDIRS=ruby_packagekit
helperdir = $(datadir)/PackageKit/helpers/ports
diff --git a/backends/razor/Makefile.am b/backends/razor/Makefile.am
index 43112f9..9734fb5 100644
--- a/backends/razor/Makefile.am
+++ b/backends/razor/Makefile.am
@@ -1,3 +1,6 @@
+INCLUDES = \
+ -DG_LOG_DOMAIN=\"PackageKit-Razor\"
+
plugindir = $(PK_PLUGIN_DIR)
plugin_LTLIBRARIES = libpk_backend_razor.la
libpk_backend_razor_la_SOURCES = pk-backend-razor.c
diff --git a/backends/slapt/Makefile.am b/backends/slapt/Makefile.am
index eebc441..4b04c3b 100644
--- a/backends/slapt/Makefile.am
+++ b/backends/slapt/Makefile.am
@@ -1,3 +1,6 @@
+INCLUDES = \
+ -DG_LOG_DOMAIN=\"PackageKit-Slapt\"
+
plugindir = $(PK_PLUGIN_DIR)
plugin_LTLIBRARIES = libpk_backend_slapt.la
libpk_backend_slapt_la_SOURCES = pk-backend-slapt.c
diff --git a/backends/smart/Makefile.am b/backends/smart/Makefile.am
index a5f8762..a7ccce6 100644
--- a/backends/smart/Makefile.am
+++ b/backends/smart/Makefile.am
@@ -1,3 +1,6 @@
+INCLUDES = \
+ -DG_LOG_DOMAIN=\"PackageKit-Smart\"
+
helperdir = $(datadir)/PackageKit/helpers/smart
dist_helper_DATA = \
smartBackend.py
diff --git a/backends/test/Makefile.am b/backends/test/Makefile.am
index 9ecb656..63a1661 100644
--- a/backends/test/Makefile.am
+++ b/backends/test/Makefile.am
@@ -1,3 +1,6 @@
+INCLUDES = \
+ -DG_LOG_DOMAIN=\"PackageKit-Test\"
+
SUBDIRS = helpers
plugindir = $(PK_PLUGIN_DIR)
plugin_LTLIBRARIES = \
diff --git a/backends/urpmi/Makefile.am b/backends/urpmi/Makefile.am
index 4f2be2d..aebf025 100644
--- a/backends/urpmi/Makefile.am
+++ b/backends/urpmi/Makefile.am
@@ -1,3 +1,6 @@
+INCLUDES = \
+ -DG_LOG_DOMAIN=\"PackageKit-Urpmi\"
+
SUBDIRS = helpers
plugindir = $(PK_PLUGIN_DIR)
plugin_LTLIBRARIES = libpk_backend_urpmi.la
diff --git a/backends/zypp/Makefile.am b/backends/zypp/Makefile.am
index fabf1e6..dcf88d7 100644
--- a/backends/zypp/Makefile.am
+++ b/backends/zypp/Makefile.am
@@ -1,3 +1,6 @@
+INCLUDES = \
+ -DG_LOG_DOMAIN=\"PackageKit-Zypp\"
+
#SUBDIRS = helpers
plugindir = $(PK_PLUGIN_DIR)
plugin_LTLIBRARIES = libpk_backend_zypp.la
commit 29675adba5337ca8a00555a23759aabdf4a33c2a
Author: Richard Hughes <richard at hughsie.com>
Date: Mon Nov 1 19:40:51 2010 +0000
yum: fix compiling when not using Zif
diff --git a/backends/yum/pk-backend-yum.c b/backends/yum/pk-backend-yum.c
index 4594e6c..da6450e 100644
--- a/backends/yum/pk-backend-yum.c
+++ b/backends/yum/pk-backend-yum.c
@@ -672,8 +672,6 @@ out:
return array;
}
-#endif
-
/**
* pk_backend_get_cat_for_id:
*/
@@ -785,6 +783,8 @@ out:
return array_retval;
}
+#endif
+
/**
* pk_backend_search_thread:
*/
commit 3d4bd921ef159e32335ebd304d4e88d6bd272f85
Author: Jorge González <aloriel at gmail.com>
Date: Mon Nov 1 18:01:00 2010 +0000
l10n: Updated Spanish (Castilian) (es) translation to 100%
New status: 371 messages complete with 0 fuzzies and 0 untranslated.
Transmitted-via: Transifex (www.transifex.net).
diff --git a/po/es.po b/po/es.po
index bd2600b..3cc4284 100644
--- a/po/es.po
+++ b/po/es.po
@@ -2,18 +2,18 @@
# This file is distributed under the same license as the PackageKit package.
#
# Javier Alejandro Castro <javier.alejandro.castro at gmail.com>, 2008.
-# Jorge González <jorgegonz at svn.gnome.org>, 2009.
# Fernando Gonzalez Blanco <fgonz at fedoraproject.org>, 2009.
# Héctor Daniel Cabrera <logan at fedoraproject.org>, 2009, 2010.
+# Jorge González <jorgegonz at svn.gnome.org>, 2009, 2010.
#
msgid ""
msgstr ""
"Project-Id-Version: packagekit\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-07-04 11:48+0000\n"
-"PO-Revision-Date: 2010-07-04 13:22-0300\n"
-"Last-Translator: Héctor Daniel Cabrera <logan at fedoraproject.org>\n"
-"Language-Team: Fedora Spanish <trans-es at lists.fedoraproject.org>\n"
+"POT-Creation-Date: 2010-11-01 12:26+0000\n"
+"PO-Revision-Date: 2010-11-01 18:59+0100\n"
+"Last-Translator: Jorge González <jorgegonz at svn.gnome.org>\n"
+"Language-Team: Español <gnome-es-list at gnome.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -23,119 +23,115 @@ msgstr ""
#. TRANSLATORS: this is an atomic transaction
#. TRANSLATORS: the role is the point of the transaction, e.g. update-system
-#: ../client/pk-console.c:176
-#: ../client/pk-console.c:598
+#: ../client/pk-console.c:174 ../client/pk-console.c:596
msgid "Transaction"
msgstr "Transacción"
#. TRANSLATORS: this is the time the transaction was started in system timezone
-#: ../client/pk-console.c:178
+#: ../client/pk-console.c:176
msgid "System time"
msgstr "Hora del sistema"
#. TRANSLATORS: this is if the transaction succeeded or not
-#: ../client/pk-console.c:180
+#: ../client/pk-console.c:178
msgid "Succeeded"
msgstr "Exitosa"
-#: ../client/pk-console.c:180
+#: ../client/pk-console.c:178
msgid "True"
msgstr "Verdadero"
-#: ../client/pk-console.c:180
+#: ../client/pk-console.c:178
msgid "False"
msgstr "Falso"
#. TRANSLATORS: this is the transactions role, e.g. "update-system"
#. TRANSLATORS: the trasaction role, e.g. update-system
-#: ../client/pk-console.c:182
-#: ../src/pk-polkit-action-lookup.c:332
+#: ../client/pk-console.c:180 ../src/pk-polkit-action-lookup.c:332
msgid "Role"
msgstr "Función"
#. TRANSLATORS: this is The duration of the transaction
-#: ../client/pk-console.c:187
+#: ../client/pk-console.c:185
msgid "Duration"
msgstr "Duración"
-#: ../client/pk-console.c:187
+#: ../client/pk-console.c:185
msgid "(seconds)"
msgstr "(segundos)"
#. TRANSLATORS: this is The command line used to do the action
#. TRANSLATORS: the command line of the thing that wants the authentication
-#: ../client/pk-console.c:191
-#: ../src/pk-polkit-action-lookup.c:346
+#: ../client/pk-console.c:189 ../src/pk-polkit-action-lookup.c:346
msgid "Command line"
msgstr "LÃnea de comandos"
#. TRANSLATORS: this is the user ID of the user that started the action
-#: ../client/pk-console.c:193
+#: ../client/pk-console.c:191
msgid "User ID"
msgstr "ID de usuario"
#. TRANSLATORS: this is the username, e.g. hughsie
-#: ../client/pk-console.c:200
+#: ../client/pk-console.c:198
msgid "Username"
msgstr "Nombre de usuario"
#. TRANSLATORS: this is the users real name, e.g. "Richard Hughes"
-#: ../client/pk-console.c:204
+#: ../client/pk-console.c:202
msgid "Real name"
msgstr "Nombre real"
-#: ../client/pk-console.c:212
+#: ../client/pk-console.c:210
msgid "Affected packages:"
msgstr "Paquetes involucrados:"
-#: ../client/pk-console.c:214
+#: ../client/pk-console.c:212
msgid "Affected packages: None"
msgstr "Paquetes involucrados: Ninguno"
#. TRANSLATORS: this is the distro, e.g. Fedora 10
-#: ../client/pk-console.c:249
+#: ../client/pk-console.c:247
msgid "Distribution"
msgstr "Distribución"
#. TRANSLATORS: this is type of update, stable or testing
-#: ../client/pk-console.c:251
+#: ../client/pk-console.c:249
msgid "Type"
msgstr "Tipo"
#. TRANSLATORS: this is any summary text describing the upgrade
#. TRANSLATORS: this is the summary of the group
-#: ../client/pk-console.c:253
-#: ../client/pk-console.c:292
+#: ../client/pk-console.c:251 ../client/pk-console.c:290
msgid "Summary"
msgstr "Resumen"
#. TRANSLATORS: this is the group category name
-#: ../client/pk-console.c:281
+#: ../client/pk-console.c:279
msgid "Category"
msgstr "CategorÃa"
#. TRANSLATORS: this is group identifier
-#: ../client/pk-console.c:283
+#: ../client/pk-console.c:281
msgid "ID"
msgstr "ID"
#. TRANSLATORS: this is the parent group
-#: ../client/pk-console.c:286
+#: ../client/pk-console.c:284
msgid "Parent"
msgstr "Padre"
#. TRANSLATORS: this is the name of the parent group
-#: ../client/pk-console.c:289
+#: ../client/pk-console.c:287
msgid "Name"
msgstr "Nombre"
#. TRANSLATORS: this is preferred icon for the group
-#: ../client/pk-console.c:295
+#: ../client/pk-console.c:293
msgid "Icon"
msgstr "Icono"
#. TRANSLATORS: this is a header for the package that can be updated
-#: ../client/pk-console.c:341
+#: ../client/pk-console.c:339
msgid "Details about the update:"
msgstr "Detalles acerca de la actualización:"
@@ -144,10 +140,9 @@ msgstr "Detalles acerca de la actualización:"
#. TRANSLATORS: the package that is not signed by a known key
#. TRANSLATORS: the package name that was trying to be installed
#. TRANSLATORS: title, the names of the packages that the method is processing
-#: ../client/pk-console.c:347
-#: ../client/pk-console.c:617
-#: ../lib/packagekit-glib2/pk-task-text.c:126
-#: ../lib/packagekit-glib2/pk-task-text.c:208
+#: ../client/pk-console.c:345 ../client/pk-console.c:615
+#: ../lib/packagekit-glib2/pk-task-text.c:124
+#: ../lib/packagekit-glib2/pk-task-text.c:206
#: ../src/pk-polkit-action-lookup.c:357
msgid "Package"
msgid_plural "Packages"
@@ -155,196 +150,209 @@ msgstr[0] "Paquete"
msgstr[1] "Paquetes"
#. TRANSLATORS: details about the update, any packages that this update updates
-#: ../client/pk-console.c:350
+#: ../client/pk-console.c:348
msgid "Updates"
msgstr "Actualizaciones"
#. TRANSLATORS: details about the update, any packages that this update obsoletes
-#: ../client/pk-console.c:354
+#: ../client/pk-console.c:352
msgid "Obsoletes"
msgstr "Sustituye"
#. TRANSLATORS: details about the update, the vendor URLs
#. TRANSLATORS: the vendor (e.g. vmware) that is providing the EULA
-#: ../client/pk-console.c:358
-#: ../lib/packagekit-glib2/pk-task-text.c:211
+#: ../client/pk-console.c:356 ../lib/packagekit-glib2/pk-task-text.c:209
msgid "Vendor"
msgstr "Fabricante"
#. TRANSLATORS: details about the update, the bugzilla URLs
-#: ../client/pk-console.c:362
+#: ../client/pk-console.c:360
msgid "Bugzilla"
msgstr "Bugzilla"
#. TRANSLATORS: details about the update, the CVE URLs
-#: ../client/pk-console.c:366
+#: ../client/pk-console.c:364
msgid "CVE"
msgstr "CVE"
#. TRANSLATORS: details about the update, if the package requires a restart
-#: ../client/pk-console.c:370
+#: ../client/pk-console.c:368
msgid "Restart"
msgstr "Reiniciar"
#. TRANSLATORS: details about the update, any description of the update
-#: ../client/pk-console.c:374
+#: ../client/pk-console.c:372
msgid "Update text"
msgstr "Texto de actualización"
#. TRANSLATORS: details about the update, the changelog for the package
-#: ../client/pk-console.c:378
+#: ../client/pk-console.c:376
msgid "Changes"
msgstr "Cambios"
#. TRANSLATORS: details about the update, the ongoing state of the update
-#: ../client/pk-console.c:382
+#: ../client/pk-console.c:380
msgid "State"
msgstr "Estado"
#. TRANSLATORS: details about the update, date the update was issued
-#: ../client/pk-console.c:386
+#: ../client/pk-console.c:384
msgid "Issued"
msgstr "Emitido"
#. TRANSLATORS: details about the update, date the update was updated
#. TRANSLATORS: The action of the package, in past tense
-#: ../client/pk-console.c:390
-#: ../lib/packagekit-glib2/pk-console-shared.c:517
+#: ../client/pk-console.c:388 ../lib/packagekit-glib2/pk-console-shared.c:515
msgid "Updated"
msgstr "Actualizado"
#. TRANSLATORS: if the repo is enabled
-#: ../client/pk-console.c:426
+#: ../client/pk-console.c:424
msgid "Enabled"
-msgstr "Habilitado"
+msgstr "Activado"
#. TRANSLATORS: if the repo is disabled
-#: ../client/pk-console.c:429
+#: ../client/pk-console.c:427
msgid "Disabled"
-msgstr "Deshabilitado"
+msgstr "Desactivado"
#. TRANSLATORS: a package requires the system to be restarted
-#: ../client/pk-console.c:461
+#: ../client/pk-console.c:459
msgid "System restart required by:"
msgstr "Se necesita reiniciar el sistema debido a:"
#. TRANSLATORS: a package requires the session to be restarted
-#: ../client/pk-console.c:464
+#: ../client/pk-console.c:462
msgid "Session restart required:"
msgstr "Se necesita reiniciar la sesión:"
#. TRANSLATORS: a package requires the system to be restarted due to a security update
-#: ../client/pk-console.c:467
+#: ../client/pk-console.c:465
msgid "System restart (security) required by:"
msgstr "Reinicio del sistema (seguridad) solicitado por:"
#. TRANSLATORS: a package requires the session to be restarted due to a security update
-#: ../client/pk-console.c:470
+#: ../client/pk-console.c:468
msgid "Session restart (security) required:"
msgstr "Reinicio de la sesión (seguridad) solicitado por:"
#. TRANSLATORS: a package requires the application to be restarted
-#: ../client/pk-console.c:473
+#: ../client/pk-console.c:471
msgid "Application restart required by:"
msgstr "Se necesita reiniciar una aplicación debido a:"
#. TRANSLATORS: This a list of details about the package
-#: ../client/pk-console.c:508
+#: ../client/pk-console.c:506
msgid "Package description"
msgstr "Descripción del paquete"
#. TRANSLATORS: This a message (like a little note that may be of interest) from the transaction
-#: ../client/pk-console.c:539
+#: ../client/pk-console.c:537
msgid "Message:"
msgstr "Mensaje:"
#. TRANSLATORS: This where the package has no files
-#: ../client/pk-console.c:560
+#: ../client/pk-console.c:558
msgid "No files"
msgstr "No hay archivos"
#. TRANSLATORS: This a list files contained in the package
-#: ../client/pk-console.c:565
+#: ../client/pk-console.c:563
msgid "Package files"
msgstr "Archivos del paquete"
#. TRANSLATORS: the percentage complete of the transaction
-#: ../client/pk-console.c:633
+#: ../client/pk-console.c:631
msgid "Percentage"
msgstr "Porcentaje"
#. TRANSLATORS: the status of the transaction (e.g. downloading)
-#: ../client/pk-console.c:651
+#: ../client/pk-console.c:649
msgid "Status"
msgstr "Estado"
#. TRANSLATORS: the results from the transaction
-#: ../client/pk-console.c:680
+#: ../client/pk-console.c:678
msgid "Results:"
msgstr "Resultados:"
#. TRANSLATORS: we failed to get any results, which is pretty fatal in my book
-#: ../client/pk-console.c:687
+#: ../client/pk-console.c:685
msgid "Fatal error"
msgstr "Error fatal"
+#. TRANSLATORS: the user asked to update everything, but there is nothing that can be updated
+#: ../client/pk-console.c:701
+msgid "There are no packages to update."
+msgstr "No existen paquetes que actualizar."
+
#. TRANSLATORS: the transaction failed in a way we could not expect
-#: ../client/pk-console.c:696
-#: ../contrib/command-not-found/pk-command-not-found.c:454
-#: ../contrib/command-not-found/pk-command-not-found.c:634
+#: ../client/pk-console.c:704
+#: ../contrib/command-not-found/pk-command-not-found.c:639
msgid "The transaction failed"
msgstr "La transacción no pudo realizarse"
#. TRANSLATORS: print a message when there are no updates
-#: ../client/pk-console.c:727
+#: ../client/pk-console.c:733
msgid "There are no updates available at this time."
msgstr "En este momento no existen actualizaciones disponibles."
-#: ../client/pk-console.c:750
+#: ../client/pk-console.c:756
msgid "There are no upgrades available at this time."
msgstr "En este momento no existen actualizaciones disponibles."
#. TRANSLATORS: a package needs to restart their system
-#: ../client/pk-console.c:817
+#: ../client/pk-console.c:823
msgid "Please restart the computer to complete the update."
msgstr "Reinicie el equipo para completar la actualización."
#. TRANSLATORS: a package needs to restart the session
-#: ../client/pk-console.c:820
+#: ../client/pk-console.c:826
msgid "Please logout and login to complete the update."
msgstr "Cierre la sesión y vuelva a ingresar para completar la actualización."
#. TRANSLATORS: a package needs to restart their system (due to security)
-#: ../client/pk-console.c:823
-msgid "Please restart the computer to complete the update as important security updates have been installed."
-msgstr "Por favor, debido a que se han instalado actualizaciones de seguridad importantes, reinicie el equipo para completar la actualización. "
+#: ../client/pk-console.c:829
+msgid ""
+"Please restart the computer to complete the update as important security "
+"updates have been installed."
+msgstr ""
+"Debido a que se han instalado actualizaciones de seguridad importantes, "
+"reinicie el equipo para completar la actualización. "
#. TRANSLATORS: a package needs to restart the session (due to security)
-#: ../client/pk-console.c:826
-msgid "Please logout and login to complete the update as important security updates have been installed."
-msgstr "Por favor, debido a que se han instalado actualizaciones de seguridad importantes, cierre la sesión y vuelva a registrarse para completar la actualización."
+#: ../client/pk-console.c:832
+msgid ""
+"Please logout and login to complete the update as important security updates "
+"have been installed."
+msgstr ""
+"Debido a que se han instalado actualizaciones de seguridad importantes, "
+"cierre la sesión y vuelva a registrarse para completar la actualización."
#. TRANSLATORS: The user used 'pkcon install dave.rpm' rather than 'pkcon install-local dave.rpm'
-#: ../client/pk-console.c:852
+#: ../client/pk-console.c:858
#, c-format
-msgid "Expected package name, actually got file. Try using 'pkcon install-local %s' instead."
-msgstr "Se esperaba el nombre de un paquete, pero se obtuvo un archivo. En su lugar, trate de utilizar 'pkcon install-local %s'."
+msgid ""
+"Expected package name, actually got file. Try using 'pkcon install-local %s' "
+"instead."
+msgstr ""
+"Se esperaba el nombre de un paquete, pero se obtuvo un archivo. En su lugar, "
+"trate de utilizar 'pkcon install-local %s'."
#. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
-#: ../client/pk-console.c:860
+#: ../client/pk-console.c:866
#, c-format
msgid "This tool could not find any available package: %s"
msgstr "Esta herramienta no pudo encontrar ningún paquete disponible: %s"
#. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
-#: ../client/pk-console.c:888
+#: ../client/pk-console.c:894
#, c-format
msgid "This tool could not find the installed package: %s"
msgstr "Esta herramienta no pudo encontrar el paquete instalado: %s"
#. TRANSLATORS: There was an error getting the list of files for the package. The detailed error follows
-#: ../client/pk-console.c:916
-#: ../client/pk-console.c:944
+#: ../client/pk-console.c:922 ../client/pk-console.c:950
#, c-format
msgid "This tool could not find the package: %s"
msgstr "Esta herramienta no pudo encontrar el paquete: %s"
@@ -353,658 +361,679 @@ msgstr "Esta herramienta no pudo encontrar el paquete: %s"
#. TRANSLATORS: There was an error getting the dependencies for the package. The detailed error follows
#. TRANSLATORS: There was an error getting the details about the package. The detailed error follows
#. TRANSLATORS: The package name was not found in any software sources. The detailed error follows
-#: ../client/pk-console.c:972
-#: ../client/pk-console.c:1000
-#: ../client/pk-console.c:1028
-#: ../client/pk-console.c:1056
-#: ../client/pk-console.c:1084
+#: ../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
#, c-format
msgid "This tool could not find all the packages: %s"
msgstr "Esta herramienta no pudo encontrar todos los paquetes: %s"
#. TRANSLATORS: This is when the daemon crashed, and we are up shit creek without a paddle
-#: ../client/pk-console.c:1113
+#: ../client/pk-console.c:1119
msgid "The daemon crashed mid-transaction!"
-msgstr "¡El demonio se ha caÃdo en plena transacción!"
+msgstr "El demonio se ha colgado en plena transacción."
#. TRANSLATORS: This is the header to the --help menu
-#: ../client/pk-console.c:1147
+#: ../client/pk-console.c:1153
msgid "PackageKit Console Interface"
msgstr "Interfaz de consola de PackageKit"
#. these are commands we can use with pkcon
-#: ../client/pk-console.c:1149
+#: ../client/pk-console.c:1155
msgid "Subcommands:"
msgstr "Subcomandos:"
#. TRANSLATORS: we keep a database updated with the time that an action was last executed
-#: ../client/pk-console.c:1228
+#: ../client/pk-console.c:1234
msgid "Failed to get the time since this action was last completed"
msgstr "Falló al obtener la hora de la última vez que se completó esta acción"
#. TRANSLATORS: command line argument, just show the version string
-#: ../client/pk-console.c:1268
-#: ../client/pk-monitor.c:373
+#: ../client/pk-console.c:1275 ../client/pk-monitor.c:371
msgid "Show the program version and exit"
msgstr "Mostrar la versión del programa y salir"
#. TRANSLATORS: command line argument, use a filter to narrow down results
-#: ../client/pk-console.c:1271
+#: ../client/pk-console.c:1278
msgid "Set the filter, e.g. installed"
msgstr "Establecer el filtro, p. ej. instalado"
#. TRANSLATORS: command line argument, use a non-standard install prefix
-#: ../client/pk-console.c:1274
+#: ../client/pk-console.c:1281
msgid "Set the install root, e.g. '/' or '/mnt/ltsp'"
-msgstr "Establecer la raÃz de instalación, p. ej., '/', o '/mnt/ltsp'"
+msgstr "Establecer la raÃz de instalación, p. ej., «/», o «/mnt/ltsp»"
#. TRANSLATORS: command line argument, work asynchronously
-#: ../client/pk-console.c:1277
+#: ../client/pk-console.c:1284
msgid "Exit without waiting for actions to complete"
msgstr "Salir sin esperar que las acciones se completen"
#. command line argument, do we ask questions
-#: ../client/pk-console.c:1280
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:527
+#: ../client/pk-console.c:1287
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:525
msgid "Install the packages without asking for confirmation"
msgstr "Instalar los paquetes sin confirmación"
#. TRANSLATORS: command line argument, this command is not a priority
-#: ../client/pk-console.c:1283
+#: ../client/pk-console.c:1290
msgid "Run the command using idle network bandwidth and also using less power"
-msgstr "Ejecuta el comando utilizando menos potencia, y el ancho de bando libre"
+msgstr ""
+"Ejecuta el comando utilizando menos potencia, y el ancho de bando libre"
+
+#. TRANSLATORS: command line argument, just output without fancy formatting
+#: ../client/pk-console.c:1293
+msgid ""
+"Print to screen a machine readable output, rather than using animated widgets"
+msgstr ""
+"Imprime en la pantalla una salida legible por una máquina, en lugar de "
+"utilizar widgets animados"
#. TRANSLATORS: command line argument, just output without fancy formatting
-#: ../client/pk-console.c:1286
-msgid "Print to screen a machine readable output, rather than using animated widgets"
-msgstr "Imprime en la pantalla una salida legible por una máquina, en lugar de utilizar widgets animados"
+#: ../client/pk-console.c:1296
+msgid "The maximum metadata cache age. Use -1 for 'never'."
+msgstr ""
+"El tiempo máximo de edad para la caché de metadatos. Usar -1 para «nunca»."
#. TRANSLATORS: we failed to contact the daemon
-#: ../client/pk-console.c:1308
+#: ../client/pk-console.c:1333
msgid "Failed to contact PackageKit"
msgstr "Falló al contactar con PackageKit"
#. TRANSLATORS: The user specified an incorrect filter
-#: ../client/pk-console.c:1369
+#: ../client/pk-console.c:1381
msgid "The proxy could not be set"
msgstr "No se pudo definir el proxy"
#. TRANSLATORS: The user specified an incorrect filter
-#: ../client/pk-console.c:1381
+#: ../client/pk-console.c:1393
msgid "The install root could not be set"
msgstr "La raÃz de instalación no pudo ser definida"
#. TRANSLATORS: The user specified an incorrect filter
-#: ../client/pk-console.c:1393
+#: ../client/pk-console.c:1405
msgid "The filter specified was invalid"
msgstr "El filtro especificado fue inválido"
#. TRANSLATORS: a search type can be name, details, file, etc
-#: ../client/pk-console.c:1412
+#: ../client/pk-console.c:1424
msgid "A search type is required, e.g. name"
msgstr "Se necesita un tipo de búsqueda, por ejemplo, nombre"
#. TRANSLATORS: the user needs to provide a search term
-#: ../client/pk-console.c:1419
-#: ../client/pk-console.c:1431
-#: ../client/pk-console.c:1443
-#: ../client/pk-console.c:1455
+#: ../client/pk-console.c:1431 ../client/pk-console.c:1443
+#: ../client/pk-console.c:1455 ../client/pk-console.c:1467
msgid "A search term is required"
msgstr "Se necesita un término de búsqueda"
#. TRANSLATORS: the search type was provided, but invalid
-#: ../client/pk-console.c:1465
+#: ../client/pk-console.c:1477
msgid "Invalid search type"
msgstr "Tipo de búsqueda inválido"
#. TRANSLATORS: the user did not specify what they wanted to install
-#: ../client/pk-console.c:1471
+#: ../client/pk-console.c:1483
msgid "A package name to install is required"
msgstr "Se necesita un nombre de paquete a instalar"
#. TRANSLATORS: the user did not specify what they wanted to install
-#: ../client/pk-console.c:1480
+#: ../client/pk-console.c:1492
msgid "A filename to install is required"
msgstr "Se requiere un nombre de archivo a instalar"
#. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:1492
+#: ../client/pk-console.c:1503
msgid "A type, key_id and package_id are required"
msgstr "Se necesita un tipo, key_id y package_id"
#. TRANSLATORS: the user did not specify what they wanted to remove
-#: ../client/pk-console.c:1503
+#: ../client/pk-console.c:1514
msgid "A package name to remove is required"
msgstr "Necesita un nombre de paquete para eliminar"
#. TRANSLATORS: the user did not specify anything about what to download or where
-#: ../client/pk-console.c:1512
+#: ../client/pk-console.c:1523
msgid "A destination directory and the package names to download are required"
-msgstr "Se necesita un directorio de destino y los nombres de los paquetes a descargar"
+msgstr ""
+"Se necesita un directorio de destino y los nombres de los paquetes a "
+"descargar"
#. TRANSLATORS: the directory does not exist, so we can't continue
-#: ../client/pk-console.c:1519
+#: ../client/pk-console.c:1530
msgid "Directory not found"
msgstr "Directorio no encontrado"
#. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:1528
+#: ../client/pk-console.c:1539
msgid "A licence identifier (eula-id) is required"
msgstr "Se necesita un identificador de licencia (eula-id)"
#. TRANSLATORS: geeky error, 99.9999% of users won't see this
-#: ../client/pk-console.c:1539
+#: ../client/pk-console.c:1550
msgid "A transaction identifier (tid) is required"
msgstr "Se necesita un identificador de transacción (tid)"
#. TRANSLATORS: The user did not specify a package name
-#: ../client/pk-console.c:1560
+#: ../client/pk-console.c:1571
msgid "A package name to resolve is required"
msgstr "Se necesita un nombre de paquete para resolver"
#. TRANSLATORS: The user did not specify a repository (software source) name
-#: ../client/pk-console.c:1571
-#: ../client/pk-console.c:1582
+#: ../client/pk-console.c:1582 ../client/pk-console.c:1593
msgid "A repository name is required"
msgstr "Se necesita un nombre de repositorio"
#. TRANSLATORS: The user didn't provide any data
-#: ../client/pk-console.c:1593
+#: ../client/pk-console.c:1604
msgid "A repo name, parameter and value are required"
msgstr "Debe especificar un nombre de repositorio, parámetro y valor"
#. TRANSLATORS: The user didn't specify what action to use
-#: ../client/pk-console.c:1610
+#: ../client/pk-console.c:1621
msgid "An action, e.g. 'update-system' is required"
msgstr "Debe especificar una acción, por ejemplo, «update-system»"
#. TRANSLATORS: The user specified an invalid action
-#: ../client/pk-console.c:1617
+#: ../client/pk-console.c:1628
msgid "A correct role is required"
msgstr "Se necesita un rol correcto"
#. 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:1627
-#: ../client/pk-console.c:1642
-#: ../client/pk-console.c:1651
-#: ../client/pk-console.c:1671
-#: ../client/pk-console.c:1680
-#: ../client/pk-generate-pack.c:316
+#: ../client/pk-console.c:1638 ../client/pk-console.c:1652
+#: ../client/pk-console.c:1661 ../client/pk-console.c:1681
+#: ../client/pk-console.c:1690 ../client/pk-generate-pack.c:314
msgid "A package name is required"
msgstr "Se necesita un nombre de paquete"
#. TRANSLATORS: each package "provides" certain things, e.g. mime(gstreamer-decoder-mp3), the user didn't specify it
-#: ../client/pk-console.c:1660
+#: ../client/pk-console.c:1670
msgid "A package provide string is required"
msgstr "Se necesita la cadena de lo que proporciona el paquete"
#. TRANSLATORS: The user tried to use an unsupported option on the command line
-#: ../client/pk-console.c:1741
+#: ../client/pk-console.c:1751
#, c-format
msgid "Option '%s' is not supported"
-msgstr "La opción '%s' no está soportada"
+msgstr "La opción «%s» no está soportada"
#. TRANSLATORS: Generic failure of what they asked to do
-#: ../client/pk-console.c:1751
+#: ../client/pk-console.c:1761
msgid "Command failed"
msgstr "Falló el comando"
#. TRANSLATORS: we can exclude certain packages (glibc) when we know they'll exist on the target
-#: ../client/pk-generate-pack.c:255
+#: ../client/pk-generate-pack.c:253
msgid "Set the file name of dependencies to be excluded"
msgstr "Establezca el nombre del archivo de dependencias para excluir"
#. TRANSLATORS: the output location
-#: ../client/pk-generate-pack.c:258
+#: ../client/pk-generate-pack.c:256
msgid "The output file or directory (the current directory is used if omitted)"
-msgstr "El directorio o archivo de salida (si se imite, será utilizado el directorio actual)"
+msgstr ""
+"El directorio o archivo de salida (si se imite, será utilizado el directorio "
+"actual)"
#. TRANSLATORS: put a list of packages in the pack
-#: ../client/pk-generate-pack.c:261
+#: ../client/pk-generate-pack.c:259
msgid "The package to be put into the service pack"
msgstr "El paquete a ser colocado en el paquete de servicio"
#. TRANSLATORS: put all pending updates in the pack
-#: ../client/pk-generate-pack.c:264
+#: ../client/pk-generate-pack.c:262
msgid "Put all updates available in the service pack"
msgstr "Poner todas las actualizaciones disponibles en el paquete de servicio"
#. TRANSLATORS: This is when the user fails to supply the correct arguments
-#: ../client/pk-generate-pack.c:300
+#: ../client/pk-generate-pack.c:298
msgid "Neither --package or --updates option selected."
msgstr "No se seleccionó la opción --package o --updates."
#. TRANSLATORS: This is when the user fails to supply just one argument
-#: ../client/pk-generate-pack.c:308
+#: ../client/pk-generate-pack.c:306
msgid "Both options selected."
msgstr "Se seleccionaron ambas opciones."
#. TRANSLATORS: This is when the user fails to supply the output
-#: ../client/pk-generate-pack.c:324
+#: ../client/pk-generate-pack.c:322
msgid "A output directory or file name is required"
msgstr "Se necesita un directorio o nombre de archivo de salida"
#. TRANSLATORS: This is when the daemon is not-installed/broken and fails to startup
-#: ../client/pk-generate-pack.c:342
+#: ../client/pk-generate-pack.c:340
msgid "The daemon failed to startup"
msgstr "El demonio falló al tratar de iniciarse"
#. TRANSLATORS: This is when the backend doesn't have the capability to get-depends
#. TRANSLATORS: This is when the backend doesn't have the capability to download
-#: ../client/pk-generate-pack.c:353
-#: ../client/pk-generate-pack.c:359
+#: ../client/pk-generate-pack.c:351 ../client/pk-generate-pack.c:357
msgid "The package manager cannot perform this type of operation."
msgstr "El gestor de paquetes no puede realizar este tipo de operación."
#. TRANSLATORS: This is when the distro didn't include libarchive support into PK
-#: ../client/pk-generate-pack.c:366
-msgid "Service packs cannot be created as PackageKit was not built with libarchive support."
-msgstr "No se pueden crear paquetes de servicio ya que PackageKit no se construyó con soporte para libarchive."
+#: ../client/pk-generate-pack.c:364
+msgid ""
+"Service packs cannot be created as PackageKit was not built with libarchive "
+"support."
+msgstr ""
+"No se pueden crear paquetes de servicio ya que PackageKit no se construyó "
+"con soporte para libarchive."
#. TRANSLATORS: the user specified an absolute path, but didn't get the extension correct
-#: ../client/pk-generate-pack.c:377
+#: ../client/pk-generate-pack.c:375
msgid "If specifying a file, the service pack name must end with"
-msgstr "Si especifica un archivo, el nombre del paquete de servicio debe finalizar con"
+msgstr ""
+"Si especifica un archivo, el nombre del paquete de servicio debe finalizar "
+"con"
#. TRANSLATORS: This is when file already exists
-#: ../client/pk-generate-pack.c:393
+#: ../client/pk-generate-pack.c:391
msgid "A pack with the same name already exists, do you want to overwrite it?"
msgstr "Ya existe un paquete con ese nombre, ¿desea sobrescribirlo?"
#. TRANSLATORS: This is when the pack was not overwritten
-#: ../client/pk-generate-pack.c:396
+#: ../client/pk-generate-pack.c:394
msgid "The pack was not overwritten."
msgstr "No se sobrescribió el paquete."
#. TRANSLATORS: This is when the temporary directory cannot be created, the directory name follows
-#: ../client/pk-generate-pack.c:409
+#: ../client/pk-generate-pack.c:407
msgid "Failed to create directory:"
msgstr "Falló al crear el directorio:"
#. TRANSLATORS: This is when the list of packages from the remote computer cannot be opened
-#: ../client/pk-generate-pack.c:421
+#: ../client/pk-generate-pack.c:419
msgid "Failed to open package list."
msgstr "Falló al abrir la lista de paquetes."
#. TRANSLATORS: The package name is being matched up to available packages
-#: ../client/pk-generate-pack.c:430
+#: ../client/pk-generate-pack.c:428
msgid "Finding package name."
msgstr "Buscando el nombre de paquete."
#. TRANSLATORS: This is when the package cannot be found in any software source. The detailed error follows
-#: ../client/pk-generate-pack.c:434
+#: ../client/pk-generate-pack.c:432
#, c-format
msgid "Failed to find package '%s': %s"
-msgstr "Falló al buscar el paquete '%s': %s"
+msgstr "Falló al buscar el paquete «%s»: %s"
#. TRANSLATORS: This is telling the user we are in the process of making the pack
-#: ../client/pk-generate-pack.c:442
+#: ../client/pk-generate-pack.c:440
msgid "Creating service pack..."
msgstr "Creando el paquete de servicio..."
#. TRANSLATORS: we succeeded in making the file
-#: ../client/pk-generate-pack.c:457
+#: ../client/pk-generate-pack.c:455
#, c-format
msgid "Service pack created '%s'"
-msgstr "Ha sido creado el paquete de servicio '%s'"
+msgstr "Ha sido creado el paquete de servicio «%s»"
#. TRANSLATORS: we failed to make te file
-#: ../client/pk-generate-pack.c:462
+#: ../client/pk-generate-pack.c:460
#, c-format
msgid "Failed to create '%s': %s"
-msgstr "Falló al crear '%s': %s"
+msgstr "Falló al crear «%s»: %s"
-#: ../client/pk-monitor.c:286
+#: ../client/pk-monitor.c:284
msgid "Failed to get daemon state"
msgstr "Falló al obtener el estado del demonio"
-#: ../client/pk-monitor.c:351
+#: ../client/pk-monitor.c:349
msgid "Failed to get properties"
msgstr "Falló al intentar obtener las propiedades"
#. TRANSLATORS: this is a program that monitors PackageKit
-#: ../client/pk-monitor.c:389
+#: ../client/pk-monitor.c:387
msgid "PackageKit Monitor"
msgstr "Monitor de PackageKit"
#. TRANSLATORS: when we are getting data from the daemon
-#: ../contrib/browser-plugin/pk-plugin-install.c:497
+#: ../contrib/browser-plugin/pk-plugin-install.c:499
msgid "Getting package information..."
msgstr "Extrayendo información del paquete..."
#. TRANSLATORS: run an applicaiton
-#: ../contrib/browser-plugin/pk-plugin-install.c:503
+#: ../contrib/browser-plugin/pk-plugin-install.c:505
#, c-format
msgid "Run %s"
msgstr "Ejecutar %s"
#. TRANSLATORS: show the installed version of a package
-#: ../contrib/browser-plugin/pk-plugin-install.c:509
+#: ../contrib/browser-plugin/pk-plugin-install.c:511
msgid "Installed version"
msgstr "Versión instalada"
#. TRANSLATORS: run the application now
-#: ../contrib/browser-plugin/pk-plugin-install.c:517
+#: ../contrib/browser-plugin/pk-plugin-install.c:519
#, c-format
msgid "Run version %s now"
msgstr "Ejecutar la versión %s ahora"
#. TRANSLATORS: run the application now
-#: ../contrib/browser-plugin/pk-plugin-install.c:523
+#: ../contrib/browser-plugin/pk-plugin-install.c:525
msgid "Run now"
msgstr "Ejecutar ahora"
#. TRANSLATORS: update to a new version of the package
-#: ../contrib/browser-plugin/pk-plugin-install.c:529
+#: ../contrib/browser-plugin/pk-plugin-install.c:531
#, c-format
msgid "Update to version %s"
msgstr "Actualizar a la versión %s"
#. TRANSLATORS: To install a package
-#: ../contrib/browser-plugin/pk-plugin-install.c:535
+#: ../contrib/browser-plugin/pk-plugin-install.c:537
#, c-format
msgid "Install %s now"
msgstr "Instalar %s ahora"
#. TRANSLATORS: the version of the package
-#: ../contrib/browser-plugin/pk-plugin-install.c:538
+#: ../contrib/browser-plugin/pk-plugin-install.c:540
msgid "Version"
msgstr "Versión"
#. TRANSLATORS: noting found, so can't install
-#: ../contrib/browser-plugin/pk-plugin-install.c:543
+#: ../contrib/browser-plugin/pk-plugin-install.c:545
msgid "No packages found for your system"
msgstr "No se encontró ningún paquete para su sistema"
#. TRANSLATORS: package is being installed
-#: ../contrib/browser-plugin/pk-plugin-install.c:548
+#: ../contrib/browser-plugin/pk-plugin-install.c:550
msgid "Installing..."
msgstr "Instalando..."
#. TRANSLATORS: downloading repo data so we can search
-#: ../contrib/command-not-found/pk-command-not-found.c:367
+#: ../contrib/command-not-found/pk-command-not-found.c:366
msgid "Downloading details about the software sources."
msgstr "Descargando detalles acerca de las fuentes de software"
#. TRANSLATORS: downloading file lists so we can search
-#: ../contrib/command-not-found/pk-command-not-found.c:371
+#: ../contrib/command-not-found/pk-command-not-found.c:370
msgid "Downloading filelists (this may take some time to complete)."
-msgstr "Descargando listas de archivo (esto podrÃa tardar un tiempo en completarse)."
+msgstr ""
+"Descargando listas de archivo (esto podrÃa tardar un tiempo en completarse)."
#. TRANSLATORS: waiting for native lock
-#: ../contrib/command-not-found/pk-command-not-found.c:375
+#: ../contrib/command-not-found/pk-command-not-found.c:374
msgid "Waiting for package manager lock."
msgstr "Esperando bloqueo del administrador de paquetes."
#. TRANSLATORS: loading package cache so we can search
-#: ../contrib/command-not-found/pk-command-not-found.c:379
+#: ../contrib/command-not-found/pk-command-not-found.c:378
msgid "Loading list of packages."
msgstr "Cargando listas de paquetes."
#. TRANSLATORS: we failed to find the package, this shouldn't happen
-#: ../contrib/command-not-found/pk-command-not-found.c:445
+#: ../contrib/command-not-found/pk-command-not-found.c:444
msgid "Failed to search for file"
msgstr "Falló al buscar el archivo"
+#. TRANSLATORS: the transaction failed in a way we could not expect
+#: ../contrib/command-not-found/pk-command-not-found.c:456
+msgid "Getting the list of files failed"
+msgstr "FalloÌ al obtener la lista de archivos"
+
#. TRANSLATORS: we failed to launch the executable, the error follows
-#: ../contrib/command-not-found/pk-command-not-found.c:597
+#: ../contrib/command-not-found/pk-command-not-found.c:602
msgid "Failed to launch:"
msgstr "Falló al iniciar:"
#. TRANSLATORS: we failed to install the package
-#: ../contrib/command-not-found/pk-command-not-found.c:625
+#: ../contrib/command-not-found/pk-command-not-found.c:630
msgid "Failed to install packages"
msgstr "No se han podido instalar los paquetes"
#. TRANSLATORS: tool that gets called when the command is not found
-#: ../contrib/command-not-found/pk-command-not-found.c:701
+#: ../contrib/command-not-found/pk-command-not-found.c:706
msgid "PackageKit Command Not Found"
msgstr "No se encontró el comando PackageKit"
-#. TRANSLATORS: the prefix of all the output telling the user why it's not executing
-#: ../contrib/command-not-found/pk-command-not-found.c:727
-msgid "Command not found."
-msgstr "Comando no encontrado."
+#. 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:739
+msgid "command not found"
+msgstr "comando no encontrado"
#. TRANSLATORS: tell the user what we think the command is
-#: ../contrib/command-not-found/pk-command-not-found.c:745
+#: ../contrib/command-not-found/pk-command-not-found.c:757
msgid "Similar command is:"
msgstr "Un comando similar es:"
#. 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:771
msgid "Run similar command:"
msgstr "Ejecuta un comando similar:"
#. 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:785
+#: ../contrib/command-not-found/pk-command-not-found.c:794
msgid "Similar commands are:"
msgstr "Los comandos similares son:"
#. 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:801
msgid "Please choose a command to run"
msgstr "Elija un comando para ejecutar"
#. 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:819
msgid "The package providing this file is:"
msgstr "El paquete que proporciona este archivo es:"
#. TRANSLATORS: as the user if we want to install a package to provide the command
-#: ../contrib/command-not-found/pk-command-not-found.c:808
+#: ../contrib/command-not-found/pk-command-not-found.c:826
#, c-format
msgid "Install package '%s' to provide command '%s'?"
-msgstr "¿Instalar el paquete '%s' para proporcionar el comando '%s'?"
+msgstr "¿Instalar el paquete «%s» para proporcionar el comando «%s»?"
#. TRANSLATORS: Show the user a list of packages that provide this command
-#: ../contrib/command-not-found/pk-command-not-found.c:832
+#: ../contrib/command-not-found/pk-command-not-found.c:853
msgid "Packages providing this file are:"
msgstr "Los paquetes que proporcionan este archivo son:"
#. TRANSLATORS: Show the user a list of packages that they can install to provide this command
-#: ../contrib/command-not-found/pk-command-not-found.c:842
+#: ../contrib/command-not-found/pk-command-not-found.c:863
msgid "Suitable packages are:"
msgstr "Los paquetes posibles son:"
#. get selection
#. TRANSLATORS: ask the user to choose a file to install
-#: ../contrib/command-not-found/pk-command-not-found.c:851
+#: ../contrib/command-not-found/pk-command-not-found.c:872
msgid "Please choose a package to install"
msgstr "Elija un paquete para instalar"
#. TRANSLATORS: we are starting to install the packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:197
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:195
msgid "Starting install"
msgstr "Iniciando la instalación"
#. TRANSLATORS: we couldn't find the package name, non-fatal
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:409
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:407
#, c-format
msgid "Failed to find the package %s, or already installed: %s"
-msgstr "No se ha podido encontrar el paquete %s, o tal vez ya se encuentre instalado: %s"
+msgstr ""
+"No se ha podido encontrar el paquete %s, o tal vez ya se encuentre "
+"instalado: %s"
#. command line argument, simulate what would be done, but don't actually do it
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:518
-msgid "Don't actually install any packages, only simulate what would be installed"
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:516
+msgid ""
+"Don't actually install any packages, only simulate what would be installed"
msgstr "No se instala ningún paquete, solo se indica cuáles serÃan instalados"
#. command line argument, do we skip packages that depend on the ones specified
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:521
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:519
msgid "Do not install dependencies of the core packages"
msgstr "No se instalan dependencias de los paquetes principales"
#. command line argument, do we operate quietly
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:524
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:522
msgid "Do not display information or progress"
msgstr "No se muestra información ni progreso"
#. TRANSLATORS: tool that gets called when the command is not found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:542
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:540
msgid "PackageKit Debuginfo Installer"
msgstr "Instalador de depuración de errores de PackageKit"
#. TRANSLATORS: the use needs to specify a list of package names on the command line
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:556
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:554
#, c-format
msgid "ERROR: Specify package names to install."
msgstr "ERROR: Debe especificar los nombres de los paquetes a instalar."
#. TRANSLATORS: we are getting the list of repositories
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:592
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:590
#, c-format
msgid "Getting sources list"
msgstr "Obteniendo lista desde las fuentes"
#. TRANSLATORS: operation was not successful
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:602
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:677
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:761
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:805
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:872
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:916
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:600
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:675
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:759
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:803
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:870
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:914
msgid "FAILED."
-msgstr "FALLO."
+msgstr "FALLÃ."
#. TRANSLATORS: all completed 100%
-#: ../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
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:615
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:655
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:690
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:774
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:818
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:885
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:929
#, c-format
msgid "OK."
-msgstr "OK."
+msgstr "CORRECTO."
#. TRANSLATORS: tell the user what we found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:620
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:618
#, c-format
msgid "Found %i enabled and %i disabled sources."
msgstr "Se han encontrado %i fuentes activas y %i fuentes deshabilitadas."
#. TRANSLATORS: we're finding repositories that match out pattern
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:627
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:625
#, c-format
msgid "Finding debugging sources"
msgstr "Buscando fuentes para depuración"
#. TRANSLATORS: tell the user what we found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:660
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:658
#, c-format
msgid "Found %i disabled debuginfo repos."
msgstr "Se han encontrado %i repositorios deshabilitados para depuración."
#. TRANSLATORS: we're now enabling all the debug sources we found
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:667
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:665
#, c-format
msgid "Enabling debugging sources"
msgstr "Habilitando fuentes para depuración"
#. TRANSLATORS: tell the user how many we enabled
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:695
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:693
#, c-format
msgid "Enabled %i debugging sources."
msgstr "Se han habilitado %i fuentes para depuración."
#. TRANSLATORS: we're now finding packages that match in all the repos
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:702
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:700
#, c-format
msgid "Finding debugging packages"
msgstr "Buscando paquetes de depuración."
#. TRANSLATORS: we couldn't find the package name, non-fatal
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:714
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:712
#, c-format
msgid "Failed to find the package %s: %s"
msgstr "Falló al buscar el paquete %s: %s"
#. TRANSLATORS: we couldn't find the debuginfo package name, non-fatal
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:737
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:735
#, c-format
msgid "Failed to find the debuginfo package %s: %s"
msgstr "Fallo al buscar el paquete de depuración %s: %s"
#. TRANSLATORS: no debuginfo packages could be found to be installed
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:765
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:763
#, c-format
msgid "Found no packages to install."
msgstr "No se han encontrado paquetes para instalar."
#. TRANSLATORS: tell the user we found some packages, and then list them
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:779
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:777
#, c-format
msgid "Found %i packages:"
msgstr "Se han encontrado %i paquetes:"
#. TRANSLATORS: tell the user we are searching for deps
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:795
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:793
#, c-format
msgid "Finding packages that depend on these packages"
msgstr "Buscando paquetes que dependan de esos paquetes."
#. TRANSLATORS: could not install, detailed error follows
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:808
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:806
#, c-format
msgid "Could not find dependant packages: %s"
msgstr "No se han podido encontrar paquetes dependientes: %s"
#. TRANSLATORS: tell the user we found some more packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:824
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:822
#, c-format
msgid "Found %i extra packages."
msgstr "Se han encontrado %i paquetes extra."
#. TRANSLATORS: tell the user we found some more packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:828
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:826
#, c-format
msgid "No extra packages required."
msgstr "No son necesarios paquetes extra."
#. TRANSLATORS: tell the user we found some packages (and deps), and then list them
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:837
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:835
#, c-format
msgid "Found %i packages to install:"
msgstr "Se han encontrado %i paquetes para instalar:"
#. TRANSLATORS: simulate mode is a testing mode where we quit before the action
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:850
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:848
#, c-format
msgid "Not installing packages in simulate mode"
msgstr "No se instalan paquetes en modo de simulación"
#. TRANSLATORS: we are now installing the debuginfo packages we found earlier
#. TRANSLATORS: transaction state, installing packages
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:862
-#: ../lib/packagekit-glib2/pk-console-shared.c:289
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:860
+#: ../lib/packagekit-glib2/pk-console-shared.c:287
#, c-format
msgid "Installing packages"
msgstr "Instalando paquetes"
#. TRANSLATORS: could not install, detailed error follows
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:875
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:873
#, c-format
msgid "Could not install packages: %s"
msgstr "No se han podido instalar paquetes: %s"
#. TRANSLATORS: we are now disabling all debuginfo repos we previously enabled
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:907
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:905
#, c-format
msgid "Disabling sources previously enabled"
msgstr "Deshabilitando fuentes previamente habilitadas"
#. TRANSLATORS: no debuginfo packages could be found to be installed, detailed error follows
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:919
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:917
#, c-format
msgid "Could not disable the debugging sources: %s"
msgstr "No es posible deshabilitar las fuentes para depuración:%s"
#. TRANSLATORS: we disabled all the debugging repos that we enabled before
-#: ../contrib/debuginfo-install/pk-debuginfo-install.c:934
+#: ../contrib/debuginfo-install/pk-debuginfo-install.c:932
#, c-format
msgid "Disabled %i debugging sources."
msgstr "Se han deshabilitado %i fuentes para la depuración. "
@@ -1111,604 +1140,619 @@ msgstr "Lista de paquetes de PackageKit"
msgid "PackageKit Service Pack"
msgstr "Paquete de servicio de PackageKit"
-#: ../lib/packagekit-glib2/pk-console-shared.c:65
+#: ../lib/packagekit-glib2/pk-console-shared.c:63
#, c-format
msgid "Please enter a number from 1 to %i: "
msgstr "Introduzca un número del 1 al %i: "
#. TRANSLATORS: more than one package could be found that matched, to follow is a list of possible packages
-#: ../lib/packagekit-glib2/pk-console-shared.c:191
+#: ../lib/packagekit-glib2/pk-console-shared.c:189
msgid "More than one package matches:"
msgstr "Coincide más de un paquete:"
#. TRANSLATORS: This finds out which package in the list to use
-#: ../lib/packagekit-glib2/pk-console-shared.c:202
+#: ../lib/packagekit-glib2/pk-console-shared.c:200
msgid "Please choose the correct package: "
msgstr "Elija el paquete correcto: "
#. TRANSLATORS: This is when the transaction status is not known
-#: ../lib/packagekit-glib2/pk-console-shared.c:257
+#: ../lib/packagekit-glib2/pk-console-shared.c:255
msgid "Unknown state"
msgstr "Estado desconocido"
#. TRANSLATORS: transaction state, the daemon is in the process of starting
-#: ../lib/packagekit-glib2/pk-console-shared.c:261
+#: ../lib/packagekit-glib2/pk-console-shared.c:259
msgid "Starting"
msgstr "Comenzando"
#. TRANSLATORS: transaction state, the transaction is waiting for another to complete
-#: ../lib/packagekit-glib2/pk-console-shared.c:265
+#: ../lib/packagekit-glib2/pk-console-shared.c:263
msgid "Waiting in queue"
msgstr "Esperando en cola"
#. TRANSLATORS: transaction state, just started
-#: ../lib/packagekit-glib2/pk-console-shared.c:269
+#: ../lib/packagekit-glib2/pk-console-shared.c:267
msgid "Running"
msgstr "Ejecutando"
#. TRANSLATORS: transaction state, is querying data
-#: ../lib/packagekit-glib2/pk-console-shared.c:273
+#: ../lib/packagekit-glib2/pk-console-shared.c:271
msgid "Querying"
msgstr "Consultando"
#. TRANSLATORS: transaction state, getting data from a server
-#: ../lib/packagekit-glib2/pk-console-shared.c:277
+#: ../lib/packagekit-glib2/pk-console-shared.c:275
msgid "Getting information"
msgstr "Obteniendo información"
#. TRANSLATORS: transaction state, removing packages
-#: ../lib/packagekit-glib2/pk-console-shared.c:281
+#: ../lib/packagekit-glib2/pk-console-shared.c:279
msgid "Removing packages"
msgstr "Eliminando paquetes"
#. TRANSLATORS: transaction state, downloading package files
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:285
-#: ../lib/packagekit-glib2/pk-console-shared.c:663
+#: ../lib/packagekit-glib2/pk-console-shared.c:283
+#: ../lib/packagekit-glib2/pk-console-shared.c:661
msgid "Downloading packages"
msgstr "Descargando paquetes"
#. TRANSLATORS: transaction state, refreshing internal lists
-#: ../lib/packagekit-glib2/pk-console-shared.c:293
+#: ../lib/packagekit-glib2/pk-console-shared.c:291
msgid "Refreshing software list"
msgstr "Actualizando la lista de software"
#. TRANSLATORS: transaction state, installing updates
-#: ../lib/packagekit-glib2/pk-console-shared.c:297
+#: ../lib/packagekit-glib2/pk-console-shared.c:295
msgid "Installing updates"
msgstr "Instalando actualizaciones"
#. TRANSLATORS: transaction state, removing old packages, and cleaning config files
-#: ../lib/packagekit-glib2/pk-console-shared.c:301
+#: ../lib/packagekit-glib2/pk-console-shared.c:299
msgid "Cleaning up packages"
msgstr "Limpiando paquetes"
#. TRANSLATORS: transaction state, obsoleting old packages
-#: ../lib/packagekit-glib2/pk-console-shared.c:305
+#: ../lib/packagekit-glib2/pk-console-shared.c:303
msgid "Obsoleting packages"
msgstr "Paquetes obsoletos"
#. TRANSLATORS: transaction state, checking the transaction before we do it
-#: ../lib/packagekit-glib2/pk-console-shared.c:309
+#: ../lib/packagekit-glib2/pk-console-shared.c:307
msgid "Resolving dependencies"
msgstr "Resolviendo dependencias"
#. TRANSLATORS: transaction state, checking if we have all the security keys for the operation
-#: ../lib/packagekit-glib2/pk-console-shared.c:313
+#: ../lib/packagekit-glib2/pk-console-shared.c:311
msgid "Checking signatures"
msgstr "Comprobando firmas"
#. TRANSLATORS: transaction state, when we return to a previous system state
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:317
-#: ../lib/packagekit-glib2/pk-console-shared.c:623
+#: ../lib/packagekit-glib2/pk-console-shared.c:315
+#: ../lib/packagekit-glib2/pk-console-shared.c:621
msgid "Rolling back"
msgstr "Retrocediendo"
#. TRANSLATORS: transaction state, when we're doing a test transaction
-#: ../lib/packagekit-glib2/pk-console-shared.c:321
+#: ../lib/packagekit-glib2/pk-console-shared.c:319
msgid "Testing changes"
msgstr "Comprobando modificaciones"
#. TRANSLATORS: transaction state, when we're writing to the system package database
-#: ../lib/packagekit-glib2/pk-console-shared.c:325
+#: ../lib/packagekit-glib2/pk-console-shared.c:323
msgid "Committing changes"
msgstr "Realizando modificaciones"
#. TRANSLATORS: transaction state, requesting data from a server
-#: ../lib/packagekit-glib2/pk-console-shared.c:329
+#: ../lib/packagekit-glib2/pk-console-shared.c:327
msgid "Requesting data"
msgstr "Solicitando datos"
#. TRANSLATORS: transaction state, all done!
-#: ../lib/packagekit-glib2/pk-console-shared.c:333
+#: ../lib/packagekit-glib2/pk-console-shared.c:331
msgid "Finished"
msgstr "Finalizado"
#. TRANSLATORS: transaction state, in the process of cancelling
-#: ../lib/packagekit-glib2/pk-console-shared.c:337
+#: ../lib/packagekit-glib2/pk-console-shared.c:335
msgid "Cancelling"
msgstr "Cancelando"
#. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:341
+#: ../lib/packagekit-glib2/pk-console-shared.c:339
msgid "Downloading repository information"
msgstr "Descargando información del repositorio"
#. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:345
+#: ../lib/packagekit-glib2/pk-console-shared.c:343
msgid "Downloading list of packages"
msgstr "Descargando listas de paquetes"
#. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:349
+#: ../lib/packagekit-glib2/pk-console-shared.c:347
msgid "Downloading file lists"
msgstr "Descargando listas de archivos"
#. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:353
+#: ../lib/packagekit-glib2/pk-console-shared.c:351
msgid "Downloading lists of changes"
msgstr "Descargando listas de modificaciones"
#. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:357
+#: ../lib/packagekit-glib2/pk-console-shared.c:355
msgid "Downloading groups"
msgstr "Descargando grupos"
#. TRANSLATORS: transaction state, downloading metadata
-#: ../lib/packagekit-glib2/pk-console-shared.c:361
+#: ../lib/packagekit-glib2/pk-console-shared.c:359
msgid "Downloading update information"
msgstr "Descargando información de la actualización"
#. TRANSLATORS: transaction state, repackaging delta files
-#: ../lib/packagekit-glib2/pk-console-shared.c:365
+#: ../lib/packagekit-glib2/pk-console-shared.c:363
msgid "Repackaging files"
msgstr "Volviendo a empaquetar archivos"
#. TRANSLATORS: transaction state, loading databases
-#: ../lib/packagekit-glib2/pk-console-shared.c:369
+#: ../lib/packagekit-glib2/pk-console-shared.c:367
msgid "Loading cache"
msgstr "Cargando caché"
#. TRANSLATORS: transaction state, scanning for running processes
-#: ../lib/packagekit-glib2/pk-console-shared.c:373
+#: ../lib/packagekit-glib2/pk-console-shared.c:371
msgid "Scanning applications"
msgstr "Escaneando aplicaciones"
#. TRANSLATORS: transaction state, generating a list of packages installed on the system
-#: ../lib/packagekit-glib2/pk-console-shared.c:377
+#: ../lib/packagekit-glib2/pk-console-shared.c:375
msgid "Generating package lists"
msgstr "Generando la lista de paquetes"
#. TRANSLATORS: transaction state, when we're waiting for the native tools to exit
-#: ../lib/packagekit-glib2/pk-console-shared.c:381
+#: ../lib/packagekit-glib2/pk-console-shared.c:379
msgid "Waiting for package manager lock"
msgstr "Esperando bloqueo del administrador de paquetes"
#. TRANSLATORS: transaction state, waiting for user to type in a password
-#: ../lib/packagekit-glib2/pk-console-shared.c:385
+#: ../lib/packagekit-glib2/pk-console-shared.c:383
msgid "Waiting for authentication"
msgstr "Esperando autenticación"
#. TRANSLATORS: transaction state, we are updating the list of processes
-#: ../lib/packagekit-glib2/pk-console-shared.c:389
+#: ../lib/packagekit-glib2/pk-console-shared.c:387
msgid "Updating running applications"
msgstr "Actualizando aplicaciones ejecutadas"
#. TRANSLATORS: transaction state, we are checking executable files currently in use
-#: ../lib/packagekit-glib2/pk-console-shared.c:393
+#: ../lib/packagekit-glib2/pk-console-shared.c:391
msgid "Checking applications in use"
msgstr "Comprobando aplicaciones en uso"
#. TRANSLATORS: transaction state, we are checking for libraries currently in use
-#: ../lib/packagekit-glib2/pk-console-shared.c:397
+#: ../lib/packagekit-glib2/pk-console-shared.c:395
msgid "Checking libraries in use"
msgstr "Comprobando bibliotecas en uso"
#. TRANSLATORS: transaction state, we are copying package files before or after the transaction
-#: ../lib/packagekit-glib2/pk-console-shared.c:401
+#: ../lib/packagekit-glib2/pk-console-shared.c:399
msgid "Copying files"
msgstr "Copiando archivos"
#. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:419
+#: ../lib/packagekit-glib2/pk-console-shared.c:417
msgid "Trivial"
msgstr "Trivial"
#. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:423
+#: ../lib/packagekit-glib2/pk-console-shared.c:421
msgid "Normal"
msgstr "Normal"
#. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:427
+#: ../lib/packagekit-glib2/pk-console-shared.c:425
msgid "Important"
msgstr "Importante"
#. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:431
+#: ../lib/packagekit-glib2/pk-console-shared.c:429
msgid "Security"
msgstr "Seguridad"
#. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:435
+#: ../lib/packagekit-glib2/pk-console-shared.c:433
msgid "Bug fix "
msgstr "Solución de error"
#. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:439
+#: ../lib/packagekit-glib2/pk-console-shared.c:437
msgid "Enhancement"
msgstr "Mejora"
#. TRANSLATORS: The type of update
-#: ../lib/packagekit-glib2/pk-console-shared.c:443
+#: ../lib/packagekit-glib2/pk-console-shared.c:441
msgid "Blocked"
msgstr "Bloqueado"
#. TRANSLATORS: The state of a package
#. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:448
-#: ../lib/packagekit-glib2/pk-console-shared.c:521
+#: ../lib/packagekit-glib2/pk-console-shared.c:446
+#: ../lib/packagekit-glib2/pk-console-shared.c:519
msgid "Installed"
msgstr "Instalado"
#. TRANSLATORS: The state of a package, i.e. not installed
-#: ../lib/packagekit-glib2/pk-console-shared.c:453
+#: ../lib/packagekit-glib2/pk-console-shared.c:451
msgid "Available"
msgstr "Disponible"
#. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:471
+#: ../lib/packagekit-glib2/pk-console-shared.c:469
msgid "Downloading"
msgstr "Descargando"
#. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:475
+#: ../lib/packagekit-glib2/pk-console-shared.c:473
msgid "Updating"
msgstr "Actualizando"
#. TRANSLATORS: The action of the package, in present tense
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:479
-#: ../lib/packagekit-glib2/pk-console-shared.c:599
+#: ../lib/packagekit-glib2/pk-console-shared.c:477
+#: ../lib/packagekit-glib2/pk-console-shared.c:597
msgid "Installing"
msgstr "Instalando"
#. TRANSLATORS: The action of the package, in present tense
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:483
-#: ../lib/packagekit-glib2/pk-console-shared.c:595
+#: ../lib/packagekit-glib2/pk-console-shared.c:481
+#: ../lib/packagekit-glib2/pk-console-shared.c:593
msgid "Removing"
msgstr "Eliminando"
#. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:487
+#: ../lib/packagekit-glib2/pk-console-shared.c:485
msgid "Cleaning up"
msgstr "Limpiando"
#. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:491
+#: ../lib/packagekit-glib2/pk-console-shared.c:489
msgid "Obsoleting"
msgstr "Obsoleto"
#. TRANSLATORS: The action of the package, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:495
+#: ../lib/packagekit-glib2/pk-console-shared.c:493
msgid "Reinstalling"
msgstr "Reinstalando"
#. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:513
+#: ../lib/packagekit-glib2/pk-console-shared.c:511
msgid "Downloaded"
msgstr "Descargado"
#. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:525
+#: ../lib/packagekit-glib2/pk-console-shared.c:523
msgid "Removed"
msgstr "Eliminados"
#. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:529
+#: ../lib/packagekit-glib2/pk-console-shared.c:527
msgid "Cleaned up"
msgstr "Limpios"
#. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:533
+#: ../lib/packagekit-glib2/pk-console-shared.c:531
msgid "Obsoleted"
msgstr "Obsoletos"
#. TRANSLATORS: The action of the package, in past tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:537
+#: ../lib/packagekit-glib2/pk-console-shared.c:535
msgid "Reinstalled"
msgstr "Reinstalados"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:555
+#: ../lib/packagekit-glib2/pk-console-shared.c:553
msgid "Unknown role type"
msgstr "Tipo de función desconocido"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:559
+#: ../lib/packagekit-glib2/pk-console-shared.c:557
msgid "Getting dependencies"
msgstr "Obteniendo dependencias"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:563
+#: ../lib/packagekit-glib2/pk-console-shared.c:561
msgid "Getting update details"
msgstr "Obteniendo detalles de la actualización"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:567
+#: ../lib/packagekit-glib2/pk-console-shared.c:565
msgid "Getting details"
msgstr "Obteniendo detalles"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:571
+#: ../lib/packagekit-glib2/pk-console-shared.c:569
msgid "Getting requires"
msgstr "Obteniendo lo que requiere"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:575
+#: ../lib/packagekit-glib2/pk-console-shared.c:573
msgid "Getting updates"
msgstr "Obteniendo actualizaciones"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:579
+#: ../lib/packagekit-glib2/pk-console-shared.c:577
msgid "Searching by details"
msgstr "Buscando por detalles"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:583
+#: ../lib/packagekit-glib2/pk-console-shared.c:581
msgid "Searching by file"
msgstr "Buscando por archivos"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:587
+#: ../lib/packagekit-glib2/pk-console-shared.c:585
msgid "Searching groups"
msgstr "Buscando grupos"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:591
+#: ../lib/packagekit-glib2/pk-console-shared.c:589
msgid "Searching by name"
msgstr "Buscando por nombre"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:603
+#: ../lib/packagekit-glib2/pk-console-shared.c:601
msgid "Installing files"
msgstr "Instalando archivos"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:607
+#: ../lib/packagekit-glib2/pk-console-shared.c:605
msgid "Refreshing cache"
msgstr "Actualizando el caché"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:611
+#: ../lib/packagekit-glib2/pk-console-shared.c:609
msgid "Updating packages"
msgstr "Actualizando paquetes"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:615
+#: ../lib/packagekit-glib2/pk-console-shared.c:613
msgid "Updating system"
msgstr "Actualizando el sistema"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:619
+#: ../lib/packagekit-glib2/pk-console-shared.c:617
msgid "Canceling"
msgstr "Cancelando"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:627
+#: ../lib/packagekit-glib2/pk-console-shared.c:625
msgid "Getting repositories"
msgstr "Obteniendo repositorios"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:631
+#: ../lib/packagekit-glib2/pk-console-shared.c:629
msgid "Enabling repository"
msgstr "Habilitando repositorio"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:635
+#: ../lib/packagekit-glib2/pk-console-shared.c:633
msgid "Setting data"
msgstr "Definiendo los datos"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:639
+#: ../lib/packagekit-glib2/pk-console-shared.c:637
msgid "Resolving"
msgstr "Resolviendo"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:643
+#: ../lib/packagekit-glib2/pk-console-shared.c:641
msgid "Getting file list"
msgstr "Obteniendo lista de archivos"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:647
+#: ../lib/packagekit-glib2/pk-console-shared.c:645
msgid "Getting provides"
msgstr "Obteniendo lo que provee"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:651
+#: ../lib/packagekit-glib2/pk-console-shared.c:649
msgid "Installing signature"
msgstr "Instalando firma"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:655
+#: ../lib/packagekit-glib2/pk-console-shared.c:653
msgid "Getting packages"
msgstr "Obteniendo paquetes"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:659
+#: ../lib/packagekit-glib2/pk-console-shared.c:657
msgid "Accepting EULA"
-msgstr "Aceptando el Acuerdo de licencia de usuario final (EULA, por las iniciales en inglés de End User License Agreement)"
+msgstr ""
+"Aceptando el Acuerdo de licencia de usuario final (EULA, por las iniciales "
+"en inglés de End User License Agreement)"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:667
+#: ../lib/packagekit-glib2/pk-console-shared.c:665
msgid "Getting upgrades"
msgstr "Obteniendo actualizaciones"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:671
+#: ../lib/packagekit-glib2/pk-console-shared.c:669
msgid "Getting categories"
msgstr "Obteniendo categorÃas"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:675
+#: ../lib/packagekit-glib2/pk-console-shared.c:673
msgid "Getting transactions"
msgstr "Obteniendo transacciones"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:679
-#: ../lib/packagekit-glib2/pk-console-shared.c:683
+#: ../lib/packagekit-glib2/pk-console-shared.c:677
+#: ../lib/packagekit-glib2/pk-console-shared.c:681
msgid "Simulating install"
msgstr "Simulando la instalación"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:687
+#: ../lib/packagekit-glib2/pk-console-shared.c:685
msgid "Simulating remove"
msgstr "Simulando eliminación"
#. TRANSLATORS: The role of the transaction, in present tense
-#: ../lib/packagekit-glib2/pk-console-shared.c:691
+#: ../lib/packagekit-glib2/pk-console-shared.c:689
msgid "Simulating update"
msgstr "Simulando la actualización"
+#. TRANSLATORS: turn on all debugging
+#: ../lib/packagekit-glib2/pk-debug.c:133
+msgid "Show debugging information for all files"
+msgstr "Mostrar información de depuración para todos los archivos"
+
+#: ../lib/packagekit-glib2/pk-debug.c:201
+msgid "Debugging Options"
+msgstr "Opciones de depuración"
+
+#: ../lib/packagekit-glib2/pk-debug.c:201
+msgid "Show debugging options"
+msgstr "Mostrar información extra de depuración"
+
#. TRANSLATORS: ask the user if they are comfortable installing insecure packages
-#: ../lib/packagekit-glib2/pk-task-text.c:69
+#: ../lib/packagekit-glib2/pk-task-text.c:67
msgid "Do you want to allow installing of unsigned software?"
msgstr "¿Desea permitir la instalación de software que no esté identificado?"
#. TRANSLATORS: tell the user we've not done anything
-#: ../lib/packagekit-glib2/pk-task-text.c:74
+#: ../lib/packagekit-glib2/pk-task-text.c:72
msgid "The unsigned software will not be installed."
msgstr "El software no identificado no será instalado."
#. TRANSLATORS: the package repository is signed by a key that is not recognised
-#: ../lib/packagekit-glib2/pk-task-text.c:123
+#: ../lib/packagekit-glib2/pk-task-text.c:121
msgid "Software source signature required"
msgstr "Se necesita la firma de la fuente del software"
#. TRANSLATORS: the package repository name
-#: ../lib/packagekit-glib2/pk-task-text.c:129
+#: ../lib/packagekit-glib2/pk-task-text.c:127
msgid "Software source name"
msgstr "Nombre de la fuente del software"
#. TRANSLATORS: the key URL
-#: ../lib/packagekit-glib2/pk-task-text.c:132
+#: ../lib/packagekit-glib2/pk-task-text.c:130
msgid "Key URL"
msgstr "URL de la clave"
#. TRANSLATORS: the username of the key
-#: ../lib/packagekit-glib2/pk-task-text.c:135
+#: ../lib/packagekit-glib2/pk-task-text.c:133
msgid "Key user"
msgstr "Usuario de la clave"
#. TRANSLATORS: the key ID, usually a few hex digits
-#: ../lib/packagekit-glib2/pk-task-text.c:138
+#: ../lib/packagekit-glib2/pk-task-text.c:136
msgid "Key ID"
msgstr "ID de la clave"
#. TRANSLATORS: the key fingerprint, again, yet more hex
-#: ../lib/packagekit-glib2/pk-task-text.c:141
+#: ../lib/packagekit-glib2/pk-task-text.c:139
msgid "Key fingerprint"
msgstr "Huella digital de la clave"
#. TRANSLATORS: the timestamp (a bit like a machine readable time)
-#: ../lib/packagekit-glib2/pk-task-text.c:144
+#: ../lib/packagekit-glib2/pk-task-text.c:142
msgid "Key Timestamp"
msgstr "Fecha y hora de la clave"
#. TRANSLATORS: ask the user if they want to import
-#: ../lib/packagekit-glib2/pk-task-text.c:157
+#: ../lib/packagekit-glib2/pk-task-text.c:155
msgid "Do you accept this signature?"
msgstr "¿Acepta esta firma?"
#. TRANSLATORS: tell the user we've not done anything
-#: ../lib/packagekit-glib2/pk-task-text.c:162
+#: ../lib/packagekit-glib2/pk-task-text.c:160
msgid "The signature was not accepted."
msgstr "No se aceptó la firma."
#. TRANSLATORS: this is another name for a software licence that has to be read before installing
-#: ../lib/packagekit-glib2/pk-task-text.c:205
+#: ../lib/packagekit-glib2/pk-task-text.c:203
msgid "End user licence agreement required"
msgstr "Se necesita un acuerdo de licencia de usuario final"
#. TRANSLATORS: the EULA text itself (long and boring)
-#: ../lib/packagekit-glib2/pk-task-text.c:214
+#: ../lib/packagekit-glib2/pk-task-text.c:212
msgid "Agreement"
msgstr "Acuerdo"
#. TRANSLATORS: ask the user if they've read and accepted the EULA
-#: ../lib/packagekit-glib2/pk-task-text.c:223
+#: ../lib/packagekit-glib2/pk-task-text.c:221
msgid "Do you accept this agreement?"
msgstr "¿Acepta este acuerdo?"
#. TRANSLATORS: tell the user we've not done anything
-#: ../lib/packagekit-glib2/pk-task-text.c:228
+#: ../lib/packagekit-glib2/pk-task-text.c:226
msgid "The agreement was not accepted."
msgstr "El acuerdo no fue aceptado."
#. TRANSLATORS: the user needs to change media inserted into the computer
-#: ../lib/packagekit-glib2/pk-task-text.c:267
+#: ../lib/packagekit-glib2/pk-task-text.c:265
msgid "Media change required"
msgstr "Es necesario cambiar el medio"
#. TRANSLATORS: the type, e.g. DVD, CD, etc
-#: ../lib/packagekit-glib2/pk-task-text.c:270
+#: ../lib/packagekit-glib2/pk-task-text.c:268
msgid "Media type"
msgstr "Tipo de medio"
#. TRANSLATORS: the media label, usually like 'disk-1of3'
-#: ../lib/packagekit-glib2/pk-task-text.c:273
+#: ../lib/packagekit-glib2/pk-task-text.c:271
msgid "Media label"
msgstr "Etiqueta del medio"
#. TRANSLATORS: the media description, usually like 'Fedora 12 disk 5'
-#: ../lib/packagekit-glib2/pk-task-text.c:276
+#: ../lib/packagekit-glib2/pk-task-text.c:274
msgid "Text"
msgstr "Texto"
#. TRANSLATORS: ask the user to insert the media
-#: ../lib/packagekit-glib2/pk-task-text.c:282
+#: ../lib/packagekit-glib2/pk-task-text.c:280
msgid "Please insert the correct media"
msgstr "Por favor, inserte el medio correcto "
#. TRANSLATORS: tell the user we've not done anything as they are lazy
-#: ../lib/packagekit-glib2/pk-task-text.c:287
+#: ../lib/packagekit-glib2/pk-task-text.c:285
msgid "The correct media was not inserted."
msgstr "El medio correcto no fue insertado."
#. TRANSLATORS: When processing, we might have to remove other dependencies
-#: ../lib/packagekit-glib2/pk-task-text.c:302
+#: ../lib/packagekit-glib2/pk-task-text.c:300
msgid "The following packages have to be removed:"
msgstr "Los siguientes paquetes deben ser eliminados:"
#. TRANSLATORS: When processing, we might have to install other dependencies
-#: ../lib/packagekit-glib2/pk-task-text.c:307
+#: ../lib/packagekit-glib2/pk-task-text.c:305
msgid "The following packages have to be installed:"
msgstr "Los siguientes paquetes tienen que ser instalados:"
#. TRANSLATORS: When processing, we might have to update other dependencies
-#: ../lib/packagekit-glib2/pk-task-text.c:312
+#: ../lib/packagekit-glib2/pk-task-text.c:310
msgid "The following packages have to be updated:"
msgstr "Los siguientes paquetes tienen que ser actualizados:"
#. TRANSLATORS: When processing, we might have to reinstall other dependencies
-#: ../lib/packagekit-glib2/pk-task-text.c:317
+#: ../lib/packagekit-glib2/pk-task-text.c:315
msgid "The following packages have to be reinstalled:"
msgstr "Los siguientes paquetes tienen que ser reinstalados:"
#. TRANSLATORS: When processing, we might have to downgrade other dependencies
-#: ../lib/packagekit-glib2/pk-task-text.c:322
+#: ../lib/packagekit-glib2/pk-task-text.c:320
msgid "The following packages have to be downgraded:"
msgstr "Los siguientes paquetes tienen que ser desactualizados:"
#. TRANSLATORS: ask the user if the proposed changes are okay
-#: ../lib/packagekit-glib2/pk-task-text.c:382
+#: ../lib/packagekit-glib2/pk-task-text.c:380
msgid "Proceed with changes?"
msgstr "¿Continuar con las modificaciones?"
#. TRANSLATORS: tell the user we didn't do anything
-#: ../lib/packagekit-glib2/pk-task-text.c:387
+#: ../lib/packagekit-glib2/pk-task-text.c:385
msgid "The transaction did not proceed."
msgstr "La transacción no pudo realizarse."
@@ -1727,20 +1771,30 @@ msgid "Authentication is required to accept a EULA"
msgstr "Es necesario autenticarse para aceptar un EULA"
#: ../policy/org.freedesktop.packagekit.policy.in.h:9
-msgid "Authentication is required to cancel a task that was not started by yourself"
-msgstr "Es necesario autenticarse para cancelar una tarea que usted no ha iniciado"
+msgid ""
+"Authentication is required to cancel a task that was not started by yourself"
+msgstr ""
+"Es necesario autenticarse para cancelar una tarea que usted no ha iniciado"
#: ../policy/org.freedesktop.packagekit.policy.in.h:10
msgid "Authentication is required to change software source parameters"
-msgstr "Es necesario autenticarse para modificar parámetros de una fuente de software"
+msgstr ""
+"Es necesario autenticarse para modificar parámetros de una fuente de software"
#: ../policy/org.freedesktop.packagekit.policy.in.h:11
-msgid "Authentication is required to change the location used to decompress packages"
-msgstr "Es necesario autenticarse para modificar la ubicación utilizada para descomprimir paquetes"
+msgid ""
+"Authentication is required to change the location used to decompress packages"
+msgstr ""
+"Es necesario autenticarse para modificar la ubicación utilizada para "
+"descomprimir paquetes"
#: ../policy/org.freedesktop.packagekit.policy.in.h:12
-msgid "Authentication is required to consider a key used for signing packages as trusted"
-msgstr "Es necesario autenticarse para considerar confiable a una clave utilizada para identificar paquetes"
+msgid ""
+"Authentication is required to consider a key used for signing packages as "
+"trusted"
+msgstr ""
+"Es necesario autenticarse para considerar confiable a una clave utilizada "
+"para identificar paquetes"
#: ../policy/org.freedesktop.packagekit.policy.in.h:13
msgid "Authentication is required to install a signed package"
@@ -1756,7 +1810,9 @@ msgstr "Es necesario autenticarse para actualizar las fuentes del sistema"
#: ../policy/org.freedesktop.packagekit.policy.in.h:16
msgid "Authentication is required to reload the device with a new driver"
-msgstr "Es necesario autenticarse para recargar el dispositivo con un controlador nuevo"
+msgstr ""
+"Es necesario autenticarse para recargar el dispositivo con un controlador "
+"nuevo"
#: ../policy/org.freedesktop.packagekit.policy.in.h:17
msgid "Authentication is required to remove packages"
@@ -1767,8 +1823,12 @@ msgid "Authentication is required to rollback a transaction"
msgstr "Es necesario autenticarse para deshacer una transacción"
#: ../policy/org.freedesktop.packagekit.policy.in.h:19
-msgid "Authentication is required to set the network proxy used for downloading packages"
-msgstr "Es necesario autenticarse para modificar el proxy de red utilizado para descargar paquetes"
+msgid ""
+"Authentication is required to set the network proxy used for downloading "
+"packages"
+msgstr ""
+"Es necesario autenticarse para modificar el proxy de red utilizado para "
+"descargar paquetes"
#: ../policy/org.freedesktop.packagekit.policy.in.h:20
msgid "Authentication is required to update packages"
@@ -1905,12 +1965,17 @@ msgstr "Esto puede suceder por dos razones:"
#. TRANSLATORS: only allowed to be owned by root
#: ../src/pk-main.c:91
msgid "The correct user is not launching the executable (usually root)"
-msgstr "El usuario correcto no esta iniciando el ejecutable (generalmente root)"
+msgstr ""
+"El usuario correcto no esta iniciando el ejecutable (generalmente root)"
#. TRANSLATORS: or we are installed in a prefix
#: ../src/pk-main.c:93
-msgid "The org.freedesktop.PackageKit.conf file is not installed in the system directory:"
-msgstr "El archivo org.freedesktop.PackageKit.conf no está instalado en el directorio del sistema:"
+msgid ""
+"The org.freedesktop.PackageKit.conf file is not installed in the system "
+"directory:"
+msgstr ""
+"El archivo org.freedesktop.PackageKit.conf no está instalado en el "
+"directorio del sistema:"
#. TRANSLATORS: a backend is the system package tool, e.g. yum, apt
#: ../src/pk-main.c:200
@@ -1953,35 +2018,41 @@ msgid "Cannot connect to the system bus"
msgstr "No se pudo conectar con el bus del sistema"
#. TRANSLATORS: cannot register on system bus, unknown reason -- geeky error follows
-#: ../src/pk-main.c:318
+#: ../src/pk-main.c:316
msgid "Error trying to start:"
msgstr "Error intentando iniciar:"
#: ../src/pk-polkit-action-lookup.c:150
msgid "To install debugging packages, extra sources need to be enabled"
-msgstr "Para poder instalar paquetes de depuración, es necesario habilitar nuevas fuentes"
+msgstr ""
+"Para poder instalar paquetes de depuración, es necesario habilitar nuevas "
+"fuentes"
#. TRANSLATORS: is not GPG signed
-#: ../src/pk-polkit-action-lookup.c:171
-#: ../src/pk-polkit-action-lookup.c:190
+#: ../src/pk-polkit-action-lookup.c:171 ../src/pk-polkit-action-lookup.c:190
msgid "The software is not from a trusted source."
msgstr "El software no proviene de una fuente confiable."
#: ../src/pk-polkit-action-lookup.c:176
msgid "Do not update this package unless you are sure it is safe to do so."
-msgstr "No actualice este paquete a menos que sepa con certeza que es seguro hacerlo."
+msgstr ""
+"No actualice este paquete a menos que sepa con certeza que es seguro hacerlo."
#: ../src/pk-polkit-action-lookup.c:177
msgid "Do not update these packages unless you are sure it is safe to do so."
-msgstr "No actualice estos paquetes a menos que sepa con certeza que es seguro hacerlo."
+msgstr ""
+"No actualice estos paquetes a menos que sepa con certeza que es seguro "
+"hacerlo."
#: ../src/pk-polkit-action-lookup.c:195
msgid "Do not install this package unless you are sure it is safe to do so."
-msgstr "No instale este paquete a menos que sepa con certeza que es seguro hacerlo."
+msgstr ""
+"No instale este paquete a menos que sepa con certeza que es seguro hacerlo."
#: ../src/pk-polkit-action-lookup.c:196
msgid "Do not install these packages unless you are sure it is safe to do so."
-msgstr "No instale estos paquetes a menos que sepa con certeza que es seguro hacerlo."
+msgstr ""
+"No instale estos paquetes a menos que sepa con certeza que es seguro hacerlo."
#. TRANSLATORS: too many packages to list each one
#: ../src/pk-polkit-action-lookup.c:273
@@ -1991,35 +2062,16 @@ msgstr "Varios paquetes"
#. TRANSLATORS: if the transaction is forced to install only trusted packages
#: ../src/pk-polkit-action-lookup.c:339
msgid "Only trusted"
-msgstr "Solo confiable"
-
-#. TRANSLATORS: turn on all debugging
-#: ../src/egg-debug.c:388
-msgid "Show debugging information for all files"
-msgstr "Mostrar información de depuración para todos los archivos"
-
-#. TRANSLATORS: a list of modules to debug
-#: ../src/egg-debug.c:458
-msgid "Debug these specific modules"
-msgstr "Depurar estos módulos especÃficos"
+msgstr "Sólo confiable"
-#. TRANSLATORS: a list of functions to debug
-#: ../src/egg-debug.c:461
-msgid "Debug these specific functions"
-msgstr "Depurar estas funciones especÃficas"
+#~ msgid "Debug these specific modules"
+#~ msgstr "Depurar estos módulos especÃficos"
-#. TRANSLATORS: save to a log
-#: ../src/egg-debug.c:464
-msgid "Log debugging data to a file"
-msgstr "Registrar en un archivo los datos de la depuración "
+#~ msgid "Debug these specific functions"
+#~ msgstr "Depurar estas funciones especÃficas"
-#: ../src/egg-debug.c:468
-msgid "Debugging Options"
-msgstr "Opciones de depuración"
-
-#: ../src/egg-debug.c:468
-msgid "Show debugging options"
-msgstr "Mostrar información extra de depuración"
+#~ msgid "Log debugging data to a file"
+#~ msgstr "Registrar en un archivo los datos de la depuración "
#~ msgid "Malicious software can damage your computer or cause other harm."
#~ msgstr ""
@@ -2232,9 +2284,6 @@ msgstr "Mostrar información extra de depuración"
#~ msgid "Could not find package to remove"
#~ msgstr "No se pudo encontrar el paquete a eliminar"
-#~ msgid "Could not find package to update"
-#~ msgstr "No se pudo encontrar el paquete a actualizar"
-
#~ msgid "Could not find what packages require"
#~ msgstr "No se pudo encontrar cuales paquetes requiere este paquete"
commit 73d0c2ce5758bc16ee1672b97d0017e9916e5613
Author: Richard Hughes <richard at hughsie.com>
Date: Mon Nov 1 16:32:35 2010 +0000
trivial: post release version bump
diff --git a/RELEASE b/RELEASE
index cea3120..6b50e2c 100644
--- a/RELEASE
+++ b/RELEASE
@@ -2,10 +2,10 @@ PackageKit Release Notes
1. Write NEWS entries for PackageKit in the same format as usual.
-git shortlog PACKAGEKIT_0_6_9.. | grep -i -v trivial | grep -v Merge > NEWS.new
+git shortlog PACKAGEKIT_0_6_10.. | grep -i -v trivial | grep -v Merge > NEWS.new
--------------------------------------------------------------------------------
-Version 0.6.10
+Version 0.6.11
~~~~~~~~~~~~~~
Released: 2010-xx-xx
@@ -28,8 +28,8 @@ Bugfixes:
4. Commit changes in PackageKit git:
-git commit -a -m "Release version 0.6.10"
-git tag -s -f -m "Release 0.6.10" PACKAGEKIT_0_6_10
+git commit -a -m "Release version 0.6.11"
+git tag -s -f -m "Release 0.6.11" PACKAGEKIT_0_6_11
<gpg password>
git push --tags
git push
@@ -54,7 +54,7 @@ git push
10. Send an email to packagekit at lists.freedesktop.org
=================================================
-Subject: PackageKit 0.6.10 released!
+Subject: PackageKit 0.6.11 released!
Tarballs available here: http://www.packagekit.org/releases/
diff --git a/configure.ac b/configure.ac
index 51cae63..9856af4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3,7 +3,7 @@ AC_PREREQ(2.63)
m4_define([pk_major_version], [0])
m4_define([pk_minor_version], [6])
-m4_define([pk_micro_version], [10])
+m4_define([pk_micro_version], [11])
m4_define([pk_version],
[pk_major_version.pk_minor_version.pk_micro_version])
More information about the PackageKit-commit
mailing list