Skip to content.

TalkBMC

Sections
You are here: Home » Blog Archive » Steve Carl » Adventures in Linux » Upgrading Evolution

Upgrading Evolution Upgrading Evolution

Document Actions
Every Evolution upgrade ends up as more or less starting over

Quick level set:

  • BMC uses MS Exchange 2003 for email.

  • I use Linux as a primary desktop at the office.

If you use Linux as your professional workstation in an MS Windows infra-structured world, and you have to do any cross calendaring with others in your shop not on Linux desktops you probably use Evolution.

You might use Korganizer, and its MS Exchange download capabilities, but more than likely it's lack of maturity relative to Evolution has left you back on Evolution, or just using the web interface. I make this statement not because I dislike KDE's Koffice toolset, but because the calendaring application Korganizer inside "Kontact" has had the same silly message about calendaring "uploads being experimental" for years now. And the time zone thing still doesn't work right. This feature is clearly getting no cycles.

I love Korganizer, especially when I want to sync to my PalmOS powered Sony SJ20. Working with MS Exchange is clearly not where they (the KDE folks) are headed with that. MS doesn't want them to, and there are other open email / calendaring projects that do want their support. It's easier to go where you are loved.

I admit I do get tired of constantly dealing with MS's undocumented interfaces. I can only imagine how the folks on the Evolution Connector or Samba projects feel about it. They do a good job in a hostile work environment, so I do not want anything I say here to take away from that. As long as Evolution works, I won't have to use OWA (Outlook Web Access) for calendaring. That is a "Good Thing" (tm).

The Evolution project clearly keep on working on the Exchange Connector despite any roadblocks. Back in Evolution 2.6 I was having severe problems with public folders. So far in 2.8 and now 2.10, that has not been an issue. So, something that worked was broken and then later fixed: a good sign of life.

What has been an issue is that every single time I change the Evolution release, I have to essentially start over.

Starting Over

Upgrades should work. In this day and age we know things won't stay the same, but that if they change, we expect the software to correctly deal with that. Standard Operating Procedure for upgrades of software is that you expect that if it is only a one version bump that the software will "Do the Right thing" as it pertains to configuration files. Ditto file formats. It doesn't matter if they did or did not change between any two given releases: the expectation is that software is upwardly compatible *as long as it is only one major release*. Example: When I installed Parallels 3.0 on my Apple, and fired it up for the first time, it looked at the disk image of the VM I wanted to boot and noted that it was in the old format. It further warned me that it would convert it, but that it was one-way: I was committed to 3.0 for that VM from then on. Then is asked if I wanted to proceed. I did, it whirred for a bit, then booted the OS without issue in the new disk format.

I know this being upward compatible thing is not a rule, written down anywhere, or cast in stone, or written in 3d holograms upon the night sky or anything. It just is the way it normally is, and it is only common sense. You don't want your end users all mad at you because they are having to go through major upgrade pains every time you rev your software. Look at how often Open Sources rev's! Talk about never getting anything done...

In September of 2006, I was working with 2.6.1 of Evolution. Shortly after than, 2.6.3. October brought in 2.8.1. I noted in the "Masher" series on of the reasons I did the Mashing was to get to the Ubuntu 7.04 code base ASAP, and it's Evolution 2.10.1 version.

Every single time I upgraded: be it inside the same Distro (Ubuntu 6.10 to Ubuntu 7.04), or on a different Distro (Fedora 6 to Mint 3) I had to start completely over on my Evolution config. Sometimes it would run for a while, and trick me, but sooner or later it would get unstable, or one thing or another would just refuse to work. This last time I was subscribed to a public calendar off MS Exchange, and after an upgrade I could not see the public calendar anymore. I could not delete it or re-add it. Nothing. Totally stuck in limbo. At the same time I was upgrading a different box, and it had the reverse issue: It could not see my personal in-box, but could see the public calendar just fine.

Brain Drain

To fix this is always the same. I dislike re-booting to fix problems. I find that to be very MS Windowsy, cntrl-alt-delete thinking. Linux is better than that. After you see the script I run, you may not think so though:

