Subject: Re: xRe: [ecasound] embedding interface version numbers in library names
From: S. Massy (theanaloguekid_AT_tak.net.dhis.org)
Date: Sun Apr 28 2002 - 23:43:04 EEST
On Sun, 28 Apr 2002, Kai Vehmanen <k_AT_eca.cx> wrote:
> On Wed, 24 Apr 2002, S. Massy wrote:
> > Not only do I agree with this scheme but I also suggest extending it to
> > executables as well, just like with Debian.
> I'd really like to avoid making any user-visible changes. And changing the
> executable names would be one.
It wouldn't be visible to the end-user; they'd still invoke ecasound as
"ecasound", only, instead of being the executable itself, it would be a
symlink to something like ecasound-2.1dev8.
> And anyway, unlike libraries, it's quite easy to handle multiple versions
> of executables. You can...:
> - install multiple versions of ecasound to different directories
> - rpm: rpm -iv --prefix=~/apps/ecasound-x.y.z ecasound-x.y.z-1.i386.rpm
> - source: ./configure --prefix=~/apps/ecasound-x.y.z
That's what I do now...
> - use symbolic links to select the default version and for
> creating aliases
> - ln -s ~/apps/ecasound-x.y.z/bin /usr/local/bin/ecasound
> - ln -s ~/apps/ecasound-z.y.z/bin /usr/local/bin/ecasound-x.y.z
> - use autoconf's existing versioning features to automatically
> renamed the executables
> - cd ecasound-x.y.z
> - ./configure --program-suffix=_x.y.z
Well, what I propose is nothing more than to merge those last two ways
together: add the version number as suffix to the executable's name and
make a symlink to it.
> > So when installing, say ecasound v2.1dev8, you'd have the libraries
> > with their respective major versions appended to their names, but the
> > executable installed would be called ecasound-2.1dev8. The
> > /usr/local/bin/ecasound file would be a symlink to your favourite
> > version of ecasound. That would be a great way to have several versions
> > of ecasound live in simple harmony together.
> To do this, we'd need to:
> - have a custom post-install script that checks whether any
> ecasound versions is already installed, and if not, make
> the symbolic link
> - add version numbers to all man-pages, resource files and
Hmm... I hadn't thought of that one... But then again, with the proper
symlinks made it shouldn't be too bad. Of course, the main downside is
that it adds a layer of complexity to the install/uninstall routines. I
guess if it's worth the trouble or not really depends on whether there
are that many users wanting to have two versions of ecasound installed
on their system at the same time.
> And to make rpm happy, we'd need to have different package names for
> different ecasound versions. This would make it impossible to upgrade
> ecasound, because all packages would have separate names. Unlike
> libraries, where interface versions change only between big releases,
> client apps change all the time.
That's not so great an issue since the packages would only have the major
version number included in their name and what we want is mainly to be
able to upgrade between minor releases while having several major
releases installed on the system (stable/devel).
> Audio software for Linux!
> To unsubscribe send message 'unsubscribe' in the body of the
> message to <ecasound-list-request_AT_wakkanet.fi>.
-- To unsubscribe send message 'unsubscribe' in the body of the message to <ecasound-list-request_AT_wakkanet.fi>.
This archive was generated by hypermail 2b28 : Sun Apr 28 2002 - 23:29:51 EEST