[PackageKit-commit] packagekit: Branch 'master' - 27 commits
Richard Hughes
hughsient at kemper.freedesktop.org
Sun Jan 4 03:41:08 PST 2009
backends/apt/Packages.test | 71 -----
backends/apt/aptDBUSBackend.py | 4
backends/apt/data/Packages | 71 +++++
backends/apt/data/status | 38 ++
backends/apt/data/xterm.list | 49 +++
backends/apt/status.test | 38 --
backends/apt/test.sh | 2
backends/apt/tests.py | 6
backends/apt/xterm.list.test | 49 ---
backends/poldek/pk-backend-poldek.c | 358 +++++++++++++++++++-------
backends/yum/yumBackend.py | 3
client/pk-console.c | 5
configure.ac | 1
contrib/ruck/src/rucktransactcmds.py | 9
docs/html/Makefile.am | 2
docs/html/img/Makefile.am | 1
docs/html/img/gpk-markdown.png |binary
docs/html/img/pk-command-not-found.png |binary
docs/html/pk-faq.html | 14 +
docs/html/pk-screenshots.html | 9
docs/html/upload.sh | 1
docs/html/videos/Makefile.am | 15 +
docs/html/videos/pk-application-not-found.ogv |binary
docs/html/videos/pk-command-not-found.ogv |binary
docs/html/videos/pk-font-no-found.ogv |binary
lib/packagekit-glib/egg-test.c | 7
lib/packagekit-glib/egg-test.h | 2
lib/packagekit-glib/pk-service-pack.c | 2
lib/packagekit-qt/src/client.cpp | 19 +
lib/packagekit-qt/src/client.h | 9
lib/packagekit-qt/src/daemonproxy.h | 2
m4/.gitignore | 2
src/pk-backend-spawn.c | 36 +-
src/pk-network-nm-dummy.c | 2
34 files changed, 532 insertions(+), 295 deletions(-)
New commits:
commit d2c403bdae73652f7ebbe555bc017674417b018a
Merge: 2006e92... 5b3625b...
Author: Marcin Banasiak <megabajt at pld-linux.org>
Date: Fri Jan 2 20:09:17 2009 +0100
Merge branch 'master' of git+ssh://megabajt@git.packagekit.org/srv/git/PackageKit
commit 2006e92ef60f1f84b3b7f8396728b2a3830fee2d
Author: Marcin Banasiak <megabajt at pld-linux.org>
Date: Fri Jan 2 20:07:32 2009 +0100
poldek: move GetPackages to its own function
diff --git a/backends/poldek/pk-backend-poldek.c b/backends/poldek/pk-backend-poldek.c
index e6c4b77..be5b723 100644
--- a/backends/poldek/pk-backend-poldek.c
+++ b/backends/poldek/pk-backend-poldek.c
@@ -681,6 +681,41 @@ pkg_cmp_name_evr_rev_recno (const struct pkg *p1, const struct pkg *p2) {
return rc;
}
+/**
+ * do_post_search_process:
+ *
+ * Merges installed, available and removes duplicates.
+ *
+ **/
+static tn_array *
+do_post_search_process (tn_array *installed, tn_array *available)
+{
+ tn_array *packages = NULL;
+ guint i;
+
+ if (available != NULL) {
+ packages = n_ref (available);
+
+ if (installed != NULL) {
+ for (i = 0; i < n_array_size (installed); i++) {
+ struct pkg *pkg = n_array_nth (installed, i);
+
+ /* check for duplicates */
+ if (poldek_pkg_in_array (pkg, packages, (tn_fn_cmp)pkg_cmp_name_evr) == FALSE)
+ n_array_push (packages, pkg_link (pkg));
+
+ }
+
+ n_array_sort_ex (packages, (tn_fn_cmp)pkg_cmp_name_evr_rev_recno);
+ }
+
+ } else if (installed != NULL) {
+ packages = n_ref (installed);
+ }
+
+ return packages;
+}
+
static gboolean
pkg_is_installed (struct pkg *pkg)
{
@@ -989,6 +1024,34 @@ poldek_pkg_get_cves_from_pld_changelog (struct pkg *pkg, time_t since)
return cves;
}
+/**
+ * poldek_pkg_is_devel:
+ */
+static gboolean
+poldek_pkg_is_devel (struct pkg *pkg)
+{
+ if (g_str_has_suffix (pkg->name, "-devel"))
+ return TRUE;
+ if (g_str_has_suffix (pkg->name, "-debuginfo"))
+ return TRUE;
+ if (g_str_has_suffix (pkg->name, "-static"))
+ return TRUE;
+
+ return FALSE;
+}
+
+/**
+ * poldek_pkg_is_gui:
+ */
+static gboolean
+poldek_pkg_is_gui (struct pkg *pkg)
+{
+ if (g_str_has_prefix (pkg_group (pkg), "X11"))
+ return TRUE;
+
+ return FALSE;
+}
+
static void
do_newest (tn_array *pkgs)
{
@@ -1012,6 +1075,53 @@ do_newest (tn_array *pkgs)
}
/**
+ * do_filtering:
+ *
+ * Apply newest, devel and gui filters (if requested).
+ *
+ **/
+static void
+do_filtering (tn_array *packages, PkBitfield filters)
+{
+ guint i = 0;
+
+ g_return_if_fail (packages != NULL);
+
+ if (pk_bitfield_contain (filters, PK_FILTER_ENUM_NEWEST))
+ do_newest (packages);
+
+ while (i < n_array_size (packages)) {
+ struct pkg *pkg = n_array_nth (packages, i);
+
+ if (pk_bitfield_contain (filters, PK_FILTER_ENUM_DEVELOPMENT))
+ if (!poldek_pkg_is_devel (pkg)) {
+ n_array_remove_nth (packages, i);
+ continue;
+ }
+
+ if (pk_bitfield_contain (filters, PK_FILTER_ENUM_NOT_DEVELOPMENT))
+ if (poldek_pkg_is_devel (pkg)) {
+ n_array_remove_nth (packages, i);
+ continue;
+ }
+
+ if (pk_bitfield_contain (filters, PK_FILTER_ENUM_GUI))
+ if (!poldek_pkg_is_gui (pkg)) {
+ n_array_remove_nth (packages, i);
+ continue;
+ }
+
+ if (pk_bitfield_contain (filters, PK_FILTER_ENUM_NOT_GUI))
+ if (poldek_pkg_is_gui (pkg)) {
+ n_array_remove_nth (packages, i);
+ continue;
+ }
+
+ i++;
+ }
+}
+
+/**
* do_requires:
*/
static void
@@ -1325,32 +1435,6 @@ poldek_get_pkg_from_package_id (const gchar *package_id)
}
/**
- * poldek_pkg_is_devel:
- */
-static gboolean
-poldek_pkg_is_devel (struct pkg *pkg)
-{
- if (g_str_has_suffix (pkg->name, "-devel"))
- return TRUE;
- if (g_str_has_suffix (pkg->name, "-debuginfo"))
- return TRUE;
-
- return FALSE;
-}
-
-/**
- * poldek_pkg_is_gui:
- */
-static gboolean
-poldek_pkg_is_gui (struct pkg *pkg)
-{
- if (g_str_has_prefix (pkg_group (pkg), "X11"))
- return TRUE;
-
- return FALSE;
-}
-
-/**
* search_package_thread:
*/
static gboolean
@@ -1480,11 +1564,10 @@ search_package_thread (PkBackend *backend)
pkgs = installed;
}
- if (pkgs) {
- gint i;
+ do_filtering (pkgs, filters);
- if (pk_bitfield_contain (filters, PK_FILTER_ENUM_NEWEST))
- do_newest (pkgs);
+ if (pkgs) {
+ guint i;
for (i = 0; i < n_array_size (pkgs); i++) {
struct pkg *pkg = n_array_nth (pkgs, i);
@@ -1492,36 +1575,6 @@ search_package_thread (PkBackend *backend)
if (sigint_reached ())
break;
- /* check if we have to do development filtering
- * (devel or ~devel in filters) */
- if (pk_bitfield_contain (filters, PK_FILTER_ENUM_DEVELOPMENT) ||
- pk_bitfield_contain (filters, PK_FILTER_ENUM_NOT_DEVELOPMENT)) {
- if (pk_bitfield_contain (filters, PK_FILTER_ENUM_DEVELOPMENT)) {
- /* devel in filters */
- if (!poldek_pkg_is_devel (pkg))
- continue;
- } else {
- /* ~devel in filters */
- if (poldek_pkg_is_devel (pkg))
- continue;
- }
- }
-
- /* check if we have to do gui filtering
- * (gui or ~gui in filters) */
- if (pk_bitfield_contain (filters, PK_FILTER_ENUM_GUI) ||
- pk_bitfield_contain (filters, PK_FILTER_ENUM_NOT_GUI)) {
- if (pk_bitfield_contain (filters, PK_FILTER_ENUM_GUI)) {
- /* gui in filters */
- if (!poldek_pkg_is_gui (pkg))
- continue;
- } else {
- /* ~gui in filters */
- if (poldek_pkg_is_gui (pkg))
- continue;
- }
- }
-
poldek_backend_package (backend, pkg, PK_INFO_ENUM_UNKNOWN, filters);
}
n_array_free (pkgs);
@@ -2316,6 +2369,61 @@ backend_get_files (PkBackend *backend, gchar **package_ids)
/**
* backend_get_packages:
**/
+static gboolean
+backend_get_packages_thread (PkBackend *backend)
+{
+ PkBitfield filters;
+ tn_array *installed = NULL;
+ tn_array *available = NULL;
+ tn_array *packages = NULL;
+ guint i;
+
+ filters = pk_backend_get_uint (backend, "filters");
+
+ pk_backend_set_percentage (backend, 0);
+
+ pb_load_packages (backend);
+
+ if (pk_bitfield_contain (filters, PK_FILTER_ENUM_NOT_INSTALLED) == FALSE)
+ installed = poldek_get_installed_packages ();
+
+ if (pk_bitfield_contain (filters, PK_FILTER_ENUM_INSTALLED) == FALSE)
+ available = poldek_get_avail_packages (ctx);
+
+ pk_backend_set_percentage (backend, 4);
+
+ packages = do_post_search_process (installed, available);
+
+ do_filtering (packages, filters);
+
+ pk_backend_set_percentage (backend, 10);
+
+ if (packages != NULL) {
+ for (i = 0; i < n_array_size (packages); i++) {
+ struct pkg *pkg = n_array_nth (packages, i);
+
+ if (sigint_reached ())
+ break;
+
+ pk_backend_set_percentage (backend, (guint)(10 + (90 * (float)(i + 1) / n_array_size (packages))));
+
+ poldek_backend_package (backend, pkg, PK_INFO_ENUM_UNKNOWN, filters);
+ }
+ }
+
+ if (sigint_reached ())
+ pk_backend_error_code (backend, PK_ERROR_ENUM_TRANSACTION_CANCELLED, "");
+ else
+ pk_backend_set_percentage (backend, 100);
+
+ n_array_cfree (&installed);
+ n_array_cfree (&available);
+ n_array_cfree (&packages);
+
+ pk_backend_finished (backend);
+ return TRUE;
+}
+
static void
backend_get_packages (PkBackend *backend, PkBitfield filters)
{
@@ -2323,8 +2431,7 @@ backend_get_packages (PkBackend *backend, PkBitfield filters)
poldek_backend_set_allow_cancel (backend, TRUE, TRUE);
pb_error_clean ();
- pk_backend_set_uint (backend, "mode", SEARCH_ENUM_NONE);
- pk_backend_thread_create (backend, search_package_thread);
+ pk_backend_thread_create (backend, backend_get_packages_thread);
}
/**
commit 5b3625b7faecb835268edb406f6623db12e3dbef
Author: Adrien BUSTANY <madcat at mymadcat.com>
Date: Fri Jan 2 19:11:22 2009 +0100
Trivial: update transactionproxy.h header
diff --git a/lib/packagekit-qt/src/daemonproxy.h b/lib/packagekit-qt/src/daemonproxy.h
index 9e85490..45287c6 100644
--- a/lib/packagekit-qt/src/daemonproxy.h
+++ b/lib/packagekit-qt/src/daemonproxy.h
@@ -1,6 +1,6 @@
/*
* This file was generated by dbusxml2cpp version 0.6
- * Command line was: dbusxml2cpp -c DaemonProxy -p daemonproxy.h /home/madcat/code/packagekit/src/org.freedesktop.PackageKit.xml org.freedesktop.PackageKit
+ * Command line was: dbusxml2cpp -c DaemonProxy -p daemonproxy.h /home/madcat/code/PackageKit/src/org.freedesktop.PackageKit.xml org.freedesktop.PackageKit
*
* dbusxml2cpp is Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
*
commit 937855155656f1d8dfdc1a5cac18fbf839a61b9f
Author: Marcin Banasiak <megabajt at pld-linux.org>
Date: Fri Jan 2 12:02:09 2009 +0100
poldek: improved SearchFile (query rpmdb for local files)
diff --git a/backends/poldek/pk-backend-poldek.c b/backends/poldek/pk-backend-poldek.c
index b4cc9ef..e6c4b77 100644
--- a/backends/poldek/pk-backend-poldek.c
+++ b/backends/poldek/pk-backend-poldek.c
@@ -1,6 +1,6 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
*
- * Copyright (C) 2008 Marcin Banasiak <megabajt at pld-linux.org>
+ * Copyright (C) 2008-2009 Marcin Banasiak <megabajt at pld-linux.org>
*
* Licensed under the GNU General Public License Version 2
*
@@ -707,6 +707,53 @@ pkg_is_installed (struct pkg *pkg)
}
/**
+ * get_pkgid_from_localpath:
+ *
+ * Query rpmdb by localpath.
+ *
+ * localpath: full path to the file on local filesystem
+ *
+ * Returns: pkgid (foo-bar-0.1.2-3.i686) that owns file at localpath or NULL.
+ **/
+static gchar *
+get_pkgid_from_localpath (const gchar *localpath)
+{
+ struct pkgdb *db = NULL;
+ struct poldek_ts *ts = NULL;
+ gchar *pkgid = NULL;
+
+ g_return_val_if_fail (localpath != NULL, NULL);
+
+ ts = poldek_ts_new (ctx, 0);
+ db = pkgdb_open (ts->pmctx, ts->rootdir, NULL, O_RDONLY, NULL);
+
+ if (db) {
+ const struct pm_dbrec *dbrec;
+ struct pkgdb_it it;
+
+ pkgdb_it_init (db, &it, PMTAG_FILE, localpath);
+
+ /* get only one package */
+ if ((dbrec = pkgdb_it_get (&it)) != NULL) {
+ gchar *name = NULL, *version = NULL, *release = NULL, *arch = NULL;
+ gint epoch;
+
+ pm_dbrec_nevr (dbrec, &name, &epoch, &version, &release, &arch, NULL);
+
+ pkgid = g_strdup_printf ("%s-%s-%s.%s", name, version, release, arch);
+ }
+
+ pkgdb_it_destroy (&it);
+ /* it calls pkgdb_close (db) */
+ pkgdb_free (db);
+ }
+
+ poldek_ts_free (ts);
+
+ return pkgid;
+}
+
+/**
* poldek_get_security_updates:
**/
static tn_array*
@@ -1311,7 +1358,9 @@ search_package_thread (PkBackend *backend)
{
PkBitfield filters;
PkProvidesEnum provides;
- gchar *search_cmd = NULL;
+ gchar *search_cmd_available = NULL;
+ gchar *search_cmd_installed = NULL;
+ tn_array *pkgs = NULL;
const gchar *search;
guint mode;
@@ -1322,12 +1371,14 @@ search_package_thread (PkBackend *backend)
/* GetPackages */
if (mode == SEARCH_ENUM_NONE) {
- search_cmd = g_strdup ("ls -q");
+ search_cmd_installed = g_strdup ("ls -q");
+ search_cmd_available = g_strdup (search_cmd_installed);
/* SearchName */
} else if (mode == SEARCH_ENUM_NAME) {
search = pk_backend_get_string (backend, "search");
- search_cmd = g_strdup_printf ("ls -q *%s*", search);
+ search_cmd_installed = g_strdup_printf ("ls -q *%s*", search);
+ search_cmd_available = g_strdup (search_cmd_installed);
/* SearchGroup */
} else if (mode == SEARCH_ENUM_GROUP) {
PkGroupEnum group;
@@ -1338,17 +1389,32 @@ search_package_thread (PkBackend *backend)
group = pk_group_enum_from_text (search);
regex = pld_group_get_regex_from_enum (group);
- search_cmd = g_strdup_printf ("search -qg --perlre %s", regex);
+ search_cmd_installed = g_strdup_printf ("search -qg --perlre %s", regex);
+ search_cmd_available = g_strdup (search_cmd_installed);
/* SearchDetails */
} else if (mode == SEARCH_ENUM_DETAILS) {
search = pk_backend_get_string (backend, "search");
- search_cmd = g_strdup_printf ("search -dsq *%s*", search);
+ search_cmd_installed = g_strdup_printf ("search -dsq *%s*", search);
+ search_cmd_available = g_strdup (search_cmd_installed);
/* SearchFile */
} else if (mode == SEARCH_ENUM_FILE) {
search = pk_backend_get_string (backend, "search");
- search_cmd = g_strdup_printf ("search -qlf *%s*", search);
+ if (*search == '/') {
+ gchar *pkgid = NULL;
+
+ /* use rpmdb to get local packages (equivalent to: rpm -qf /foo/bar) */
+ if ((pkgid = get_pkgid_from_localpath (search))) {
+ search_cmd_installed = g_strdup_printf ("ls -q %s", pkgid);
+ g_free (pkgid);
+ }
+
+ search_cmd_available = g_strdup_printf ("search -ql --perlre /^%s$/", search);
+ } else {
+ search_cmd_installed = g_strdup_printf ("search -ql --perlre /.*%s.*/", search);
+ search_cmd_available = g_strdup (search_cmd_installed);
+ }
/* WhatProvides */
} else if (mode == SEARCH_ENUM_PROVIDES) {
provides = pk_backend_get_uint (backend, "provides");
@@ -1356,11 +1422,13 @@ search_package_thread (PkBackend *backend)
search = pk_backend_get_string (backend, "search");
if (provides == PK_PROVIDES_ENUM_ANY || provides == PK_PROVIDES_ENUM_CODEC) {
- search_cmd = g_strdup_printf ("search -qp %s", search);
+ search_cmd_installed = g_strdup_printf ("search -qp %s", search);
} else if (provides == PK_PROVIDES_ENUM_MODALIAS) {
} else if (provides == PK_PROVIDES_ENUM_MIMETYPE) {
- search_cmd = g_strdup_printf ("search -qp mimetype(%s)", search);
+ search_cmd_installed = g_strdup_printf ("search -qp mimetype(%s)", search);
}
+
+ search_cmd_available = g_strdup (search_cmd_installed);
/* Resolve */
} else if (mode == SEARCH_ENUM_RESOLVE) {
gchar **package_ids;
@@ -1370,20 +1438,21 @@ search_package_thread (PkBackend *backend)
packages_str = g_strjoinv(" ", package_ids);
- search_cmd = g_strdup_printf ("ls -q %s", packages_str);
+ search_cmd_installed = g_strdup_printf ("ls -q %s", packages_str);
+ search_cmd_available = g_strdup (search_cmd_installed);
g_free (packages_str);
}
- if (search_cmd != NULL) {
- tn_array *pkgs = NULL, *installed = NULL, *available = NULL;
+ if (search_cmd_installed != NULL || search_cmd_available != NULL) {
+ tn_array *installed = NULL, *available = NULL;
- if (!pk_bitfield_contain (filters, PK_FILTER_ENUM_NOT_INSTALLED)) {
- installed = execute_packages_command ("cd /installed; %s", search_cmd);
+ if (!pk_bitfield_contain (filters, PK_FILTER_ENUM_NOT_INSTALLED) && search_cmd_installed) {
+ installed = execute_packages_command ("cd /installed; %s", search_cmd_installed);
}
- if (!pk_bitfield_contain (filters, PK_FILTER_ENUM_INSTALLED)) {
- available = execute_packages_command ("cd /all-avail; %s", search_cmd);
+ if (!pk_bitfield_contain (filters, PK_FILTER_ENUM_INSTALLED) && search_cmd_available) {
+ available = execute_packages_command ("cd /all-avail; %s", search_cmd_available);
}
if (!pk_bitfield_contain (filters, PK_FILTER_ENUM_INSTALLED) &&
@@ -1409,55 +1478,55 @@ search_package_thread (PkBackend *backend)
pkgs = available;
} else if (pk_bitfield_contain (filters, PK_FILTER_ENUM_INSTALLED) || installed)
pkgs = installed;
+ }
- if (pkgs) {
- gint i;
+ if (pkgs) {
+ gint i;
- if (pk_bitfield_contain (filters, PK_FILTER_ENUM_NEWEST))
- do_newest (pkgs);
+ if (pk_bitfield_contain (filters, PK_FILTER_ENUM_NEWEST))
+ do_newest (pkgs);
- for (i = 0; i < n_array_size (pkgs); i++) {
- struct pkg *pkg = n_array_nth (pkgs, i);
+ for (i = 0; i < n_array_size (pkgs); i++) {
+ struct pkg *pkg = n_array_nth (pkgs, i);
- if (sigint_reached ())
- break;
+ if (sigint_reached ())
+ break;
- /* check if we have to do development filtering
- * (devel or ~devel in filters) */
- if (pk_bitfield_contain (filters, PK_FILTER_ENUM_DEVELOPMENT) ||
- pk_bitfield_contain (filters, PK_FILTER_ENUM_NOT_DEVELOPMENT)) {
- if (pk_bitfield_contain (filters, PK_FILTER_ENUM_DEVELOPMENT)) {
- /* devel in filters */
- if (!poldek_pkg_is_devel (pkg))
- continue;
- } else {
- /* ~devel in filters */
- if (poldek_pkg_is_devel (pkg))
- continue;
- }
+ /* check if we have to do development filtering
+ * (devel or ~devel in filters) */
+ if (pk_bitfield_contain (filters, PK_FILTER_ENUM_DEVELOPMENT) ||
+ pk_bitfield_contain (filters, PK_FILTER_ENUM_NOT_DEVELOPMENT)) {
+ if (pk_bitfield_contain (filters, PK_FILTER_ENUM_DEVELOPMENT)) {
+ /* devel in filters */
+ if (!poldek_pkg_is_devel (pkg))
+ continue;
+ } else {
+ /* ~devel in filters */
+ if (poldek_pkg_is_devel (pkg))
+ continue;
}
+ }
- /* check if we have to do gui filtering
- * (gui or ~gui in filters) */
- if (pk_bitfield_contain (filters, PK_FILTER_ENUM_GUI) ||
- pk_bitfield_contain (filters, PK_FILTER_ENUM_NOT_GUI)) {
- if (pk_bitfield_contain (filters, PK_FILTER_ENUM_GUI)) {
- /* gui in filters */
- if (!poldek_pkg_is_gui (pkg))
- continue;
- } else {
- /* ~gui in filters */
- if (poldek_pkg_is_gui (pkg))
- continue;
- }
+ /* check if we have to do gui filtering
+ * (gui or ~gui in filters) */
+ if (pk_bitfield_contain (filters, PK_FILTER_ENUM_GUI) ||
+ pk_bitfield_contain (filters, PK_FILTER_ENUM_NOT_GUI)) {
+ if (pk_bitfield_contain (filters, PK_FILTER_ENUM_GUI)) {
+ /* gui in filters */
+ if (!poldek_pkg_is_gui (pkg))
+ continue;
+ } else {
+ /* ~gui in filters */
+ if (poldek_pkg_is_gui (pkg))
+ continue;
}
-
- poldek_backend_package (backend, pkg, PK_INFO_ENUM_UNKNOWN, filters);
}
- n_array_free (pkgs);
- } else {
- pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_FOUND, "Package not found");
+
+ poldek_backend_package (backend, pkg, PK_INFO_ENUM_UNKNOWN, filters);
}
+ n_array_free (pkgs);
+ } else {
+ pk_backend_error_code (backend, PK_ERROR_ENUM_PACKAGE_NOT_FOUND, "Package not found");
}
if (sigint_reached ()) {
@@ -1474,7 +1543,8 @@ search_package_thread (PkBackend *backend)
}
}
- g_free (search_cmd);
+ g_free (search_cmd_installed);
+ g_free (search_cmd_available);
pk_backend_finished (backend);
return TRUE;
commit 23f348972c05ba1b8f2837c61110facc2ebefd9e
Author: Richard Hughes <richard at hughsie.com>
Date: Fri Jan 2 08:03:16 2009 +0000
bugfix: allow pkcon to resolve all the command line arguments, not just the first one
diff --git a/client/pk-console.c b/client/pk-console.c
index 49d7dd7..c7e1993 100644
--- a/client/pk-console.c
+++ b/client/pk-console.c
@@ -1686,7 +1686,6 @@ main (int argc, char *argv[])
gchar *options_help;
gchar *filter = NULL;
gchar *summary;
- gchar **package_ids;
gboolean ret = FALSE;
const gchar *mode;
const gchar *value = NULL;
@@ -1920,9 +1919,7 @@ main (int argc, char *argv[])
error = g_error_new (1, 0, "%s", _("You need to specify a package name to resolve"));
goto out;
}
- package_ids = pk_package_ids_from_id (value);
- ret = pk_client_resolve (client_async, filters, package_ids, &error);
- g_strfreev (package_ids);
+ ret = pk_client_resolve (client_async, filters, argv, &error);
} else if (strcmp (mode, "repo-enable") == 0) {
if (value == NULL) {
commit 64ec3176c11092db2c81968623f687061fef4bc6
Author: Aidan Skinner <aidan at skinner.me.uk>
Date: Thu Jan 1 14:13:34 2009 +0000
ruck: fix package install command
diff --git a/contrib/ruck/src/rucktransactcmds.py b/contrib/ruck/src/rucktransactcmds.py
index dd118a1..9ac2c76 100644
--- a/contrib/ruck/src/rucktransactcmds.py
+++ b/contrib/ruck/src/rucktransactcmds.py
@@ -134,16 +134,15 @@ class InstallCmd(TransactCmd):
else:
installs, removals = self.separate_args(non_option_args)
- pkids = pk.Resolve('none', installs)
+ pkids = pk.resolve(installs)
if len(pkids) > 0:
- pk.InstallPackages(pkids)
+ pk.install_packages(pkids)
else:
rucktalk.error("No packages found")
return 1
- print "Removing"
- print removals
- pk.RemovePackages(removals)
+ if len(removals) > 0:
+ pk.remove_packages(removals)
ruckcommand.register(InstallCmd)
commit 15d267a274e4b633653bdac0462b116e190e5e2f
Merge: 2e0a1f3... 6fe4fed...
Author: Daniel Nicoletti <dantti85-pk at yahoo.com.br>
Date: Wed Dec 31 16:01:27 2008 -0200
Merge branch 'master' of git+ssh://dantti@git.packagekit.org/srv/git/PackageKit
commit 2e0a1f34039440c1150be94ee5acd88789def659
Author: Daniel Nicoletti <dantti85-pk at yahoo.com.br>
Date: Wed Dec 31 16:00:12 2008 -0200
Added search file method and search details convinience method to packagekit-qt
diff --git a/lib/packagekit-qt/src/client.cpp b/lib/packagekit-qt/src/client.cpp
index 7502b2e..010dcd3 100644
--- a/lib/packagekit-qt/src/client.cpp
+++ b/lib/packagekit-qt/src/client.cpp
@@ -500,6 +500,20 @@ Transaction* Client::rollback(Transaction* oldtrans)
return t;
}
+Transaction* Client::searchFile(const QString& search, Filters filters)
+{
+ Transaction* t = d->createNewTransaction();
+
+ t->d->p->SearchFile(Util::filtersToString(filters), search);
+
+ return t;
+}
+
+Transaction* Client::searchFile(const QString& search, Filter filter)
+{
+ return Client::searchFile(search, Filters() << filter);
+}
+
Transaction* Client::searchDetails(const QString& search, Filters filters)
{
Transaction* t = d->createNewTransaction();
@@ -509,6 +523,11 @@ Transaction* Client::searchDetails(const QString& search, Filters filters)
return t;
}
+Transaction* Client::searchDetails(const QString& search, Filter filter)
+{
+ return Client::searchDetails(search, Filters() << filter);
+}
+
Transaction* Client::searchGroup(Client::Group group, Filters filters)
{
Transaction* t = d->createNewTransaction();
diff --git a/lib/packagekit-qt/src/client.h b/lib/packagekit-qt/src/client.h
index 3bed227..6490516 100644
--- a/lib/packagekit-qt/src/client.h
+++ b/lib/packagekit-qt/src/client.h
@@ -606,12 +606,21 @@ public:
*/
Transaction* rollback(Transaction* oldtrans);
+ /**
+ * \brief Search in the packages files
+ *
+ * \p filters can be used to restrict the returned packages
+ */
+ Transaction* searchFile(const QString& search, Filters filters = Filters() << NoFilter);
+ Transaction* searchFile(const QString& search, Filter filter);
+
/**
* \brief Search in the packages details
*
* \p filters can be used to restrict the returned packages
*/
Transaction* searchDetails(const QString& search, Filters filters = Filters() << NoFilter);
+ Transaction* searchDetails(const QString& search, Filter filter);
/**
* \brief Lists all the packages in the given \p group
commit 6fe4fed6cb891c29f24afbcfbb2e996c3f91a202
Merge: 72eb993... b4893a3...
Author: Sebastian Heinlein <devel at glatzor.de>
Date: Wed Dec 31 16:29:34 2008 +0100
Merge branch 'master' of git+ssh://glatzor@git.packagekit.org/srv/git/PackageKit
commit b4893a3aada8ca526d9b912f413fa4d657223c60
Author: Richard Hughes <richard at hughsie.com>
Date: Tue Dec 30 22:49:11 2008 +0000
trivial: fix compiler warning
diff --git a/src/pk-network-nm-dummy.c b/src/pk-network-nm-dummy.c
index cf42368..3091941 100644
--- a/src/pk-network-nm-dummy.c
+++ b/src/pk-network-nm-dummy.c
@@ -42,8 +42,6 @@
#include "pk-network-nm.h"
#include "pk-marshal.h"
-static void pk_network_nm_class_init (PkNetworkNmClass *klass);
-static void pk_network_nm_init (PkNetworkNm *network_nm);
static void pk_network_nm_finalize (GObject *object);
#define PK_NETWORK_NM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PK_TYPE_NETWORK_NM, PkNetworkNmPrivate))
commit 9cd1b12fc1f3f7bcffdff1d9b4ec1b88c55ba20c
Author: Richard Hughes <richard at hughsie.com>
Date: Tue Dec 30 08:46:31 2008 +0000
trivial: egg updates
diff --git a/lib/packagekit-glib/egg-test.c b/lib/packagekit-glib/egg-test.c
index 900b916..295f4f7 100644
--- a/lib/packagekit-glib/egg-test.c
+++ b/lib/packagekit-glib/egg-test.c
@@ -158,9 +158,9 @@ egg_test_finish (EggTest *test)
guint
egg_test_elapsed (EggTest *test)
{
- gdouble time;
- time = g_timer_elapsed (test->timer, NULL);
- return (guint) (time * 1000.0f);
+ gdouble time_s;
+ time_s = g_timer_elapsed (test->timer, NULL);
+ return (guint) (time_s * 1000.0f);
}
/**
@@ -188,7 +188,6 @@ egg_test_end (EggTest *test)
g_print ("Not started test! Cannot finish!\n");
exit (1);
}
- g_print ("OK\n");
/* disable hang check */
if (test->hang_loop_id != 0) {
diff --git a/lib/packagekit-glib/egg-test.h b/lib/packagekit-glib/egg-test.h
index fc49be3..ea4b94b 100644
--- a/lib/packagekit-glib/egg-test.h
+++ b/lib/packagekit-glib/egg-test.h
@@ -33,7 +33,7 @@ void egg_test_title (EggTest *test, const gchar *format, ...);
void egg_test_title_assert (EggTest *test, const gchar *text, gboolean value);
void egg_test_assert (EggTest *test, gboolean value);
void egg_test_success (EggTest *test, const gchar *format, ...);
-void egg_test_failed (EggTest *test, const gchar *format, ...);
+void egg_test_failed (EggTest *test, const gchar *format, ...) G_GNUC_NORETURN;
EggTest *egg_test_init (void);
gint egg_test_finish (EggTest *test);
guint egg_test_elapsed (EggTest *test);
commit dc84efec0b676f028e7823ce00a01f55456dcf52
Author: Richard Hughes <richard at hughsie.com>
Date: Tue Dec 30 08:44:53 2008 +0000
trivial: fix compile with no libarchive
diff --git a/lib/packagekit-glib/pk-service-pack.c b/lib/packagekit-glib/pk-service-pack.c
index 678e9e2..7c1ce3c 100644
--- a/lib/packagekit-glib/pk-service-pack.c
+++ b/lib/packagekit-glib/pk-service-pack.c
@@ -256,7 +256,7 @@ out:
return ret;
}
#else /* HAVE_ARCHIVE_H */
-gboolean
+static gboolean
pk_service_pack_extract (const gchar *filename, const gchar *directory, GError **error)
{
*error = g_error_new (PK_SERVICE_PACK_ERROR, PK_SERVICE_PACK_ERROR_FAILED_EXTRACTION,
commit 72eb99324682c8f692896040a31387ab4c3fbda6
Merge: fd2bbe3... a352687...
Author: Sebastian Heinlein <devel at glatzor.de>
Date: Tue Dec 30 06:31:41 2008 +0100
Merge branch 'master' of git+ssh://glatzor@git.packagekit.org/srv/git/PackageKit
commit a35268796a25730108b1b738877e98cef802946c
Author: Marcin Banasiak <megabajt at pld-linux.org>
Date: Mon Dec 29 13:17:31 2008 +0100
poldek: added support for InstallGStreamerCodecs
diff --git a/backends/poldek/pk-backend-poldek.c b/backends/poldek/pk-backend-poldek.c
index cf53c5c..b4cc9ef 100644
--- a/backends/poldek/pk-backend-poldek.c
+++ b/backends/poldek/pk-backend-poldek.c
@@ -1355,10 +1355,9 @@ search_package_thread (PkBackend *backend)
search = pk_backend_get_string (backend, "search");
- if (provides == PK_PROVIDES_ENUM_ANY) {
+ if (provides == PK_PROVIDES_ENUM_ANY || provides == PK_PROVIDES_ENUM_CODEC) {
search_cmd = g_strdup_printf ("search -qp %s", search);
} else if (provides == PK_PROVIDES_ENUM_MODALIAS) {
- } else if (provides == PK_PROVIDES_ENUM_CODEC) {
} else if (provides == PK_PROVIDES_ENUM_MIMETYPE) {
search_cmd = g_strdup_printf ("search -qp mimetype(%s)", search);
}
commit 5a7cd22f02cdb945e39a65bfc6fe07b041745f6a
Author: Marcin Banasiak <megabajt at pld-linux.org>
Date: Mon Dec 29 13:13:16 2008 +0100
poldek: documentation packages have its own group
diff --git a/backends/poldek/pk-backend-poldek.c b/backends/poldek/pk-backend-poldek.c
index e9b3f88..cf53c5c 100644
--- a/backends/poldek/pk-backend-poldek.c
+++ b/backends/poldek/pk-backend-poldek.c
@@ -81,7 +81,7 @@ static PLDGroupRegex group_perlre[] = {
{PK_GROUP_ENUM_MULTIMEDIA, "/.*Multimedia\\|.*Sound/"},
{PK_GROUP_ENUM_NETWORK, "/.*Networking.*\\|/.*Mail\\|.*News\\|.*WWW/"},
{PK_GROUP_ENUM_OFFICE, "/.*Editors.*\\|.*Spreadsheets/"},
- {PK_GROUP_ENUM_OTHER, "/^Applications$\\|.*Console\\|.*Emulators\\|.*File\\|.*Printing\\|.*Terminal\\|.*Text\\|Documentation\\|^Libraries.*\\|^Themes.*\\|^X11$\\|.*Amusements\\|^X11\\/Applications$\\|^X11\\/Libraries$\\|.*Window\\ Managers.*/"},
+ {PK_GROUP_ENUM_OTHER, "/^Applications$\\|.*Console\\|.*Emulators\\|.*File\\|.*Printing\\|.*Terminal\\|.*Text\\|^Libraries.*\\|^Themes.*\\|^X11$\\|.*Amusements\\|^X11\\/Applications$\\|^X11\\/Libraries$\\|.*Window\\ Managers.*/"},
{PK_GROUP_ENUM_PROGRAMMING, "/.*Development.*/"},
{PK_GROUP_ENUM_PUBLISHING, "/.*Publishing.*/"},
{PK_GROUP_ENUM_SERVERS, "/Daemons\\|.*Servers/"},
commit 43dd34b6365586b62e283d3798e4af6622b2b1ba
Author: Richard Hughes <richard at hughsie.com>
Date: Fri Dec 26 10:36:05 2008 +0000
trivial: fix up issues with the last commit
diff --git a/backends/yum/yumBackend.py b/backends/yum/yumBackend.py
index 0fd3bfc..fbf353d 100755
--- a/backends/yum/yumBackend.py
+++ b/backends/yum/yumBackend.py
@@ -2101,7 +2101,8 @@ class PackageKitYumBackend(PackageKitBaseBackend, PackagekitPackage):
if notice:
# Update Details
desc = notice['description']
- desc = desc.replace("\t", " ")
+ if desc:
+ desc = desc.replace("\t", " ")
# Update References (Bugzilla, CVE ...)
refs = notice['references']
commit 6e955194e11db010fccb37c66531a76c92703dbe
Author: Richard Hughes <richard at hughsie.com>
Date: Fri Dec 26 09:49:33 2008 +0000
trivial: print the command size in PkBackendSpawn for use when debugging
diff --git a/src/pk-backend-spawn.c b/src/pk-backend-spawn.c
index bcd125f..f1d72c0 100644
--- a/src/pk-backend-spawn.c
+++ b/src/pk-backend-spawn.c
@@ -133,7 +133,7 @@ pk_backend_spawn_parse_stdout (PkBackendSpawn *backend_spawn, const gchar *line)
if (egg_strequal (command, "package")) {
if (size != 4) {
- egg_warning ("invalid command '%s'", command);
+ egg_warning ("invalid command'%s', size %i", command, size);
ret = FALSE;
goto out;
}
@@ -152,7 +152,7 @@ pk_backend_spawn_parse_stdout (PkBackendSpawn *backend_spawn, const gchar *line)
pk_backend_package (backend_spawn->priv->backend, info, sections[2], sections[3]);
} else if (egg_strequal (command, "details")) {
if (size != 7) {
- egg_warning ("invalid command '%s'", command);
+ egg_warning ("invalid command'%s', size %i", command, size);
ret = FALSE;
goto out;
}
@@ -173,21 +173,21 @@ pk_backend_spawn_parse_stdout (PkBackendSpawn *backend_spawn, const gchar *line)
g_free (text);
} else if (egg_strequal (command, "finished")) {
if (size != 1) {
- egg_warning ("invalid command '%s'", command);
+ egg_warning ("invalid command'%s', size %i", command, size);
ret = FALSE;
goto out;
}
pk_backend_finished (backend_spawn->priv->backend);
} else if (egg_strequal (command, "files")) {
if (size != 3) {
- egg_warning ("invalid command '%s'", command);
+ egg_warning ("invalid command'%s', size %i", command, size);
ret = FALSE;
goto out;
}
pk_backend_files (backend_spawn->priv->backend, sections[1], sections[2]);
} else if (egg_strequal (command, "repo-detail")) {
if (size != 4) {
- egg_warning ("invalid command '%s'", command);
+ egg_warning ("invalid command'%s', size %i", command, size);
ret = FALSE;
goto out;
}
@@ -202,7 +202,7 @@ pk_backend_spawn_parse_stdout (PkBackendSpawn *backend_spawn, const gchar *line)
}
} else if (egg_strequal (command, "updatedetail")) {
if (size != 13) {
- egg_warning ("invalid command '%s'", command);
+ egg_warning ("invalid command '%s', size %i", command, size);
ret = FALSE;
goto out;
}
@@ -225,7 +225,7 @@ pk_backend_spawn_parse_stdout (PkBackendSpawn *backend_spawn, const gchar *line)
g_free (text);
} else if (egg_strequal (command, "percentage")) {
if (size != 2) {
- egg_warning ("invalid command '%s'", command);
+ egg_warning ("invalid command'%s', size %i", command, size);
ret = FALSE;
goto out;
}
@@ -240,7 +240,7 @@ pk_backend_spawn_parse_stdout (PkBackendSpawn *backend_spawn, const gchar *line)
}
} else if (egg_strequal (command, "subpercentage")) {
if (size != 2) {
- egg_warning ("invalid command '%s'", command);
+ egg_warning ("invalid command'%s', size %i", command, size);
ret = FALSE;
goto out;
}
@@ -255,7 +255,7 @@ pk_backend_spawn_parse_stdout (PkBackendSpawn *backend_spawn, const gchar *line)
}
} else if (egg_strequal (command, "error")) {
if (size != 3) {
- egg_warning ("invalid command '%s'", command);
+ egg_warning ("invalid command'%s', size %i", command, size);
ret = FALSE;
goto out;
}
@@ -279,7 +279,7 @@ pk_backend_spawn_parse_stdout (PkBackendSpawn *backend_spawn, const gchar *line)
g_free (text);
} else if (egg_strequal (command, "requirerestart")) {
if (size != 3) {
- egg_warning ("invalid command '%s'", command);
+ egg_warning ("invalid command'%s', size %i", command, size);
ret = FALSE;
goto out;
}
@@ -293,7 +293,7 @@ pk_backend_spawn_parse_stdout (PkBackendSpawn *backend_spawn, const gchar *line)
pk_backend_require_restart (backend_spawn->priv->backend, restart_enum, sections[2]);
} else if (egg_strequal (command, "message")) {
if (size != 3) {
- egg_warning ("invalid command '%s'", command);
+ egg_warning ("invalid command'%s', size %i", command, size);
ret = FALSE;
goto out;
}
@@ -311,14 +311,14 @@ pk_backend_spawn_parse_stdout (PkBackendSpawn *backend_spawn, const gchar *line)
g_free (text);
} else if (egg_strequal (command, "change-transaction-data")) {
if (size != 2) {
- egg_warning ("invalid command '%s'", command);
+ egg_warning ("invalid command'%s', size %i", command, size);
ret = FALSE;
goto out;
}
pk_backend_set_transaction_data (backend_spawn->priv->backend, sections[1]);
} else if (egg_strequal (command, "status")) {
if (size != 2) {
- egg_warning ("invalid command '%s'", command);
+ egg_warning ("invalid command'%s', size %i", command, size);
ret = FALSE;
goto out;
}
@@ -332,7 +332,7 @@ pk_backend_spawn_parse_stdout (PkBackendSpawn *backend_spawn, const gchar *line)
pk_backend_set_status (backend_spawn->priv->backend, status_enum);
} else if (egg_strequal (command, "allow-cancel")) {
if (size != 2) {
- egg_warning ("invalid command '%s'", command);
+ egg_warning ("invalid command'%s', size %i", command, size);
ret = FALSE;
goto out;
}
@@ -347,7 +347,7 @@ pk_backend_spawn_parse_stdout (PkBackendSpawn *backend_spawn, const gchar *line)
}
} else if (egg_strequal (command, "no-percentage-updates")) {
if (size != 1) {
- egg_warning ("invalid command '%s'", command);
+ egg_warning ("invalid command'%s', size %i", command, size);
ret = FALSE;
goto out;
}
@@ -355,7 +355,7 @@ pk_backend_spawn_parse_stdout (PkBackendSpawn *backend_spawn, const gchar *line)
} else if (egg_strequal (command, "repo-signature-required")) {
if (size != 9) {
- egg_warning ("invalid command '%s'", command);
+ egg_warning ("invalid command'%s', size %i", command, size);
ret = FALSE;
goto out;
}
@@ -388,7 +388,7 @@ pk_backend_spawn_parse_stdout (PkBackendSpawn *backend_spawn, const gchar *line)
} else if (egg_strequal (command, "distro-upgrade")) {
if (size != 4) {
- egg_warning ("invalid command '%s'", command);
+ egg_warning ("invalid command'%s', size %i", command, size);
ret = FALSE;
goto out;
}
@@ -406,7 +406,7 @@ pk_backend_spawn_parse_stdout (PkBackendSpawn *backend_spawn, const gchar *line)
} else if (egg_strequal (command, "category")) {
if (size != 6) {
- egg_warning ("invalid command '%s'", command);
+ egg_warning ("invalid command'%s', size %i", command, size);
ret = FALSE;
goto out;
}
commit cd07a92d7496f2ef4e07559938ebaaea465c671e
Author: Richard Hughes <richard at hughsie.com>
Date: Fri Dec 26 09:48:59 2008 +0000
yum: remove all tab characters in update descriptions
diff --git a/backends/yum/yumBackend.py b/backends/yum/yumBackend.py
index ded53e0..0fd3bfc 100755
--- a/backends/yum/yumBackend.py
+++ b/backends/yum/yumBackend.py
@@ -2101,6 +2101,8 @@ class PackageKitYumBackend(PackageKitBaseBackend, PackagekitPackage):
if notice:
# Update Details
desc = notice['description']
+ desc = desc.replace("\t", " ")
+
# Update References (Bugzilla, CVE ...)
refs = notice['references']
if refs:
commit 045de9a73017e0e3fca22a9a9dede2f8e70b8704
Author: Richard Hughes <richard at hughsie.com>
Date: Wed Dec 24 18:27:52 2008 +0000
feature: upload some updated screenshots and some videos
diff --git a/configure.ac b/configure.ac
index 5949fb3..71db5d8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -637,6 +637,7 @@ man/Makefile
docs/Makefile
docs/html/Makefile
docs/html/img/Makefile
+docs/html/videos/Makefile
docs/api/Makefile
docs/api/dbus/Makefile
docs/api/version.xml
diff --git a/docs/html/Makefile.am b/docs/html/Makefile.am
index 59d2760..1c30bb0 100644
--- a/docs/html/Makefile.am
+++ b/docs/html/Makefile.am
@@ -1,4 +1,4 @@
-SUBDIRS = img
+SUBDIRS = img videos
HTML_FILES = \
index.html \
diff --git a/docs/html/img/Makefile.am b/docs/html/img/Makefile.am
index 3026ce5..d1c9486 100644
--- a/docs/html/img/Makefile.am
+++ b/docs/html/img/Makefile.am
@@ -39,6 +39,7 @@ IMAGE_FILES = \
gpk-client-codecs.png \
gpk-client-mime-type.png \
gpk-client-font.png \
+ gpk-markdown.png \
$(NULL)
EXTRA_DIST = \
diff --git a/docs/html/img/gpk-markdown.png b/docs/html/img/gpk-markdown.png
new file mode 100644
index 0000000..63ba21b
Binary files /dev/null and b/docs/html/img/gpk-markdown.png differ
diff --git a/docs/html/img/pk-command-not-found.png b/docs/html/img/pk-command-not-found.png
new file mode 100644
index 0000000..d21ac9c
Binary files /dev/null and b/docs/html/img/pk-command-not-found.png differ
diff --git a/docs/html/pk-faq.html b/docs/html/pk-faq.html
index 23d0346..1616953 100644
--- a/docs/html/pk-faq.html
+++ b/docs/html/pk-faq.html
@@ -25,6 +25,7 @@
<li><a href="#catalogs">What's a package catalog?</a></li>
<li><a href="#markup">Can I include formatting characters in package descriptions?</a></li>
<li><a href="#1-click-install">Does PackageKit support 1-Click Install?</a></li>
+<li><a href="#command-not-found">How does the command not found functionality work?</a></li>
<li><a href="#run-as-root">When run as root, gpk-application and pkcon do not work!</a></li>
<li><a href="#session-system">Why is there a session service and and a system service?</a></li>
<li><a href="#session-methods">How do I use PackageKit in my application?</a></li>
@@ -172,6 +173,19 @@ The following <i>GUI</i> programs are provided:
<li><code>gnome-power-statistics</code> - view power graphs and device history</li>
</ul>
</td></tr></table>
+<p>
+Update descriptions are also processed for markdown, for example:
+</p>
+<img src=img/gpk-markdown.png/>
+<hr>
+
+<h3><a name="command-not-found">How does the command not found functionality work?</a></h3>
+<p>
+The command not found functionality is a bash extension that allows PackageKit
+to suggest similar commands, or to offer to install packages to provide commands.
+It's probably best to click on the image and watch the video.
+</p>
+<a href="videos/pk-command-not-found.ogv"><img src=img/pk-command-not-found.png/></a>
<hr>
<h3><a name="1-click-install">Does PackageKit support 1-Click Install?</a></h3>
diff --git a/docs/html/pk-screenshots.html b/docs/html/pk-screenshots.html
index 85c4a52..2c21510 100644
--- a/docs/html/pk-screenshots.html
+++ b/docs/html/pk-screenshots.html
@@ -135,11 +135,11 @@
</td>
<td width="300">
<center><a href="img/gpk-client-font.png"><img src="img/thumbnails/gpk-client-font.png" alt=""/></a></center>
- <p class="caption">Session installer for fonts</p>
+ <p class="caption">Session installer for fonts <a href="videos/pk-font-no-found.ogv">[video]</a></p>
</td>
<td width="300">
<center><a href="img/gpk-client-mime-type.png"><img src="img/thumbnails/gpk-client-mime-type.png" alt=""/></a></center>
- <p class="caption">Session installer for MIME types</p>
+ <p class="caption">Session installer for applications <a href="videos/pk-application-not-found.ogv">[video]</a></p>
</td>
</tr>
<tr>
@@ -151,7 +151,10 @@
<center><a href="img/gpk-auto-update.png"><img src="img/thumbnails/gpk-auto-update.png" alt=""/></a></center>
<p class="caption">Auto update install dialog</p>
</td>
-<td> </td>
+<td width="300">
+ <center><a href="img/gpk-markdown.png"><img src="img/thumbnails/gpk-markdown.png" alt=""/></a></center>
+ <p class="caption"><a href="http://en.wikipedia.org/wiki/Markdown">Markdown</a> syntax in the update viewer</p>
+</td>
</tr>
</table>
</center>
diff --git a/docs/html/upload.sh b/docs/html/upload.sh
index 3e900ab..a217415 100755
--- a/docs/html/upload.sh
+++ b/docs/html/upload.sh
@@ -14,6 +14,7 @@ LOCATION="/srv/www/html"
scp *.html $USER@$SERVER:/$LOCATION/
scp img/*.png $USER@$SERVER:/$LOCATION/img/
scp img/thumbnails/*.png $USER@$SERVER:/$LOCATION/img/thumbnails/
+scp videos/*.ogv $USER@$SERVER:/$LOCATION/videos/
scp *.css $USER@$SERVER:/$LOCATION/
scp ../api/html/*.html $USER@$SERVER:/$LOCATION/gtk-doc/
scp ../api/html/*.png $USER@$SERVER:/$LOCATION/gtk-doc/
diff --git a/docs/html/videos/Makefile.am b/docs/html/videos/Makefile.am
new file mode 100644
index 0000000..94738d2
--- /dev/null
+++ b/docs/html/videos/Makefile.am
@@ -0,0 +1,15 @@
+NULL =
+
+VIDEO_FILES = \
+ pk-application-not-found.ogv \
+ pk-command-not-found.ogv \
+ pk-font-no-found.ogv \
+ $(NULL)
+
+EXTRA_DIST = \
+ $(VIDEO_FILES) \
+ $(NULL)
+
+clean-local:
+ rm -f *~
+
diff --git a/docs/html/videos/pk-application-not-found.ogv b/docs/html/videos/pk-application-not-found.ogv
new file mode 100644
index 0000000..1a045a9
Binary files /dev/null and b/docs/html/videos/pk-application-not-found.ogv differ
diff --git a/docs/html/videos/pk-command-not-found.ogv b/docs/html/videos/pk-command-not-found.ogv
new file mode 100644
index 0000000..53d63f0
Binary files /dev/null and b/docs/html/videos/pk-command-not-found.ogv differ
diff --git a/docs/html/videos/pk-font-no-found.ogv b/docs/html/videos/pk-font-no-found.ogv
new file mode 100644
index 0000000..8a33bd5
Binary files /dev/null and b/docs/html/videos/pk-font-no-found.ogv differ
commit 7fd321033a6ece70638ef22079597bcf4ec42aef
Author: Richard Hughes <richard at hughsie.com>
Date: Wed Dec 24 18:05:23 2008 +0000
trivial: edit m4 gitignore
diff --git a/m4/.gitignore b/m4/.gitignore
index e69de29..b2cecf0 100644
--- a/m4/.gitignore
+++ b/m4/.gitignore
@@ -0,0 +1,2 @@
+*.m4
+
commit fd2bbe35dd70489dff9ace9603ca839217f274e6
Author: Sebastian Heinlein <devel at glatzor.de>
Date: Wed Dec 24 12:32:08 2008 +0100
APT: Provide details for a failed download
diff --git a/backends/apt/aptDBUSBackend.py b/backends/apt/aptDBUSBackend.py
index df1173e..f8b93b2 100755
--- a/backends/apt/aptDBUSBackend.py
+++ b/backends/apt/aptDBUSBackend.py
@@ -1702,9 +1702,9 @@ class PackageKitAptBackend(PackageKitBaseBackend):
try:
self._cache.commit(PackageKitFetchProgress(self, fetch_range),
PackageKitInstallProgress(self, install_range))
- except apt.cache.FetchFailedException:
+ except apt.cache.FetchFailedException, e:
self._open_cache(prange=(95,100))
- self.ErrorCode(ERROR_PACKAGE_DOWNLOAD_FAILED, "Download failed")
+ self.ErrorCode(ERROR_PACKAGE_DOWNLOAD_FAILED, e.message)
self.Finished(EXIT_FAILED)
except apt.cache.FetchCancelledException:
self._open_cache(prange=(95,100))
commit 0a8fafcd261a330b1c87a815fcafc10c540c5b66
Merge: df70101... c3674c1...
Author: Sebastian Heinlein <devel at glatzor.de>
Date: Wed Dec 24 12:07:38 2008 +0100
Merge branch 'master' of git+ssh://glatzor@git.packagekit.org/srv/git/PackageKit
commit df70101694fa7e03818b028fccb04b9a9d5bab4c
Merge: 2501842... fbf993a...
Author: Sebastian Heinlein <devel at glatzor.de>
Date: Mon Dec 22 12:07:16 2008 +0100
Merge branch 'master' of git+ssh://glatzor@git.packagekit.org/srv/git/PackageKit
commit 25018420cef042274eac4ba372e5ff6ce0dd7d2c
Merge: 563baf3... 6503764...
Author: Sebastian Heinlein <devel at glatzor.de>
Date: Tue Dec 16 11:09:28 2008 +0100
Merge branch 'master' of git+ssh://glatzor@git.packagekit.org/srv/git/PackageKit
commit 563baf35a91c99f05aee80a2855ab24bd9bd3e1c
Author: Sebastian Heinlein <devel at glatzor.de>
Date: Sun Dec 14 11:50:17 2008 +0100
APT: Allow to speicify additional nosetests parameters for the test script
diff --git a/backends/apt/test.sh b/backends/apt/test.sh
index 425ec0b..f6eca2e 100755
--- a/backends/apt/test.sh
+++ b/backends/apt/test.sh
@@ -1,2 +1,2 @@
#!/bin/sh
-nosetests --with-coverage --cover-package=aptDBUSBackend --pdb tests.py
+nosetests $@ --with-coverage --cover-package=aptDBUSBackend --pdb tests.py
commit 73c7b1ed1dc7b85624772f8e62bc6b8354a75074
Author: Sebastian Heinlein <devel at glatzor.de>
Date: Sun Dec 14 11:49:51 2008 +0100
APT: Adapt changed test data paths
diff --git a/backends/apt/tests.py b/backends/apt/tests.py
index 09531bd..79c74a2 100755
--- a/backends/apt/tests.py
+++ b/backends/apt/tests.py
@@ -131,9 +131,9 @@ def setup():
os.makedirs(os.path.join(TEMPDIR, "var/lib/dpkg/info"))
os.makedirs(os.path.join(TEMPDIR, "etc/apt"))
os.makedirs(os.path.join(TEMPDIR, "repo"))
- shutil.copy("Packages.test", os.path.join(TEMPDIR, "repo/Packages"))
- shutil.copy("status.test", os.path.join(TEMPDIR, "var/lib/dpkg/status"))
- shutil.copy("xterm.list.test", os.path.join(TEMPDIR,
+ shutil.copy("data/Packages", os.path.join(TEMPDIR, "repo/Packages"))
+ shutil.copy("data/status", os.path.join(TEMPDIR, "var/lib/dpkg/status"))
+ shutil.copy("data/xterm.list", os.path.join(TEMPDIR,
"var/lib/dpkg/info/xterm.list"))
sources = open(os.path.join(TEMPDIR, "etc/apt/sources.list"), "w")
sources.write("deb file://%s/repo/ ./\n" % TEMPDIR)
commit 82c544daf3bc81e555f5fed691f783237060661d
Author: Sebastian Heinlein <devel at glatzor.de>
Date: Sun Dec 14 11:47:20 2008 +0100
APT: Move test data files to a separate folder
diff --git a/backends/apt/Packages.test b/backends/apt/Packages.test
deleted file mode 100644
index b696056..0000000
--- a/backends/apt/Packages.test
+++ /dev/null
@@ -1,71 +0,0 @@
-Package: xterm
-Priority: optional
-Section: x11
-Installed-Size: 1112
-Maintainer: Debian X Strike Force <debian-x at lists.debian.org>
-Architecture: i386
-Version: 237-1
-Provides: x-terminal-emulator
-Suggests: xfonts-cyrillic
-Filename: pool/main/x/xterm/xterm_235-1_i386.deb
-Size: 466530
-MD5sum: ec97de9afffcbc5932dddfa9090f6fbe
-SHA1: 7aedb7fc5dd906ad35246cf7442e250311aa2130
-SHA256: 517f01858734b253584c28bb9951acbb6a082d1274c6ec6c079f7567bf067d71
-Description: X terminal emulator
- xterm is a terminal emulator for the X Window System. It provides DEC VT102
- and Tektronix 4014 compatible terminals for programs that cannot use the
- window system directly. This version implements ISO/ANSI colors and most of
- the control sequences used by DEC VT220 terminals.
- .
- This package provides four commands: xterm, which is the traditional
- terminal emulator; uxterm, which is a wrapper around xterm that is
- intelligent about locale settings (especially those which use the UTF-8
- character encoding), but which requires the luit program from the x11-utils
- package; koi8rxterm, a wrapper similar to uxterm for locales that use the
- KOI8-R character set; and lxterm, a simple wrapper that chooses which of the
- previous commands to execute based on the user's locale settings.
- .
- A complete list of control sequences supported by the X terminal emulator
- is provided in /usr/share/doc/xterm.
- .
- The xterm program uses bitmap images provided by the xbitmaps package.
- .
- Those interested in using koi8rxterm will likely want to install the
- xfonts-cyrillic package as well.
-Homepage: http://invisible-island.net/xterm/xterm.html
-Tag: implemented-in::c, interface::x11, role::program, scope::utility, uitoolkit::athena, x11::application, x11::terminal
-Task: desktop
-
-Package: synaptic
-Priority: optional
-Section: admin
-Installed-Size: 5812
-Maintainer: Michael Vogt <mvo at debian.org>
-Architecture: i386
-Version: 0.62.1
-Replaces: gsynaptic
-Provides: gsynaptic
-Depends: xterm
-Suggests: dwww
-Conflicts: gsynaptic, menu (<< 2.1.11)
-Filename: pool/main/s/synaptic/synaptic_0.62.1_i386.deb
-Size: 2094122
-MD5sum: 91b86003eea53002e0c2a0ea50596e37
-SHA1: e533c3345911d5c8471b54a8a7b51ae52e59982b
-SHA256: a399168d801efa1616d7b1178b4c3eda70c612716374411708d05956f3c99874
-Description: Graphical package manager
- Synaptic is a graphical package management tool based on GTK+ and APT.
- Synaptic enables you to install, upgrade and remove software packages in
- a user friendly way.
- .
- Besides these basic functions the following features are provided:
- * Search and filter the list of available packages
- * Perform smart system upgrades
- * Fix broken package dependencies
- * Edit the list of used repositories (sources.list)
- * Download the latest changelog of a package
- * Configure packages through the debconf system
- * Browse all available documentation related to a package (dwww is required)
-Tag: admin::package-management, implemented-in::c++, interface::x11, role::program, scope::application, suite::debian, uitoolkit::gtk, works-with::software:package, x11::application
-
diff --git a/backends/apt/data/Packages b/backends/apt/data/Packages
new file mode 100644
index 0000000..b696056
--- /dev/null
+++ b/backends/apt/data/Packages
@@ -0,0 +1,71 @@
+Package: xterm
+Priority: optional
+Section: x11
+Installed-Size: 1112
+Maintainer: Debian X Strike Force <debian-x at lists.debian.org>
+Architecture: i386
+Version: 237-1
+Provides: x-terminal-emulator
+Suggests: xfonts-cyrillic
+Filename: pool/main/x/xterm/xterm_235-1_i386.deb
+Size: 466530
+MD5sum: ec97de9afffcbc5932dddfa9090f6fbe
+SHA1: 7aedb7fc5dd906ad35246cf7442e250311aa2130
+SHA256: 517f01858734b253584c28bb9951acbb6a082d1274c6ec6c079f7567bf067d71
+Description: X terminal emulator
+ xterm is a terminal emulator for the X Window System. It provides DEC VT102
+ and Tektronix 4014 compatible terminals for programs that cannot use the
+ window system directly. This version implements ISO/ANSI colors and most of
+ the control sequences used by DEC VT220 terminals.
+ .
+ This package provides four commands: xterm, which is the traditional
+ terminal emulator; uxterm, which is a wrapper around xterm that is
+ intelligent about locale settings (especially those which use the UTF-8
+ character encoding), but which requires the luit program from the x11-utils
+ package; koi8rxterm, a wrapper similar to uxterm for locales that use the
+ KOI8-R character set; and lxterm, a simple wrapper that chooses which of the
+ previous commands to execute based on the user's locale settings.
+ .
+ A complete list of control sequences supported by the X terminal emulator
+ is provided in /usr/share/doc/xterm.
+ .
+ The xterm program uses bitmap images provided by the xbitmaps package.
+ .
+ Those interested in using koi8rxterm will likely want to install the
+ xfonts-cyrillic package as well.
+Homepage: http://invisible-island.net/xterm/xterm.html
+Tag: implemented-in::c, interface::x11, role::program, scope::utility, uitoolkit::athena, x11::application, x11::terminal
+Task: desktop
+
+Package: synaptic
+Priority: optional
+Section: admin
+Installed-Size: 5812
+Maintainer: Michael Vogt <mvo at debian.org>
+Architecture: i386
+Version: 0.62.1
+Replaces: gsynaptic
+Provides: gsynaptic
+Depends: xterm
+Suggests: dwww
+Conflicts: gsynaptic, menu (<< 2.1.11)
+Filename: pool/main/s/synaptic/synaptic_0.62.1_i386.deb
+Size: 2094122
+MD5sum: 91b86003eea53002e0c2a0ea50596e37
+SHA1: e533c3345911d5c8471b54a8a7b51ae52e59982b
+SHA256: a399168d801efa1616d7b1178b4c3eda70c612716374411708d05956f3c99874
+Description: Graphical package manager
+ Synaptic is a graphical package management tool based on GTK+ and APT.
+ Synaptic enables you to install, upgrade and remove software packages in
+ a user friendly way.
+ .
+ Besides these basic functions the following features are provided:
+ * Search and filter the list of available packages
+ * Perform smart system upgrades
+ * Fix broken package dependencies
+ * Edit the list of used repositories (sources.list)
+ * Download the latest changelog of a package
+ * Configure packages through the debconf system
+ * Browse all available documentation related to a package (dwww is required)
+Tag: admin::package-management, implemented-in::c++, interface::x11, role::program, scope::application, suite::debian, uitoolkit::gtk, works-with::software:package, x11::application
+
diff --git a/backends/apt/data/status b/backends/apt/data/status
new file mode 100644
index 0000000..2bba0ae
--- /dev/null
+++ b/backends/apt/data/status
@@ -0,0 +1,38 @@
+Package: xterm
+Status: install ok installed
+Priority: optional
+Section: x11
+Installed-Size: 1112
+Maintainer: Debian X Strike Force <debian-x at lists.debian.org>
+Architecture: i386
+Version: 235-1
+Provides: x-terminal-emulator
+Suggests: xfonts-cyrillic
+Conffiles:
+ /etc/X11/app-defaults/KOI8RXTerm dd942bff017ee9cfc2bb97bbdd7378b6
+ /etc/X11/app-defaults/UXTerm 952670ddfbb90d0a7c36e87e7a796595
+ /etc/X11/app-defaults/XTerm ec0c680b99b0f69f8d5d3318bd1a862e
+ /etc/X11/app-defaults/XTerm-color 657eb990e33aeddb17c7e2185321878c
+Description: X terminal emulator
+ xterm is a terminal emulator for the X Window System. It provides DEC VT102
+ and Tektronix 4014 compatible terminals for programs that cannot use the
+ window system directly. This version implements ISO/ANSI colors and most of
+ the control sequences used by DEC VT220 terminals.
+ .
+ This package provides four commands: xterm, which is the traditional
+ terminal emulator; uxterm, which is a wrapper around xterm that is
+ intelligent about locale settings (especially those which use the UTF-8
+ character encoding), but which requires the luit program from the x11-utils
+ package; koi8rxterm, a wrapper similar to uxterm for locales that use the
+ KOI8-R character set; and lxterm, a simple wrapper that chooses which of the
+ previous commands to execute based on the user's locale settings.
+ .
+ A complete list of control sequences supported by the X terminal emulator
+ is provided in /usr/share/doc/xterm.
+ .
+ The xterm program uses bitmap images provided by the xbitmaps package.
+ .
+ Those interested in using koi8rxterm will likely want to install the
+ xfonts-cyrillic package as well.
+Homepage: http://invisible-island.net/xterm/xterm.html
+
diff --git a/backends/apt/data/xterm.list b/backends/apt/data/xterm.list
new file mode 100644
index 0000000..4afffb9
--- /dev/null
+++ b/backends/apt/data/xterm.list
@@ -0,0 +1,49 @@
+/.
+/usr
+/usr/bin
+/usr/bin/koi8rxterm
+/usr/bin/lxterm
+/usr/bin/resize
+/usr/bin/uxterm
+/usr/bin/xterm
+/usr/share
+/usr/share/man
+/usr/share/man/man1
+/usr/share/man/man1/lxterm.1.gz
+/usr/share/man/man1/uxterm.1.gz
+/usr/share/man/man1/xterm.1.gz
+/usr/share/man/man1/koi8rxterm.1.gz
+/usr/share/man/man1/resize.1.gz
+/usr/share/lintian
+/usr/share/lintian/overrides
+/usr/share/lintian/overrides/xterm
+/usr/share/doc
+/usr/share/doc/xterm
+/usr/share/doc/xterm/ctlseqs.txt.gz
+/usr/share/doc/xterm/xterm.termcap.gz
+/usr/share/doc/xterm/xterm.log.html
+/usr/share/doc/xterm/xterm.faq.html
+/usr/share/doc/xterm/xterm.faq.gz
+/usr/share/doc/xterm/changelog.Debian.gz
+/usr/share/doc/xterm/README.Debian
+/usr/share/doc/xterm/copyright
+/usr/share/doc/xterm/README.i18n.gz
+/usr/share/doc/xterm/ctlseqs.ms.gz
+/usr/share/doc/xterm/xterm.terminfo.gz
+/usr/share/doc-base
+/usr/share/doc-base/xterm-ctlseqs
+/usr/share/doc-base/xterm-faq
+/usr/share/menu
+/usr/share/menu/xterm
+/usr/share/pixmaps
+/usr/share/pixmaps/xterm-color_32x32.xpm
+/usr/share/pixmaps/xterm-color_48x48.xpm
+/usr/share/pixmaps/xterm_32x32.xpm
+/usr/share/pixmaps/xterm_48x48.xpm
+/etc
+/etc/X11
+/etc/X11/app-defaults
+/etc/X11/app-defaults/KOI8RXTerm
+/etc/X11/app-defaults/UXTerm
+/etc/X11/app-defaults/XTerm
+/etc/X11/app-defaults/XTerm-color
diff --git a/backends/apt/status.test b/backends/apt/status.test
deleted file mode 100644
index 2bba0ae..0000000
--- a/backends/apt/status.test
+++ /dev/null
@@ -1,38 +0,0 @@
-Package: xterm
-Status: install ok installed
-Priority: optional
-Section: x11
-Installed-Size: 1112
-Maintainer: Debian X Strike Force <debian-x at lists.debian.org>
-Architecture: i386
-Version: 235-1
-Provides: x-terminal-emulator
-Suggests: xfonts-cyrillic
-Conffiles:
- /etc/X11/app-defaults/KOI8RXTerm dd942bff017ee9cfc2bb97bbdd7378b6
- /etc/X11/app-defaults/UXTerm 952670ddfbb90d0a7c36e87e7a796595
- /etc/X11/app-defaults/XTerm ec0c680b99b0f69f8d5d3318bd1a862e
- /etc/X11/app-defaults/XTerm-color 657eb990e33aeddb17c7e2185321878c
-Description: X terminal emulator
- xterm is a terminal emulator for the X Window System. It provides DEC VT102
- and Tektronix 4014 compatible terminals for programs that cannot use the
- window system directly. This version implements ISO/ANSI colors and most of
- the control sequences used by DEC VT220 terminals.
- .
- This package provides four commands: xterm, which is the traditional
- terminal emulator; uxterm, which is a wrapper around xterm that is
- intelligent about locale settings (especially those which use the UTF-8
- character encoding), but which requires the luit program from the x11-utils
- package; koi8rxterm, a wrapper similar to uxterm for locales that use the
- KOI8-R character set; and lxterm, a simple wrapper that chooses which of the
- previous commands to execute based on the user's locale settings.
- .
- A complete list of control sequences supported by the X terminal emulator
- is provided in /usr/share/doc/xterm.
- .
- The xterm program uses bitmap images provided by the xbitmaps package.
- .
- Those interested in using koi8rxterm will likely want to install the
- xfonts-cyrillic package as well.
-Homepage: http://invisible-island.net/xterm/xterm.html
-
diff --git a/backends/apt/xterm.list.test b/backends/apt/xterm.list.test
deleted file mode 100644
index 4afffb9..0000000
--- a/backends/apt/xterm.list.test
+++ /dev/null
@@ -1,49 +0,0 @@
-/.
-/usr
-/usr/bin
-/usr/bin/koi8rxterm
-/usr/bin/lxterm
-/usr/bin/resize
-/usr/bin/uxterm
-/usr/bin/xterm
-/usr/share
-/usr/share/man
-/usr/share/man/man1
-/usr/share/man/man1/lxterm.1.gz
-/usr/share/man/man1/uxterm.1.gz
-/usr/share/man/man1/xterm.1.gz
-/usr/share/man/man1/koi8rxterm.1.gz
-/usr/share/man/man1/resize.1.gz
-/usr/share/lintian
-/usr/share/lintian/overrides
-/usr/share/lintian/overrides/xterm
-/usr/share/doc
-/usr/share/doc/xterm
-/usr/share/doc/xterm/ctlseqs.txt.gz
-/usr/share/doc/xterm/xterm.termcap.gz
-/usr/share/doc/xterm/xterm.log.html
-/usr/share/doc/xterm/xterm.faq.html
-/usr/share/doc/xterm/xterm.faq.gz
-/usr/share/doc/xterm/changelog.Debian.gz
-/usr/share/doc/xterm/README.Debian
-/usr/share/doc/xterm/copyright
-/usr/share/doc/xterm/README.i18n.gz
-/usr/share/doc/xterm/ctlseqs.ms.gz
-/usr/share/doc/xterm/xterm.terminfo.gz
-/usr/share/doc-base
-/usr/share/doc-base/xterm-ctlseqs
-/usr/share/doc-base/xterm-faq
-/usr/share/menu
-/usr/share/menu/xterm
-/usr/share/pixmaps
-/usr/share/pixmaps/xterm-color_32x32.xpm
-/usr/share/pixmaps/xterm-color_48x48.xpm
-/usr/share/pixmaps/xterm_32x32.xpm
-/usr/share/pixmaps/xterm_48x48.xpm
-/etc
-/etc/X11
-/etc/X11/app-defaults
-/etc/X11/app-defaults/KOI8RXTerm
-/etc/X11/app-defaults/UXTerm
-/etc/X11/app-defaults/XTerm
-/etc/X11/app-defaults/XTerm-color
More information about the PackageKit-commit
mailing list