Some issues with a package of crm114


First of all, to make you know what I am speaking about: crm114 is a programming language invented and written by William Yerazunis. It features some unusual things like overlapping strings and built-in classifiers. It has been used to code some of the most highly efficient spam filter programs and the term crm114 is often associated with these filters and not the language itself.

Some famous quotes about crm114:

“CRM114 isn’t ugly like PERL. It’s a whole different kind of ugly.” – John Bowker

“CRM114 looks a lot like TECO… on acid. And I mean that in the most affectionate way possible.” – Eric Johansson, at LISA 2004

I have tried to build a working package of crm114 for a long time and I think that I have succeeded to produce a working package now. Here it is: However, some issues remain, and I am asking some help with these.

  1. The package drops some shell code ( in /etc/profile.d/ which should be included by /etc/profile to add a required path to the users $PATH environment variable. The package will not work without it. But the path will only be adjusted when the user does a fresh login. Can this be enforced in some way?

  2. crm114 needs two memory mapped files for ham and spam containing hashed tokens. The package will automatically create these two files in the %post section. They will not appear in the %files list. Both are initially empty and tokens are added as the result of training ham and spam. These files must be removed when the package in uninstalled, but they should remain intact when there is just an update of the existing package. How could I do this?

  3. Trained messages are kept in a cache at /var/lib/crm114/reaver_cache/ and this directory can grow to a considerable size over time. The cache is required for retraining the token database (the two files mentioned under point 2.) after any change of the classifier which is user defineable. The cache should be kept during any update of the package, but I think it should be removed with a complete removal of the package. How?

  4. The (original) code of crm114 is somewhat dependent of the 32-bit architecture and had problems on 64-bit systems. I am using a version rewritten by Gerrit Hobbelt reportedly fixing these issues (and introducing some new ones). Please, can anybody with a x86_64 install test the package and report how it works for him?

Thanks a lot.