Bug 438225 - Add GStreamer provides to default rpm-build config
Summary: Add GStreamer provides to default rpm-build config
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: rpm
Version: rawhide
Hardware: All
OS: Linux
low
low
Target Milestone: ---
Assignee: Panu Matilainen
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: F10Blocker, F10FinalBlocker 456906
TreeView+ depends on / blocked
 
Reported: 2008-03-19 19:18 UTC by Bastien Nocera
Modified: 2009-09-21 22:07 UTC (History)
9 users (show)

Fixed In Version:
Doc Type: Enhancement
Doc Text:
Clone Of:
Environment:
Last Closed: 2008-09-11 12:25:08 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
rpm-gst-provides.patch (469 bytes, patch)
2008-03-19 19:18 UTC, Bastien Nocera
no flags Details | Diff
rpm-gst-internal-provides.patch (947 bytes, patch)
2008-03-20 17:20 UTC, Bastien Nocera
no flags Details | Diff

Description Bastien Nocera 2008-03-19 19:18:17 UTC
Currently there's no way for gstreamer-devel to add a provides script that
wouldn't require modificatiosn.

Either I'd need spec files developers to make changes:
%define _use_internal_dependency_generator 0

Or I'd need repository providers to install a modified RPM package.

With the attached patch, gstreamer-devel can provide the gstreamer.prov file
itself. Or we could have a find-provides.d/ directory, as used in the redhat/
sub-directory.

Comment 1 Bastien Nocera 2008-03-19 19:18:17 UTC
Created attachment 298574 [details]
rpm-gst-provides.patch

Comment 2 Bastien Nocera 2008-03-20 11:12:22 UTC
Panu tells me that this still doesn't make the script run when the internal dep
generator is used.  The solution would be to add a section to the generic
elf-dep extraction to see if the file is in gstreamer plugins dir.

Comment 3 Bastien Nocera 2008-03-20 11:13:37 UTC
Location is rpmfcELF() in build/rpmfc.c

Comment 4 Bastien Nocera 2008-03-20 17:20:46 UTC
Created attachment 298716 [details]
rpm-gst-internal-provides.patch

Patch to do this internally.

I believe it won't create much problems (we only run it for library, which is
what gstreaner plugins are, and it will silently fail if the gstreamer.prov
script isn't installed)

Comment 5 Panu Matilainen 2008-04-01 08:22:06 UTC
Now that 4.4.2.3 went into rawhide, I'll give it a couple of days to settle and
then check this one - don't despair yet :)

Comment 6 Richard Hughes 2008-05-02 13:33:39 UTC
Panu, I need to do the same for desktop mimetypes. Could you please add the
following additional lines to Bastiens patch when you commit it pls:

+    /* Add possible MimeType provides */
+    xx = rpmfcHelper(fc, 'P', "desktop-mime-type");

 and

+ __desktop_mime_provides	@RPMCONFIGDIR@/desktop-mime-type.prov

Yell if you want a standard patch to apply. Thanks!

Richard.


Comment 7 Bug Zapper 2008-05-14 06:44:23 UTC
Changing version to '9' as part of upcoming Fedora 9 GA.
More information and reason for this action is here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 8 Richard Hughes 2008-06-09 17:32:02 UTC
Panu, any ideas if this will be available for F10? Its a major new feature for PK.

Comment 9 Behdad Esfahbod 2008-06-10 00:28:34 UTC
We need a similar features for fonts.  Can't this be refactored into a
provides-scripts.d directory so we don't have to modify rpm package everytime?

Comment 10 Behdad Esfahbod 2008-06-24 18:49:48 UTC
(In reply to comment #9)
> We need a similar features for fonts.  Can't this be refactored into a
> provides-scripts.d directory so we don't have to modify rpm package everytime?

PING?

Comment 11 Panu Matilainen 2008-06-25 05:45:18 UTC
> Can't this be refactored into a provides-scripts.d directory so we don't 
> have to modify rpm package everytime?

Bingo. This thing needs a more generic framework, adding hacks into rpm for
everything just doesn't fly. Such a framework is something I certainly want to
get done sooner than later but will it make it to F10 is another question -
frankly I dunno, there are so many other, bigger things on the plate already.

What exactly do you have in mind for fonts, something like extracting "fc-list"
style names and providing those or...?

Comment 12 Behdad Esfahbod 2008-06-25 12:38:02 UTC
(In reply to comment #11)

> What exactly do you have in mind for fonts, something like extracting "fc-list"
> style names and providing those or...?

Exactly.  Providing three kind of tags: language-only, family-only,
language-family-pair.  Like:

font(:lang=en)
font(DejaVuSans)
font(DejaVuSans:lang=en)

This is the missing part of making automatic font installation with PackageKit work.

Comment 13 Richard Hughes 2008-06-25 13:59:23 UTC
Panu, this is one of the major new features for F10. If we can't do it cleanly,
can we hack it in the srpm to make it work, and then build a proper framework
post F10? I personally need my patch in well before F10, as all the applications
have to be rebuilt to generate the auto-provides.

Comment 14 Paul W. Frields 2008-07-21 22:30:21 UTC
Ping?

Comment 15 Jon Stanley 2008-07-31 23:48:31 UTC
version back to rawhide.

Comment 16 Panu Matilainen 2008-09-11 12:25:08 UTC
The minimal patch to look for gstreamer provides is now in rawhide (rpm-4.5.90-0.git8461.7). It's slightly different from the one in comment #4:
- it gets only run on DSO's, not every elf file
- it honors autoprov: no
- the macros.in part is not applied, as it would cause every build where gstreamer-devel is not installed to blow up

Bastien, make gstreamer-devel drop in /etc/rpm/macros.gstreamer file that contains the following line to actually enable it:
%__gstreamer_provides  /usr/lib/rpm/gstreamer.prov

As for the mimetypes and such - not going to happen in F10. We'll try to get a saner and a more generic mechanism into place for F11, it's certainly needed.

Comment 17 Paul W. Frields 2009-09-21 22:07:01 UTC
Isn't this long since done?


Note You need to log in before you can comment on or make changes to this bug.