libftdi Archives

Subject: Parallel installation of libftdi 1.x and 0.x

From: Thomas Jarosch <thomas.jarosch@xxxxxxxxxxxxx>
To: libftdi@xxxxxxxxxxxxxxxxxxxxxxx
Date: Mon, 11 Jun 2012 22:21:58 +0200
Hi there,

I've taken a close look at possible clashes
in parallel installation of libftdi 0.x and 1.x.

Here's the current situation of libftdi 0.18 on Fedora 15:
------------------------------------------------------------
/etc/udev/rules.d/99-libftdi.rules
/usr/lib64/libftdi.so.1
/usr/lib64/libftdi.so.1.18.0
/usr/share/doc/libftdi-0.18/AUTHOS
/usr/share/doc/libftdi-0.18/COPYING.LIB
/usr/share/doc/libftdi-0.18/xxx
/usr/bin/libftdi-config
/usr/include/ftdi.h
/usr/lib64/libftdi.so
/usr/lib64/pkgconfig/libftdi.pc
/usr/share/doc/libftdi-devel-0.18
/usr/share/doc/libftdi-devel-0.18/html
/usr/share/doc/libftdi-devel-0.18/html/xxx
/usr/share/man/man3/Ftdi.3.gz
/usr/share/man/man3/Ftdi_Context.3.gz
...
/usr/share/man/man3/ftdi_device_list.3.gz
/usr/share/man/man3/ftdi_eeprom.3.gz
/usr/share/man/man3/libftdi.3.gz
/usr/share/man/man3/usb_dev_handle.3.gz
------------------------------------------------------------


A parallel installation of libftdi 1.x gives the following trouble:
------------------------------------------------------------
- .so library name clash -> soversion already bumped to 2.x
- libftdi-config name clash
- ftdi.h name clash
- pkgconfig filename clash: libftdi.pc
- man pages name clashes
------------------------------------------------------------


I propose the following changes for libftdi 1.x
------------------------------------------------------------
- libftdi-config -> libftdi-1.0-config
- ftdi.h -> /usr/include/ftdi-1.0.h
- libftdi.pc -> libftdi-1.0.pc (pkgconfig file). Also "libftdipp-1.0.pc"
- we can't do much about possible man page clashes.
  You can't prefix them in doxygen, just redirect
  the output to a non-default directory
- Rename "libftdi.spec" to "libftdi-1.0.spec"
------------------------------------------------------------

Now the big question: Should we also change the library name to "libftdi-1.0"?
IMHO it's a good idea since broken linker flags might point to the previous
libftdi 0.1 and result in very bogus error messages.

The "-X.0" suffix is used by several projects like libxml2 or glib2.
It will stay at "-1.0" if we increase the official version f.e. to 1.5.
I'm not fixed on the "-X.0", I just want -any- suffix to be in there.
We could also go for "libftdi1" instead of "libftdi-1.0".

Distributions could also offer a "libftdi1-compat" package which
provides symbolic links from the libftdi 0.x file locations to 1.x
if libftdi-devel from 0.x is not installed in parallel.
The APIs should be mostly compatible.


Opinions? Better ideas?

Thomas

--
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to libftdi+unsubscribe@xxxxxxxxxxxxxxxxxxxxxxx   

Current Thread