[XviD-devel] Debianized tree for devapi4 available
Edouard Gomez
ed.gomez at free.fr
Fri Oct 17 03:16:59 CEST 2003
Hello,
More news about devapi4.
I know it's still not time to release it, but I'm working on making it a
bit less rough on the edges than 0.9.x releases, especially concerning
the packaging on GNU/Linux distros.
I still see packages (especially RPMs) that are probably not very good
for users from the maintainability of their systems. As a proof of
concept, I had a debianized tree of devapi3 and devapi4 since many
months. I think it's time to publish it, so xvid 1.0 will be better
packaged.
So what was the main goal:
- make upgrades easy for users (the debian moto)
How do i achieved that:
- the package's name depends only on xvidcore string and the Major API
version, and is versioned with the lib version (as branded by us,
0.9.x, or 1.0.x). This package provides
libxvidcore.so.$MAJOR_API.$MINOR_API, and because of some unix ld
limitations, a .so.$MAJOR_API symlink to the
.so.$MAJOR_API.$MINOR_API
=> A user will never be forced to upgrade libxvidcore if the major
API does not change. User versions may differ but if they are
binary compatible, there is no reason to force the user upgrading.
=> Multiple major API versions can live together.
=> Programs using XviD are linked against the .so.$MAJOR_API, this
ensure smooth upgrades for the client applications as there will
never be two incompatible versions having a same .so.$MAJOR_API
- the dev package provides the header file, the static library and a
.so symlink to the libxvidcore.so.$MAJOR_API. The package has to
conflict with other MAJOR_API versions, so the client applications
still use #include <xvid.h> and not some kind of tricky #include
<xvid2/xvid.h>
=> the .so symlink pointing to .so.$MAJOR_API ensures applications
are linked against .so.$MAJOR_API symlink. This is good for
keeping bin compatibility as explained in the previous points.
=> All the apps can #include <xvid.h>
On debian, this is the default policy for libs (sorry if i'm not clear,
read the debian policy for real and precise reasons). I'm sorry but i
don't have a RPM based distro to show you how to accomplish all that
with .desc file. Contributions are welcome.
Debianized tarballs available on my web page:
http://ed.gomez.free.fr/
--
Edouard Gomez
More information about the XviD-devel
mailing list