After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 119231 - [0.6.3/patch] modular gst-register
[0.6.3/patch] modular gst-register
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
git master
Other Linux
: Normal normal
: 0.6.x
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks: 113492
 
 
Reported: 2003-08-06 03:16 UTC by David Schleef
Modified: 2004-12-22 21:47 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
backport (1.37 KB, patch)
2003-08-19 08:06 UTC, David Schleef
none Details | Review

Description David Schleef 2003-08-06 03:16:11 UTC
Gstreamer needs a generic script interface so that applications such as
gst-player can register an executable that is called when plugins are
installed or uninstalled by the administrator.  This is needed to update
the bonobo server file for gst-player correctly when plugins are installed
or removed.

gst-register could be just one more component, or we could use the
gst-register name, and rename the executable that actually creates registries.
Comment 1 Benjamin Otte (Company) 2003-08-07 08:03:04 UTC
Couldn't we just make gst-register execute all binaries in a
directory, like $PREFIX/lib/gstreamer-$GST_VERSION/gst-register after
it is done updating the registry?
Comment 2 David Schleef 2003-08-08 21:44:07 UTC
That's another option.  I was thinking of putting the registry
rebuilder code into a binary in that directory, but it doesn't matter,
really.

A shell script to run every file in a directory is about 5 lines.  The
equivalent C is a bit more complicated.  That seems to be the only
advantage.
Comment 3 David Schleef 2003-08-19 08:02:29 UTC
Using the power of glib, running each script in a directory is about
15 lines of C.  So this is done and checked in to HEAD.

I'd like to backport this to 0.6, since I think it's needed for #113492.
Comment 4 David Schleef 2003-08-19 08:06:33 UTC
Created attachment 19338 [details] [review]
backport
Comment 5 Ronald Bultje 2003-08-19 09:02:49 UTC
How is this related to #113492?

And erm, I personally don't like { .. }, can you make that a
G_STMT_START/G_STMT_END or do { ... } while (0)?
Comment 6 Thomas Vander Stichele 2003-08-21 09:11:26 UTC
doesn't this need additional changes for actual scripts to run ?
or examples of what this would then bring us ?
Comment 7 David Schleef 2003-08-21 18:04:43 UTC
If you put an executable in /usr/lib/gstreamer-0.6/scripts, it will be
run by gst-register whenever the registry is rebuilt.  This is, for
example, a way that gst-player could update
/usr/lib/bonobo/servers/Gst-Player-Control.server whenever plugins are
installed or uninstalled on a system.

Nautilus media does the same thing, but has 3 media types hard-coded.
Comment 8 Thomas Vander Stichele 2003-08-26 10:43:49 UTC
sounds like a good idea but needs more discussion.  Not sure if that
is the right dir for it too.  libexec sounds better.  Also, Julien had
crashes in this new bit of code, so I'm not putting in stable just yet.
Comment 9 David Schleef 2003-08-30 06:46:32 UTC
Yeah, scripts/ is probably bad.  Perhaps register_exec/?  register_rc.d/?
Comment 10 David Schleef 2003-10-31 04:34:35 UTC
This was checked in at some time in the past.