library versioning
Jeff Franks
jcfranks at tpg.com.au
Sun Jan 23 00:52:27 CET 2005
Brian J. Tarricone wrote:
> hi all,
>
> i have an idea... not sure if it's worth the work, but i thought i'd
> put it out there. in light of all the problems with people upgrading,
> and trying to use parallel stable and CVS, do we perhaps want to start
> versioning the filenames of our libs a bit better?
Good idea.
>
> ideally, we'd be doing something like "libxfcegui-4.3.so",
> "libxfceutil-4.3.so", etc. etc. note that i took the "4" out of the
> library names altogether, which i guess might be a bit lame to do at
> this point, so we'd stick with the lameness of "libxfcegui4-4.3.so"
> and "libxfce4util-4.3.so", etc. or perhaps, since we're versioning
> the .pc files as, e.g., "libxfcegui4-1.0.pc", we could just increment
> the minor on that guy, and use that in the filename versioning as
> well. so we'd have, for the current CVS, libxfcegui4-1.3.pc and
> libxfcegui4-1.3.so. or something like that.
It really should be libxfcegui-4.3.pc, not libxfcegui4-1.3.pc. Why have
an extra version number (1.3) tacked on the end.
>
> benefits:
> 1) no more complaints about "undefined: xfce_builtin_license_GPL" and
> the like.
> 2) no more complaints from people wanting to install both in parallel
> (presumably, to different prefixes: i'm not advocating putting minor
> version suffixes on the binaries too).
> 3) easier for us devs to have 4.2 and stable on our machines for
> patching and bugfixing and testing and whatnot.
>
> annoyances:
> 1) we have to figure out the naming scheme. if we want to do it the
> totally aesthetic way (libxfceutil-4.3), then that involves actually
> changing the package name, which would probably be more trouble than
> it's worth. so we could just do libxfce4util-4.3, or libxfce4util-1.3
> (i prefer -4.3). looks a little confusing, but who cares, really?
Wasn't this one of the issues raised by Benedikt, rationalizing the
names and number of CVS modules?
> 2) plugins would now be required to update their dependencies when we
> do a new 4.x release, since (presumably) the normal user would want to
> uninstall their old libraries when they upgrade, and since the soname
> is different, they'll have dangling library deps. for 4.2, all we
> required was a recompile, which the user can do on their own. but
> updating the required library soname requires configure.ac hacking
> (ok, it's only a one-line change per library, but still). to be the
> most flexible, this would require something lame-looking like:
>
> BM_DEPEND_CHECK([LIBXFCE4UTIL], [libxfce4util-4.3], [4.2.0])
> if test "x$LIBXFCE4UTIL_FOUND" != "xyes"; then
> BM_DEPEND([LIBXFCE4UTIL], [libxfce4util-1.0], [4.2.0])
> fi
>
> so, thoughts? i'd be willing to make the required
> makefile/configure.ac/pkgconfig changes necessary for all modules,
> though 3rd-party plugin authors would have to make the changes
> themselves.
It would be worth making these changes, so that the problem gets fixed,
once and for all.
Just my thoughts,
Jeff Franks
More information about the Xfce4-dev
mailing list