Hey, it seems that Thunar embeds the tdb library. Can't it use the system tdb library instead of shipping its own? It seems that it was imported by Benedikt in 2005 and was only updated to fix compiler warnings.
I have a tentative patch, but trying to look at the results, I saw: -rw------- 1 corsac corsac 8,0K 9 janv. 2010 .cache/Thunar/metafile.tdb so is the tdb cache really used at all?
Created attachment 3475 use system tdb library
Grmbl, lost my previous comment by attaching the patch. So here's a tentative patch (against master but it applies fine to 1.2.1) to remove embedded tdb and use system one. Emblems are displayed correctly so I guess the cache works fine. I didn't set any required version but it might be best to set it to the version Benny used at that time. I've casted the gchar * (from g_file_get_uri) to unsigned char* to fix warnings from the compiler.
The real solution would be using the GVFS backend for storing emblems and if we keep tdb, it should link optionally to the system version.
Yeah it might not make sense to keep tdb at all. By optional you mean optional support at all or optional system support (and fall back to internal copy)?
Yes, IIRC tdb was previously shipped inside samba, so better to fallback if not found (or with --disable-tdb).
It seems that most distributions ship tdb separately from samba: http://dde.debian.net/dde/q/distromatch/match/debian/libtdb1 http://dde.debian.net/dde/q/distromatch/match/debian/libtdb-dev
Dropped the lib and rely on gvfs-metadata instead in master. We only use it for emblems atm.