On Thu, 2009-03-19 at 20:36 +0100, Adam Williamson wrote: > On Thu, 2009-03-19 at 11:33 -0700, Adam Williamson wrote: > > It was reported on the Mandriva Cooker mailing list: > > > > http://lists.mandriva.com/cooker/2009-03/msg00930.php > > > > that synce's hal scripts are being installed to the 'wrong' location. > > > > Poking about a bit, I see this relevant change in synce-hal: > > > > http://synce.svn.sourceforge.net/viewvc/synce/trunk/hal/configure.ac.in?r1=3679&r2=3693 > > > > which does a better check of whether the location is valid, but doesn't > > change the default. > > > > I guess this may be an issue of old HAL vs. new HAL - i.e. libdir/hal is > > right for older versions, libdir/hal/scripts is right for newer ones. It > > seems bad to have a default that will fail on newer distros, though (I > > ran into this same problem on Fedora Rawhide). Perhaps a more > > sophisticated way to set the default is needed? > > OK, I've looked into this further. It's nothing like that complicated - > it's just flat out the wrong location. > > The offending change in synce-hal is this one: > > http://synce.svn.sourceforge.net/viewvc/synce?view=rev&revision=3544 > > more specifically: > > http://synce.svn.sourceforge.net/viewvc/synce/trunk/hal/hal/Makefile.am?r1=3432&r2=3544&pathrev=3544 > > prior to that, the scripts were installed to libexecdir. Which is I > think a sort of old location, but does work. This change installs them > to libdir/hal instead. > > I don't know who decided on that path, but it's just fundamentally > wrong. Up until hal 0.5.7 (February 2006), HAL scripts were intended to > be installed to datadir/hal/scripts (/usr/share/hal/scripts ). From > 0.5.8 on, they are intended to be installed to libdir/hal/scripts > (/usr/lib/hal/scripts , or possibly /usr/lib64/hal/scripts ). But no > version of HAL has ever expected or supported them being installed in > libdir/hal . > > The relevant bits of code in HAL, FWIW, are hald/hald.c , > hald/Makefile.am and hald-runner/main.c . hald-runner/main.c around line > 254 (depends what version of HAL you have) shows that the valid > locations are just whatever PATH variable hald-runner is called with. > hald/hald.c calls it with a PATH that includes the variables > PACKAGE_LIBEXEC_DIR and PACKAGE_SCRIPT_DIR . hald/Makefile.am defines > these as $(libexecdir) and $(libdir)/hal/scripts , respectively. So > that's why those are the two paths where hal scripts can be placed > (well, there and /usr/bin, which gets pulled in to the PATH somehow, I > didn't bother looking at how). > > The point here is that we should simply change the location in > trunk/hal/configure.ac.in from: > > hal_addon_dir="`pkg-config --variable=libdir hal`/hal" > > to: > > hal_addon_dir="`pkg-config --variable=libdir hal`/hal/scripts" > > and that should solve the problem. This probably merits a new release, > as I think just about any install of synce-hal 0.13.1 just won't work by > default, because of this.
It needs looking into, but that's why configure has the --with-hal-addon-dir option. Distros fiddle so much that it can't be perfect, and you can't guarantee that the configured hal libdir is the same as synce-hal libdir. I'm afraid packagers need to start looking at the configure options available. What hal really needs is perhaps a pkgconfig variable fir this. Mark
signature.asc
Description: This is a digitally signed message part
------------------------------------------------------------------------------ Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are powering Web 2.0 with engaging, cross-platform capabilities. Quickly and easily build your RIAs with Flex Builder, the Eclipse(TM)based development software that enables intelligent coding and step-through debugging. Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
_______________________________________________ SynCE-Devel mailing list SynCE-Devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/synce-devel