site  contact  subhomenews

Osmo PIM 0.2.14 compiled in OE

January 17, 2022 — BarryK

Very good news about Osmo. "PIM" means Personal Information Manager, and Osmo has been in the pups for a very long time. However, it is somewhat neglected and not as well integrated as could be.

The way this latest work with Osmo came about, is I have an elderly relative who has a mobile phone with prepaid account with a telco. I pay it, every 4 weeks. Don't want to do a direct-debit with a bank, so renewal requires me to remember when to pay... and I forget.

Besides, renewal is peculiar. I have to pay $15 for the renewal, then separately have to pay $5 international-calls addon. That second payment requires a manual online choice. I cannot see how to automate this with direct-debit or bpay. The telco is Optus.

I also forget birthdays!

Hence the thought of Osmo came up. It needs to default to run in the systray at every startup. It has great task management features, and I can set it to remind me every 4 weeks, by audio alarm and notify popup. It can also flash in the systray.

I have modified the package, it is no longer in the menu. It now starts every time in the systray, minimized until you click on it.

EasyOS and the pups use Osmo version 0.2.10, released in March 2010, as that is the last that supports 'libgtkhtml' for text rendering. After that, Osmo requires webkitgtk, which is enormous, and is a gross overkill.

So we stayed with 0.2.10. wdlkmpx has maintained it for woof-CE, with several patches:

https://github.com/wdlkmpx/osmo/

Today I wondered if it might be possible to revert the removal of libgtkhml on a later version of osmo. Version 0.2.14 was released in 2015:

https://sourceforge.net/projects/osmo-pim/files/osmo-pim/

I found the commit where libgtkhtml was removed:

https://sourceforge.net/p/osmo-pim/osmo/ci/f7bb3bbb97bee8d851b7d49d71261016b7d9e59b/

I then downloaded version 0.2.12 and attempted to revert that commit:

# git clone -b RELEASE_0_2_12 https://git.code.sf.net/p/osmo-pim/osmo osmo-0.2.12
# cd osmo-0.2.12
# git revert f7bb3b

...interesting, succeeded except for src/task.c that it badly screwed up. By reference to the original commit, I fixed src/task.c

It took awhile, but the end result is have patches to restore libgtkhtml for osmo 0.2.12 and 0.2.14:

https://distro.ibiblio.org/easyos/source/alphabetical/o/

...the "autoreconf" patches are also required, to update the 'configure' script. The "-p2" tarballs have the patches applied.

I have compiled 0.2.14 in OpenEmbedded. Only needed the restore-libgtkhtml patch, as OE runs autoreconf to rebuild the 'configure' script.

Here is the Osmo homepage:

https://clayo.org/osmo/

Regarding libgtkhtml, that is a dead project; however, we have patched it a few times. James did some work on it awhile back, and we have version 2.12:

https://bkhome.org/news/202002/helpsurfer-crash-fixed.html

I use that source in OpenEmbedded, but apply another patch to fix working with libxml2. If you want that patch, you will have to open up the OE tarball:

https://distro.ibiblio.org/easyos/project/oe/dunfell/

Note that libgtkhtml is also used by 'notecase' notes manager and 'surfer' local web page viewer.

EDIT 2022-01-18:
We have discussed this on the Puppy Forum:

https://forum.puppylinux.com/viewtopic.php?t=4959

It turns out there is a bug with the patch for 0.2.14. However, I found that the libgtkhtml patch for 0.2.12 works. Something has changed between 0.2.12 and 0.2.14 that causes the bug.

So will compile 0.2.12 in OE. 

Tags: easy