echo "Here is the evo stuff still running"
# Level set what is running
ps -ef | grep -i evolution
ps -ef | grep -i bonobo
# Not everything dies the first try. Loop three times just to be sure. Cheap insurance.
for x in 1 2 3
do
  echo $x
  echo "Killing Evo with gconftool"
  gconftool-2 --shutdown
  echo "Kill Evo with evo-force"
  evolution --force-shutdown
  echo "killing spamd"
  pkill spamd
  echo "Killing Bonbobo, since it likes to hang around"
  pkill -9 bonobo
  echo "Killing Bonbobo AS, since it likes to hang around"
  pkill -9 bonobo-activation-server
  echo "syncing disks"
# Old school... but still needs to be done. Linux still caches disk writes.
  sync
  sleep 1
done
echo "Evo should be dead, Jim"
echo "If anything shows up after this line, somethings bad. Manual killing in order."
# Bonobo and Evolution cache account info in memory. They have to be gone before the config files are moved out of the way.
ps -ef | grep -i evolution
ps -ef | grep -i bonobo

cd
echo "Wiping gnome and evolution files from existence"
# I keep mailing lists like KDE and Evolution archived here, so I can get rid of the directory. I move it and copy things back later.
mv  ~/.evolution ~/.evolution.old
rm -Rf ~/.gconf/apps/evolution
sync ; sync ; sync

Ugly. Brutish. Hammer time.

Now I restart Evolution, and instead of a password prompt, I get a new account set up. Going through all the usual screens, I get it all going again, re tweak all the bazillion things I change. Things like:

  1. Setting up HTML mail (I know, I know, but it is popular here)

  2. Setting attachments to inline (Seems to work better w/ Outlook folks)

  3. Setting new Sig.

  4. Make sure spell check is set. With Ubuntu and friends installing Evolution does not get you spell checking automatically. Still have to install "gnome-spell", and the right "aspell" dictionaries.

  5. Reset which GAL server it uses. It picks one that starts with 'A'. Looks like maybe is sees an alpha sorted list and just picked the first one. I need the one in Houston though.

  6. Setting GAL queries to 50 rather than 500: seems to run faster.

  7. Setting reply above

  8. Turn off all the Groupwise plugins: I doubt they do anything against MS Exchange.

  9. Have it check mail every 3 minutes: I am not really sure this setting has meaning under connector.

  10. Turn off Junk filtering. We do that out there in the SMTP infrastructure. Nice to have for a small company, but then, a small company would be running MS Exchange more than likely.

Test Evolution. If it looks good, log out of Evolution, and then go over to .evolution.old/mail/local with either Konqueror or Nautilus, and copy the archived mail folders without the meta or indexes back to the newly created  .evolution/mail/local/. Firing up Evolution, and clicking on the folders in the "On this Computer" location rebuilds the indexes and other Meta, and things are back as they should be.

Being Good at Something I Should Not Be

I do this so much that I am very fast at it. I should not have to be. Hopefully the reason why that is should be obvious, but just in case: if I was a new person to Linux and I was told that this was upgrade protocol for this application, the likelihood would be that they would say "Yeah: right... So, how do I install Outlook under Linux?" (With Codeweavers Crossover, but that isn't the point).

Once I do this, I am usually good to go till the next OS upgrade. I only get a couple hundred emails a day though, and I keep them triaged so that MS Exchange does not have huge folders on it. Whurley isn't so lucky. Everyone beats his email inbox up so badly that Evolution can't keep up with the MS Exchange server folder size, and just abends. Yuch.

It is this kind of thing, more than any other, that keeps Linux from wider adoption. The MS folks are in your workplace. They have their stuff all over the place. It does not play nice with others. Tell your MS folks that, and they will reply that it works fine from their box. Unless you work at a place where they are willing to pull out the email plumbing and hook up something standards compliant, this is the game that is in town. I (like many who would read such column as this) know how to work around such things, but the average user will not even want to learn why this is.

They will just want something that "works". And they don't appear to mind rebooting a great deal to make it "work". Easier than root cause analysis. This is one of the great computer divides. Those who who would rather reboot than switch. And those that would rather work-around or fix than reboot.

Evolution, and Linux in general is getting better all the time. When this gets Evolution upgrade problem as well as the folder scale problem whurley is having are fixed, a real barrier to Linux on the desktop adoption will have fallen.


_____
tags:
Wednesday, June 20, 2007  |  Permalink |  Comments (1)

hear! hear!

Posted by Rod at 2007-06-25 06:59
An upgrade and box move from a Fedora Core 6 evolution 2.8.3 to Fedora 7 evolution 2.10.2, and all hell breaks loose. Evolution crashes and hoses X while it's at it, too.
 

Powered by Plone

This site conforms to the following standards: