mirror of
https://git.proxmox.com/git/fwupd
synced 2025-08-13 19:29:17 +00:00
Add a human-readable title for each remote
This allows us to show something useful in a GUI.
This commit is contained in:
parent
3eb8f42421
commit
48ad97fd61
@ -4,6 +4,7 @@ Vendor Firmware
|
||||
These are the steps to add vendor that is installed as part of an OSTree image:
|
||||
|
||||
* Change `/etc/fwupd/remotes.d/vendor.conf` to have `Enabled=true`
|
||||
* Change `/etc/fwupd/remotes.d/vendor.conf` to have the correct `Title`
|
||||
* Deploy the firmware to `/usr/share/fwupd/remotes.d/vendor/firmware`
|
||||
* Deploy the metadata to `/usr/share/fwupd/remotes.d/vendor/vendor.xml`
|
||||
|
||||
|
@ -2,5 +2,6 @@
|
||||
|
||||
# this remote provides metadata shipped with the fwupd package
|
||||
Enabled=true
|
||||
Title=Core
|
||||
Keyring=none
|
||||
MetadataURI=file://@datadir@/fwupd/remotes.d/fwupd/metadata.xml
|
||||
|
@ -2,6 +2,7 @@
|
||||
|
||||
# this remote provides metadata and firmware marked as 'testing' from the LVFS
|
||||
Enabled=false
|
||||
Title=Linux Vendor Firmware Service (testing)
|
||||
Keyring=gpg
|
||||
MetadataURI=https://s3.amazonaws.com/lvfsbucket/downloads/firmware-testing.xml.gz
|
||||
Username=
|
||||
|
@ -2,6 +2,7 @@
|
||||
|
||||
# this remote provides metadata and firmware marked as 'stable' from the LVFS
|
||||
Enabled=true
|
||||
Title=Linux Vendor Firmware Service
|
||||
Keyring=gpg
|
||||
MetadataURI=https://s3.amazonaws.com/lvfsbucket/downloads/firmware.xml.gz
|
||||
OrderBefore=fwupd
|
||||
|
@ -3,5 +3,6 @@
|
||||
# this remote provides metadata shipped by the OS vendor and can be found in
|
||||
# /usr/share/fwupd/remotes.d/vendor and /usr/share/fwupd/remotes.d/vendor/firmware
|
||||
Enabled=false
|
||||
Title=Vendor
|
||||
Keyring=none
|
||||
MetadataURI=file://@datadir@/fwupd/remotes.d/vendor/vendor.xml.gz
|
||||
|
@ -38,6 +38,7 @@ struct _FwupdRemote
|
||||
gchar *metadata_uri_sig;
|
||||
gchar *username;
|
||||
gchar *password;
|
||||
gchar *title;
|
||||
gchar *filename;
|
||||
gchar *filename_asc;
|
||||
gchar *filename_cache;
|
||||
@ -73,6 +74,13 @@ fwupd_remote_set_username (FwupdRemote *self, const gchar *username)
|
||||
soup_uri_set_user (self->uri_asc, username);
|
||||
}
|
||||
|
||||
static void
|
||||
fwupd_remote_set_title (FwupdRemote *self, const gchar *title)
|
||||
{
|
||||
g_free (self->title);
|
||||
self->title = g_strdup (title);
|
||||
}
|
||||
|
||||
static void
|
||||
fwupd_remote_set_password (FwupdRemote *self, const gchar *password)
|
||||
{
|
||||
@ -298,6 +306,7 @@ fwupd_remote_load_from_filename (FwupdRemote *self,
|
||||
|
||||
/* extract data */
|
||||
self->enabled = g_key_file_get_boolean (kf, group, "Enabled", NULL);
|
||||
self->title = g_key_file_get_string (kf, group, "Title", NULL);
|
||||
|
||||
/* DOWNLOAD-type remotes */
|
||||
if (self->kind == FWUPD_REMOTE_KIND_DOWNLOAD) {
|
||||
@ -546,6 +555,23 @@ fwupd_remote_get_filename_asc (FwupdRemote *self)
|
||||
return self->filename_asc;
|
||||
}
|
||||
|
||||
/**
|
||||
* fwupd_remote_get_title:
|
||||
* @self: A #FwupdRemote
|
||||
*
|
||||
* Gets the remote title, e.g. "Linux Vendor Firmware Service".
|
||||
*
|
||||
* Returns: a string, or %NULL if unset
|
||||
*
|
||||
* Since: 0.9.8
|
||||
**/
|
||||
const gchar *
|
||||
fwupd_remote_get_title (FwupdRemote *self)
|
||||
{
|
||||
g_return_val_if_fail (FWUPD_IS_REMOTE (self), NULL);
|
||||
return self->title;
|
||||
}
|
||||
|
||||
/**
|
||||
* fwupd_remote_build_uri:
|
||||
* @self: A #FwupdRemote
|
||||
@ -766,6 +792,10 @@ fwupd_remote_to_variant_builder (FwupdRemote *self, GVariantBuilder *builder)
|
||||
g_variant_builder_add (builder, "{sv}", "Password",
|
||||
g_variant_new_string (self->password));
|
||||
}
|
||||
if (self->title != NULL) {
|
||||
g_variant_builder_add (builder, "{sv}", "Title",
|
||||
g_variant_new_string (self->title));
|
||||
}
|
||||
if (self->metadata_uri != NULL) {
|
||||
g_variant_builder_add (builder, "{sv}", "Url",
|
||||
g_variant_new_string (self->metadata_uri));
|
||||
@ -832,6 +862,8 @@ fwupd_remote_set_from_variant_iter (FwupdRemote *self, GVariantIter *iter)
|
||||
fwupd_remote_set_username (self, g_variant_get_string (value, NULL));
|
||||
} else if (g_strcmp0 (key, "Password") == 0) {
|
||||
fwupd_remote_set_password (self, g_variant_get_string (value, NULL));
|
||||
} else if (g_strcmp0 (key, "Title") == 0) {
|
||||
fwupd_remote_set_title (self, g_variant_get_string (value, NULL));
|
||||
} else if (g_strcmp0 (key, "Enabled") == 0) {
|
||||
self->enabled = g_variant_get_boolean (value);
|
||||
} else if (g_strcmp0 (key, "Priority") == 0) {
|
||||
@ -961,6 +993,7 @@ fwupd_remote_finalize (GObject *obj)
|
||||
g_free (self->firmware_base_uri);
|
||||
g_free (self->username);
|
||||
g_free (self->password);
|
||||
g_free (self->title);
|
||||
g_free (self->filename);
|
||||
g_free (self->filename_asc);
|
||||
g_free (self->filename_cache);
|
||||
|
@ -44,6 +44,7 @@ const gchar *fwupd_remote_kind_to_string (FwupdRemoteKind kind);
|
||||
|
||||
FwupdRemote *fwupd_remote_new (void);
|
||||
const gchar *fwupd_remote_get_id (FwupdRemote *self);
|
||||
const gchar *fwupd_remote_get_title (FwupdRemote *self);
|
||||
const gchar *fwupd_remote_get_filename (FwupdRemote *self);
|
||||
const gchar *fwupd_remote_get_filename_asc (FwupdRemote *self);
|
||||
const gchar *fwupd_remote_get_username (FwupdRemote *self);
|
||||
|
@ -113,6 +113,7 @@ fwupd_remote_download_func (void)
|
||||
g_assert (fwupd_remote_get_enabled (remote));
|
||||
g_assert (fwupd_remote_get_metadata_uri (remote) != NULL);
|
||||
g_assert (fwupd_remote_get_metadata_uri_sig (remote) != NULL);
|
||||
g_assert_cmpstr (fwupd_remote_get_title (remote), ==, "Linux Vendor Firmware Service");
|
||||
g_assert_cmpstr (fwupd_remote_get_filename (remote), ==, "lvfs-firmware.xml.gz");
|
||||
g_assert_cmpstr (fwupd_remote_get_filename_asc (remote), ==, "lvfs-firmware.xml.gz.asc");
|
||||
g_assert_cmpstr (fwupd_remote_get_filename_cache (remote), ==,
|
||||
@ -167,6 +168,7 @@ fwupd_remote_local_func (void)
|
||||
g_assert (fwupd_remote_get_enabled (remote));
|
||||
g_assert (fwupd_remote_get_metadata_uri (remote) == NULL);
|
||||
g_assert (fwupd_remote_get_metadata_uri_sig (remote) == NULL);
|
||||
g_assert_cmpstr (fwupd_remote_get_title (remote), ==, "Core");
|
||||
g_assert_cmpstr (fwupd_remote_get_filename (remote), ==, NULL);
|
||||
g_assert_cmpstr (fwupd_remote_get_filename_asc (remote), ==, NULL);
|
||||
g_assert_cmpstr (fwupd_remote_get_filename_cache (remote), ==, "@datadir@/fwupd/remotes.d/fwupd/metadata.xml");
|
||||
|
@ -1104,6 +1104,10 @@ fu_util_get_remotes (FuUtilPrivate *priv, gchar **values, GError **error)
|
||||
fu_util_print_data (_("Remote ID"),
|
||||
fwupd_remote_get_id (remote));
|
||||
|
||||
/* TRANSLATORS: remote title, e.g. "Linux Vendor Firmware Service" */
|
||||
fu_util_print_data (_("Title"),
|
||||
fwupd_remote_get_title (remote));
|
||||
|
||||
/* TRANSLATORS: remote type, e.g. remote or local */
|
||||
fu_util_print_data (_("Type"),
|
||||
fwupd_remote_kind_to_string (kind));
|
||||
|
Loading…
Reference in New Issue
Block a user