On Fri, Feb 20, 2009 at 3:08 PM, Chris Bagwell <chris at cnpbagwell.com> wrote: > > > On Fri, Feb 20, 2009 at 12:38 PM, m. allan noah <kitno455 at gmail.com> wrote: >> >> I'm not sure, but i think the build system used to overwrite all the >> .so and .so.1 symlinks. It no longer does. I think this is a useful >> feature, because you can tell users just to build from source and they >> will be using the new version. Otherwise, they have to uninstall the >> old version, and this can get hairy with novice users and helpful >> package managers. >> > > You mean during install phase, right?
yes. > > When backend was converted to automake, it uses the standard automake > support to install libraries. That does install symlinks on fresh install. > > I think your point is that now if a user installs, libsane.so.1.1.0 on top > of a previous libsane.so.1.0.19 install then libsane.so symlink still points > to libsane.so.1.0.19? it's not just that it leaves the links behind, it actually makes the links to 1.0.19, even when 1.1.0 is also installed. > I've not tried above yet but seems reasonable libtool behavior to me. I'll > read up on libtool and see if they have an "opinion" on this. > > I didn't port over the following logic from old "install-be" target but it > must have been doing what you said (move symlink to libsane.so.1.1.0). The > comment suggested that libtool simply wasn't working but since it was I > didn't bother porting over... > > If people agree with old behavior, I can add it back. Old logic seems > dangerious if we ever have a libsane.so.2.0.0 (as apposed to > libsane2.so.0.0.0). We don't want to move libsane.so to libsane.so.2.0.0 > blindly or else will break a lot of applications that were working fine. > But since we are not at that point yet, no issue to restore it. Moving > libsane.so.x to lastest version of libsane.so.x.y.z seems safe. yes. but i think we are going to end up with libsane2.so anyway, so don't worry about that. allan > > @# Create library links manually. Actually this is libtool's job but > it > doesn't > @# seem to work on some platforms. > @# Assume the dll name without any versions is last > @if test "$(USE_LINKS)" = "yes" ; then \ > dllend=`../tools/libtool-get- > dll-ext libsane-dll.la`; \ > list="$(ALL_BACKENDS)"; cd $(DESTDIR)$(libsanedir) && for be in > $$list > ; do \ > file=libsane-$${be}.$$dllend.$(V_MAJOR); \ > lib=`grep dlname= libsane-$${be}.la | cut -f2 -d"'"`; \ > if test ! -f $${file} -a -n "$${lib}"; then \ > $(LN_S) $${lib} $${file}; \ > fi; \ > done; \ > fi > > > Chris > > -- "The truth is an offense, but not a sin"