all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Danny Milosavljevic <dannym@scratchpost.org>
To: julien lepiller <julien@lepiller.eu>
Cc: 30123@debbugs.gnu.org
Subject: bug#30123: claws-mail plugins not updated
Date: Mon, 15 Jan 2018 17:18:38 +0100	[thread overview]
Message-ID: <20180115171838.1440a62d@scratchpost.org> (raw)
In-Reply-To: <34ab5e819160ccb1afaa37d8dfa1612f@lepiller.eu>

Hi Julien,

On Mon, 15 Jan 2018 14:52:30 +0100
julien lepiller <julien@lepiller.eu> wrote:

> claws-mail has a plugin system to add functionnality. For instance, to 
> add PGP support, one has to load 3 plugins from the claws-mail package. 
> By default, claws-mail looks in its store directory to propose available 
> plugins.
> 
> When upgrading claws-mail, the configuration doesn't change. Plugins are 
> still looked for in the old store location, so old plugins are still 
> used. This is bad for security and compatibility. Another issue is when 
> running guix gc afterwards: the old plugins are deleted and claws-mail 
> issues an error message on startup because it cannot find them anymore.

I wonder how that happened.

claws-mail already makes sure not to include the name of the plugin directory in entries in clawsrc:

static gchar * plugin_canonical_name(const Plugin *plugin)
{
        if (plugin->in_prefix_dir == TRUE) {
                if (plugin_filename_is_standard_dir(plugin->filename) == TRUE) {
                        gchar *plugin_name = g_path_get_basename(plugin->filename);
                        return plugin_name;
                }
        }
        return g_strdup(plugin->filename);
}

And after the update it SHOULD take the plugins from the new installation directory.

There's a Makefile variable PLUGINDIR which we could set, but as far as I can see it should already work fine (in claws-mail 3.16.0).

Do your ~/.claws-mail/clawsrc entries include the directory name?

If it's actually broken, the easiest fix would be to make get_plugin_dir() return the plugin directory in the profile instead.  If the user then configures the plugins, he'll (hopefully) take the ones from the profile directory (instead of the ones directly in the store).  The function above then stores only the basenames - and on a later update of claws-mail files with these basenames should be looked up in the new installation directory.  And even if the function should not work, claws-mail would take the plugins from the profile directory - which would be the new ones in the case of an update.

But I'd rather get to the bottom of this problem before making the claws-mail package so defensive.

  reply	other threads:[~2018-01-15 16:19 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-15 13:52 bug#30123: claws-mail plugins not updated julien lepiller
2018-01-15 16:18 ` Danny Milosavljevic [this message]
2018-01-19 16:55   ` Julien Lepiller
2018-01-21 11:59     ` Danny Milosavljevic
2018-01-21 13:34       ` Julien Lepiller
2018-01-21 14:44         ` Danny Milosavljevic
2018-01-21 18:25           ` Julien Lepiller
2021-11-24 23:32 ` zimoun
2021-11-25  1:28   ` Julien Lepiller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180115171838.1440a62d@scratchpost.org \
    --to=dannym@scratchpost.org \
    --cc=30123@debbugs.gnu.org \
    --cc=julien@lepiller.eu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.