/** * pk_package_sack_add_packages_from_file: * @sack: a valid #PkPackageSack instance * @file: a valid package-list file * @error: a %GError to put the error code and message in, or %NULL * * Write the contents of a PkPackageSack to a package-list file. * * Return value: %TRUE if there were no errors. * * Since: 0.8.6 **/ gboolean pk_package_sack_to_file (PkPackageSack *sack, GFile *file, GError **error) { gboolean ret; GString *string; guint i; PkPackage *pkg; string = g_string_new (""); for (i = 0; i < sack->priv->array->len; i++) { pkg = g_ptr_array_index (sack->priv->array, i); g_string_append_printf (string, "%s\t%s\t%s\n", pk_info_enum_to_string (pk_package_get_info (pkg)), pk_package_get_id (pkg), pk_package_get_summary (pkg)); } ret = g_file_replace_contents (file, string->str, string->len, NULL, FALSE, G_FILE_CREATE_NONE, NULL, NULL, error); if (!ret) goto out; out: g_string_free (string, FALSE); return ret; }
static void pk_direct_package_cb (PkBackendJob *job, gpointer object, gpointer user_data) { PkPackage *pkg = PK_PACKAGE (object); g_print ("Package: %s\t%s\n", pk_info_enum_to_string (pk_package_get_info (pkg)), pk_package_get_id (pkg)); }
/** * pk_info_enum_to_localised_text: * @info: The enumerated type value * * Converts a enumerated type to its localized description * * Return Value: the translated text * * Since: 0.7.2 **/ static const gchar * pk_info_enum_to_localised_text (PkInfoEnum info) { const gchar *text = NULL; switch (info) { case PK_INFO_ENUM_LOW: /* TRANSLATORS: The type of update */ text = _("Trivial"); break; case PK_INFO_ENUM_NORMAL: /* TRANSLATORS: The type of update */ text = dgettext("PackageKit", "Normal"); break; case PK_INFO_ENUM_IMPORTANT: /* TRANSLATORS: The type of update */ text = dgettext("PackageKit", "Important"); break; case PK_INFO_ENUM_SECURITY: /* TRANSLATORS: The type of update */ text = dgettext("PackageKit", "Security"); break; case PK_INFO_ENUM_BUGFIX: /* TRANSLATORS: The type of update */ text = dgettext("PackageKit", "Bug fix "); break; case PK_INFO_ENUM_ENHANCEMENT: /* TRANSLATORS: The type of update */ text = dgettext("PackageKit", "Enhancement"); break; case PK_INFO_ENUM_BLOCKED: /* TRANSLATORS: The type of update */ text = dgettext("PackageKit", "Blocked"); break; case PK_INFO_ENUM_INSTALLED: case PK_INFO_ENUM_COLLECTION_INSTALLED: /* TRANSLATORS: The state of a package */ text = dgettext("PackageKit", "Installed"); break; case PK_INFO_ENUM_AVAILABLE: case PK_INFO_ENUM_COLLECTION_AVAILABLE: /* TRANSLATORS: The state of a package, i.e. not installed */ text = dgettext("PackageKit", "Available"); break; default: g_warning ("info unrecognised: %s", pk_info_enum_to_string (info)); } return text; }
/** * pk_offline_update_progress_cb: **/ static void pk_offline_update_progress_cb (PkProgress *progress, PkProgressType type, gpointer user_data) { PkInfoEnum info; PkProgressBar *progressbar = PK_PROGRESS_BAR (user_data); PkStatusEnum status; gint percentage; _cleanup_free_ gchar *msg = NULL; _cleanup_object_unref_ PkPackage *pkg = NULL; switch (type) { case PK_PROGRESS_TYPE_ROLE: sd_journal_print (LOG_INFO, "assigned role"); pk_progress_bar_start (progressbar, "Updating system"); break; case PK_PROGRESS_TYPE_PACKAGE: g_object_get (progress, "package", &pkg, NULL); info = pk_package_get_info (pkg); if (info == PK_INFO_ENUM_UPDATING) { msg = g_strdup_printf ("Updating %s", pk_package_get_name (pkg)); pk_progress_bar_start (progressbar, msg); } else if (info == PK_INFO_ENUM_INSTALLING) { msg = g_strdup_printf ("Installing %s", pk_package_get_name (pkg)); pk_progress_bar_start (progressbar, msg); } else if (info == PK_INFO_ENUM_REMOVING) { msg = g_strdup_printf ("Removing %s", pk_package_get_name (pkg)); pk_progress_bar_start (progressbar, msg); } sd_journal_print (LOG_INFO, "package %s\t%s-%s.%s (%s)", pk_info_enum_to_string (info), pk_package_get_name (pkg), pk_package_get_version (pkg), pk_package_get_arch (pkg), pk_package_get_data (pkg)); break; case PK_PROGRESS_TYPE_PERCENTAGE: g_object_get (progress, "percentage", &percentage, NULL); if (percentage < 0) return; sd_journal_print (LOG_INFO, "percentage %i%%", percentage); /* TRANSLATORS: this is the message we send plymouth to * advise of the new percentage completion */ msg = g_strdup_printf ("%s - %i%%", _("Installing Updates"), percentage); if (percentage > 10) pk_offline_update_set_plymouth_msg (msg); /* print on terminal */ pk_progress_bar_set_percentage (progressbar, percentage); /* update plymouth */ pk_offline_update_set_plymouth_percentage (percentage); break; case PK_PROGRESS_TYPE_STATUS: g_object_get (progress, "status", &status, NULL); sd_journal_print (LOG_INFO, "status %s", pk_status_enum_to_string (status)); default: break; } }