static const char crypto_config_comment[] =
" Cryptography related configuration\n"
"\n"
-#if (GMIME_MAJOR_VERSION < 3)
- " The following *deprecated* option is currently supported:\n"
- "\n"
- "\tgpg_path\n"
- "\t\tbinary name or full path to invoke gpg.\n"
- "\t\tNOTE: In a future build, this option will be ignored.\n"
-#else
" The following old option is now ignored:\n"
"\n"
"\tgpgpath\n"
"\t\tThis option was used by older builds of notmuch to choose\n"
"\t\tthe version of gpg to use.\n"
-#endif
"\t\tSetting $PATH is a better approach.\n";
struct _notmuch_config {
g_error_free (error);
}
-#if (GMIME_MAJOR_VERSION < 3)
- if (notmuch_config_get_crypto_gpg_path (config) == NULL) {
- notmuch_config_set_crypto_gpg_path (config, "gpg");
- }
-#endif
-
/* Whenever we know of configuration sections that don't appear in
* the configuration file, we add some comments to help the user
* understand what can be done. */
const char *
notmuch_config_get_database_path (notmuch_config_t *config)
{
- return _config_get (config, &config->database_path, "database", "path");
+ char *db_path = (char *)_config_get (config, &config->database_path, "database", "path");
+
+ if (db_path && *db_path != '/') {
+ /* If the path in the configuration file begins with any
+ * character other than /, presume that it is relative to
+ * $HOME and update as appropriate.
+ */
+ char *abs_path = talloc_asprintf (config, "%s/%s", getenv ("HOME"), db_path);
+ talloc_free (db_path);
+ db_path = config->database_path = abs_path;
+ }
+
+ return db_path;
}
void
&(config->search_exclude_tags));
}
-#if (GMIME_MAJOR_VERSION < 3)
-const char *
-notmuch_config_get_crypto_gpg_path (notmuch_config_t *config)
-{
- return _config_get (config, &config->crypto_gpg_path, "crypto", "gpg_path");
-}
-
-void
-notmuch_config_set_crypto_gpg_path (notmuch_config_t *config,
- const char *gpg_path)
-{
- _config_set (config, &config->crypto_gpg_path, "crypto", "gpg_path", gpg_path);
-}
-#endif
-
/* Given a configuration item of the form <group>.<key> return the
* component group and key. If any error occurs, print a message on