parallel installation issues for gstreamer
- From: Thomas Vander Stichele <thomas urgent rug ac be>
- To: desktop-devel-list gnome org
- Subject: parallel installation issues for gstreamer
- Date: Sun, 8 Dec 2002 14:46:28 +0100 (CET)
Hi,
so I'm spending my weekend preparing GStreamer for inclusion in gnome 2.2.
I am currently working out how to properly convert GStreamer to be
parallel installable. I've got most things worked out, but I need some
guidance for some specific cases.
The theoretical goal is to make all versions with different major/minor
before 1.0 parallel-installable. We'll be doing minor even = stable
releases from now on, so this basically applies to the "stable" versions
gstreamer-0.6 and gstreamer-0.8, and the development versions for those,
gstreamer-0.5 and gstreamer-0.7
Here's what I changed :
* include headers end up in $(includedir)/gstreamer-0.5
* all libraries end up as $(libdir)/libname-0.5.so,
with proper libtool versioning
* all plug-ins end up as $(libdir)/gstreamer-0.5/libgst*, without any
libtool versioning
* all .pc files end up as $(libdir)/pkgconfig/gstreamer-(...-)0.5.pc
* the registry cache ends up in $(localstatedir)/cache/gstreamer-0.5/
* a gst-element-check.m4 gets installed a gst-element-check-0.5.m4 as
well (but this is debatable)
The gst-plugins package will install to the same locations (when it used
to install to a gst-plugins namespace in the past).
As for binaries, I didn't version them, but moved them to a separate rpm,
so that one gstreamer-tools rpm can work on both a 0.6 install and a 0.8
install. The details of that I will figure out later, they're not that
important right now.
This makes the core of gstreamer fully parallel-installable.
Now, on to some of the problems.
a) gst-plugins installs a schema. I can do three things:
- leave the path in gconf to /system/gstreamer and keep the filename
gstreamer.schemas, making it not parallel-installable
- change both the filename and the path to gstreamer-0.5
- make a separate package ONLY for the schema file, so that this
too can be reused among different incompatible versions.
I prefer the second option. The first would nullify the work I did
already to make it fully parallel-installable, which is a worthwhile
goal. The third one is overkill IMO.
b) gst-element-check.m4 being installed as gst-element-check-0.5.m4
this is an m4 to check if a plug-in is available. It seems stupid to
version the filename only so it can be parallel installable, but I
see no cleaner solution.
Also, I'm not quite sure how aclocal behaves when two different files
provide the same macro. Does it use either one randomly or complain
spectacularly ?
c) is it ok to "not care" about binaries and man pages for them, since
it's stupid to version them and since they can be moved to a separate
package that would work with both installs ?
Any hints from old-school hackers that faced similar problems as well as
"newer" hackers with fresh minds are appreciated ;)
Thomas
--
The Dave/Dina Project : future TV today ! - http://davedina.apestaart.org/
<-*- thomas (dot) apestaart (dot) org -*->
I may be love's bitch
But at least I'm man enough to admit it.
<-*- thomas (at) apestaart (dot) org -*->
URGent, the best radio on the Internet - 24/7 ! - http://urgent.rug.ac.be/
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]