| Summary: | app-pda/jpilot-0.99.*.ebuild, not finding plugins | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | James Kyte <james.kyte> |
| Component: | New packages | Assignee: | Gentoo PDA project <pda> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | basdebakker, craig.lawson, gentoo_bugzilla, jamarier, juddrogers, kronenpj, mark, ringo0, stas, stevee, william |
| Priority: | High | ||
| Version: | 2005.1 | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
| Attachments: |
ABILIB and libdir fix
jpilot-0.99.8-r2.ebuild files/jpilot-0.99.8-instpath.patch files/jpilot-0.99.8-instpath.patch |
||
|
Description
James Kyte
2006-03-29 22:46:23 UTC
No such version as 0.99 in portage. Uh, I must be apparently blind. Same thing here, with 0.99.8. It seemed to work fine in 0.99.7 before I upgraded. A temporary fix is to (as root) cd to /usr/lib/jpilot/plugins and ln -s /usr/lib/libkeyring.* ./ (for the keyring plugin, as an example - others are libsynctime and libepxense). Jpilot finds the plugins this way, but it'd obviously be better if the ebuild installed them in the correct place, but I currently have no idea of how to even start trying to patch it to do that, unfortunately. OK, I can do the legwork. The following refers to app-pda/jpilot-0.99.8 In plugins.c this is the line that determines where the plugins are: 154 g_snprintf(path, sizeof(path), "%s/%s/%s/%s/", BASE_DIR, ABILIB, EPN, "plugins"); BASE_DIR is $prefix from configure. Usually /usr. ABILIB is determined in configure as well. Unless ABILIB is set in the build environment it is "lib". From plugins.c 153 /* ABILIB is for Irix, should normally be "lib" */ (Yay Irix.) From configure: 25154 abilib=$ABILIB 25155 if test "x$abilib" = "x"; then 25156 25157 cat >>confdefs.h <<_ACEOF 25158 #define ABILIB "lib" 25159 _ACEOF 25160 25161 else 25162 25163 cat >>confdefs.h <<_ACEOF 25164 #define ABILIB "$abilib" 25165 _ACEOF EPN is defined in utils.h. It is usually "jpilot". 50 #ifdef ENABLE_PROMETHEON 51 #define EPN "copilot" 52 #else 53 #define EPN "jpilot" 54 #endif Thus jpilot usually uses "/usr/lib/jpilot/plugins" for plugins. Now, on to the fix: set ABILIB and fix libdir. The simplest patch is attached. For the correct patch we must also examine INSTALL: 66 === Irix ==================================================================== 67 Irix uses different lib directories for shared libraries. 68 Plugins have to be installed in different directories for this reason. 69 Before compiling you can use: 70 for ELF 64-bit: "export ABILIB=lib64" 71 for ELF N32: "export ABILIB=lib32" 72 for ELF 32-bit: "export ABILIB=lib" 73 ============================================================================= A correct patch would change this section and line 153 of plugins.c to join Gentoo Linux with the ranks of Irix. (Nevermind that the RPM spec file distributed with jpilot has the same bug. Nobody running an RPM system cares about multilib, apparently.) Also, the Changelog would credit me with the fix. :) Created attachment 84682 [details, diff]
ABILIB and libdir fix
(In reply to comment #4) The patch you've got works for me. :) Many thanks. jpilot also looks in ~/.jpilot/plugins for plugins, so if you need a quick workaround and do not want to modify your /usr filesystem by hand you can also symlink the plugins from that directory (possibly creating it first). This might be too late to make any difference, but, why not fix the install to create the missing sym links? Or is this change required because of the "libdir fix"? (whatever that might be). Thanks, Judd The built-in plugin, libsynctime does not work (I assume that this is the same problem) on 0.99.8. It was suggested that I symlink /usr/lib/libsynctime.so.0.0.0 to /usr/lib/jpilot/plugins. I did this and also symlinked into /usr/share/jpilot/plugins and also ~/.jpilot/plugins. The expected behaviour of 'setting time on the pilot' at the end of a Hotsync still does not occur. (reply to comment 4) Patch works for me for 0.99.9 (see bug 148440 for an ebuild) Thanks! *** Bug 159713 has been marked as a duplicate of this bug. *** Reposting here from bug #159713. ========== Libdir for plugins is broken and I don't like the way it is fixed in 0.99.9 - all dirs should be set during econf, not install. Also ebuild during install creates 2 dirs in /usr/share/doc. ========== I don't use multilib, so, someone, pls, test it as-is and if not works with ABILIB prepended to econf. Created attachment 105163 [details]
jpilot-0.99.8-r2.ebuild
Cleaned out all directory setting during make install and doc path epatch line
added.
Created attachment 105164 [details, diff]
files/jpilot-0.99.8-instpath.patch
Patch for docs/Makefile.am and icons/Makefile.am
Created attachment 105170 [details, diff]
files/jpilot-0.99.8-instpath.patch
Sorry all for not correct patch - was my own previous version :( iconsdir now fixed.
Stasyuk's ebuild and patch WFM. Thanks, guys! Fixed in CVS in 0.99.9. |