Camel and tinymail

Tinymail does not support using a normal Camel. Tinymail will build a custom Camel (that is included in the build and repository) and will always use that. This custom Camel is designed not to conflict with existing Camel installations or packages. Not even if installed in the same prefix or directory: the library names have been changed.

After some hacking you might get tinymail running with a normal Camel. However. Some features of tinymail are designed and coded with the idea that it has a custom Camel underneat itself. For example deleting messages does not take into account how the original Camel works. It expects these customisations to be in the camel which tinymail is using. Without the customisations you will have both memory leaks and race conditions and crashes as a result.

There are also a few core changes, like the folder-summary Camel type, that tinymail expects to be implemented in a specific way (mostly from a performance perspective, but also from the perspective of deallocating and using the instances). Again would a different Camel underneat it result in race conditions, crashes and memory leaks. It's very safe to say that whatever you would try, wouldn't be tested code.

This is why, the pure factual why, tinymail does not support a standard Camel.

Another reason why you shouldn't use a normal Camel is because then none of the memory measurements which you can find on these web pages will reflect your situation. The custom Camel was customized for a reason, else I wouldn't have customized it (don't you think?). These customisations are part of the tinymail experience and framework.

Nevertheless you are welcome to try to port a normal Camel (but you'll end up with what the custom camel actually already is) and you can help me getting as much of the patches to the upstream version of Camel. Some of them are very unlikely going to be accepted. Some of them are specific to mobile environments and are not welcomed by the Evolution team (who maintain the normal Camel).

Feel free to feel angry about that. I really stopped caring about such people ;-). Feel free to hate people who fork things (while not understanding even a little bit of what software development is all about, like most of you people with such strong opinions and nonsense-talk). Just keep in mind that the development cycle and goals of tinymail are quite different from the development cycle and goals of the Evolution project. Nobody of any team started throwing bricks to each other and cooperation by trying to get patches upstream is still happening.

Even more, you can help with that by filtering the features and patches so that they become suitable for inclusion in the upstream Camel version. Feel free to check out the patches mailing list of Evolution to get an idea of the status of that work.