Bug 438225

Summary: Add GStreamer provides to default rpm-build config
Product: [Fedora] Fedora Reporter: Bastien Nocera <bnocera>
Component: rpmAssignee: Panu Matilainen <pmatilai>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: low    
Version: rawhideCC: bdpepple, behdad, herrold, jonstanley, matt_domsch, pnasrat, poelstra, richard, stickster
Target Milestone: ---Keywords: FutureFeature
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-09-11 08:25:08 EDT Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Bug Depends On:    
Bug Blocks: 438943, 456906    
Attachments:
Description Flags
rpm-gst-provides.patch
none
rpm-gst-internal-provides.patch none

Description Bastien Nocera 2008-03-19 15:18:17 EDT
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 15:18:17 EDT
Created attachment 298574 [details]
rpm-gst-provides.patch
Comment 2 Bastien Nocera 2008-03-20 07:12:22 EDT
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 07:13:37 EDT
Location is rpmfcELF() in build/rpmfc.c
Comment 4 Bastien Nocera 2008-03-20 13:20:46 EDT
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 04:22:06 EDT
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 09:33:39 EDT
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 02:44:23 EDT
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 13:32:02 EDT
Panu, any ideas if this will be available for F10? Its a major new feature for PK.
Comment 9 Behdad Esfahbod 2008-06-09 20:28:34 EDT
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 14:49:48 EDT
(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 01:45:18 EDT
> 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 08:38:02 EDT
(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 09:59:23 EDT
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 18:30:21 EDT
Ping?
Comment 15 Jon Stanley 2008-07-31 19:48:31 EDT
version back to rawhide.
Comment 16 Panu Matilainen 2008-09-11 08:25:08 EDT
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 18:07:01 EDT
Isn't this long since done?