trivial: Use the same source version string between daemon and client

This fixes the common problem encountered when developing plugins:

    ./src/fwupdmgr get-devices
    Unsupported daemon version 1.4.0, client version is 1.4.0-179-gcf8095d5
This commit is contained in:
Richard Hughes 2020-03-30 10:53:20 +01:00
parent cf8095d5af
commit fe4b3eadaa
5 changed files with 9 additions and 35 deletions

View File

@ -17,17 +17,14 @@ conf.set('FWUPD_MINOR_VERSION', fwupd_minor_version)
conf.set('FWUPD_MICRO_VERSION', fwupd_micro_version) conf.set('FWUPD_MICRO_VERSION', fwupd_micro_version)
conf.set_quoted('PACKAGE_VERSION', fwupd_version) conf.set_quoted('PACKAGE_VERSION', fwupd_version)
# non tagged builds # get source version, falling back to package version
git = find_program('git', required : false) git = find_program('git', required : false)
if git.found() if git.found()
git_version = run_command(git, 'describe').stdout().strip() source_version = run_command(git, 'describe').stdout().strip()
if git_version.contains('-') else
fwupd_dirty_version = git_version.split('-')[1] source_version = fwupd_version
fwupd_commit = git_version.split('-')[2]
conf.set('FWUPD_DIRTY_VERSION', fwupd_dirty_version)
conf.set_quoted('FWUPD_COMMIT_VERSION', fwupd_commit)
endif
endif endif
conf.set_quoted('SOURCE_VERSION', source_version)
# libtool versioning - this applies to libfwupd # libtool versioning - this applies to libfwupd
# #

View File

@ -1374,7 +1374,7 @@ fu_main_daemon_get_property (GDBusConnection *connection_, const gchar *sender,
fu_engine_idle_reset (priv->engine); fu_engine_idle_reset (priv->engine);
if (g_strcmp0 (property_name, "DaemonVersion") == 0) if (g_strcmp0 (property_name, "DaemonVersion") == 0)
return g_variant_new_string (VERSION); return g_variant_new_string (SOURCE_VERSION);
if (g_strcmp0 (property_name, "Tainted") == 0) if (g_strcmp0 (property_name, "Tainted") == 0)
return g_variant_new_boolean (fu_engine_get_tainted (priv->engine)); return g_variant_new_boolean (fu_engine_get_tainted (priv->engine));

View File

@ -265,32 +265,12 @@ fu_util_get_user_cache_path (const gchar *fn)
return g_build_filename (root, "fwupd", basename, NULL); return g_build_filename (root, "fwupd", basename, NULL);
} }
gchar *
fu_util_get_client_version (void)
{
GString *string = g_string_new ("");
g_string_append_printf (string,
"%i.%i.%i",
FWUPD_MAJOR_VERSION,
FWUPD_MINOR_VERSION,
FWUPD_MICRO_VERSION);
#ifdef FWUPD_DIRTY_VERSION
g_string_append_printf (string,
"-%i-%s",
FWUPD_DIRTY_VERSION,
FWUPD_COMMIT_VERSION);
#endif
return g_string_free (string, FALSE);
}
gchar * gchar *
fu_util_get_versions (void) fu_util_get_versions (void)
{ {
GString *string = g_string_new (""); GString *string = g_string_new ("");
g_autofree gchar *client_version = fu_util_get_client_version ();
g_string_append_printf (string, "client version:\t%s\n", client_version); g_string_append_printf (string, "client version:\t%s\n", SOURCE_VERSION);
g_string_append_printf (string, g_string_append_printf (string,
"compile-time dependency versions\n"); "compile-time dependency versions\n");
g_string_append_printf (string, g_string_append_printf (string,

View File

@ -33,8 +33,6 @@ void fu_util_print_tree (GNode *n, gpointer data);
gboolean fu_util_is_interesting_device (FwupdDevice *dev); gboolean fu_util_is_interesting_device (FwupdDevice *dev);
gchar *fu_util_get_user_cache_path (const gchar *fn); gchar *fu_util_get_user_cache_path (const gchar *fn);
SoupSession *fu_util_setup_networking (GError **error); SoupSession *fu_util_setup_networking (GError **error);
gchar *fu_util_get_client_version (void);
gchar *fu_util_get_versions (void); gchar *fu_util_get_versions (void);
void fu_util_warning_box (const gchar *str, void fu_util_warning_box (const gchar *str,

View File

@ -2368,16 +2368,15 @@ fu_util_private_free (FuUtilPrivate *priv)
static gboolean static gboolean
fu_util_check_daemon_version (FuUtilPrivate *priv, GError **error) fu_util_check_daemon_version (FuUtilPrivate *priv, GError **error)
{ {
g_autofree gchar *client = fu_util_get_client_version ();
const gchar *daemon = fwupd_client_get_daemon_version (priv->client); const gchar *daemon = fwupd_client_get_daemon_version (priv->client);
if (g_strcmp0 (daemon, client) != 0) { if (g_strcmp0 (daemon, SOURCE_VERSION) != 0) {
g_set_error (error, g_set_error (error,
FWUPD_ERROR, FWUPD_ERROR,
FWUPD_ERROR_NOT_SUPPORTED, FWUPD_ERROR_NOT_SUPPORTED,
/* TRANSLATORS: error message */ /* TRANSLATORS: error message */
_("Unsupported daemon version %s, client version is %s"), _("Unsupported daemon version %s, client version is %s"),
daemon, client); daemon, SOURCE_VERSION);
return FALSE; return FALSE;
} }