GNOME Bugzilla – Bug 767618
Package produced by cerbero misses some include folders
Last modified: 2016-06-22 07:22:52 UTC
When compiling gstreamer 1.9 with cerbero: ./cerbero-uninstalled -c config/cross-android-armv7.cbc package gstreamer-1.0 it produces gstreamer-1.0-android-armv7-1.9.0.1.tar.bz2 This tarball doesn't include the folders include/gstreamer-1.0/gst/[basecamerabinsrc, codecparsers, insertbin, interfaces, uridownloader, validate] while those folders are present in cerbero/build/dist/android_armv7/include/gstreamer-1.0/gst
This isn't clear, there should be two tarballs, one with the runtime and the other, -devel, with all the headers and static lib (the first one is not that useful on android). Note that we voluntarily don't publish unstable APIs, some of what you listed is part of it.
I get two tarballs indeed, not exactly the name you are describing: gstreamer-1.0-android-armv7-1.9.0.1-runtime.tar.bz2 gstreamer-1.0-android-armv7-1.9.0.1.tar.bz2 So if I want the unstable APIs, how should I do it? Is there an option in cerbero to produce tarball with unstable APIs?
Ah, sorry, indeed. I notice that some of the unstable API is exposed, so it's likely just a bug indeed. If you'd like to help, you can fix it by adding the requires folder and files to the "files_plugins_devel" in recipes/gst-plugins-bad-1.0.recipe. Split each library in it's own patch, so we can discuss if we want or not those library to be exposed.
I compared gstreamer-1.0-android-armv7-1.9.0.1.tar.bz2 and include/gstreamer-1.0/gst/ to find the folders that were not there. Actually, I'm only interested by codecparsers which (though it's "unstable") would deserve to be in the tarball.
Do you want to provide a patch?
I honestly don't know where to patch. The recipe doesn't have any "include folder", only libraries. Or the library (or whatever it is) is included because my application does compile while using codecparsers/gsth264parser.h after just adding manually the header file. I will add the file manually through a script.
(In reply to Gregoire from comment #6) > I honestly don't know where to patch. The recipe doesn't have any "include > folder", only libraries. Or the library (or whatever it is) is included > because my application does compile while using codecparsers/gsth264parser.h > after just adding manually the header file. I will add the file manually > through a script. I already told you in comment 3 that the variable "files_plugins_devel" list the folders and file to include in the development package.
Created attachment 329810 [details] [review] Add codecparsers include folder to devel tarball
Review of attachment 329810 [details] [review]: There should be a .pc file no ?
Created attachment 329811 [details] [review] Add codecparsers include folder to devel tarball (update 1)
I only added codecparsers as I don't know if the other folders as relevant as this one.
Comment on attachment 329811 [details] [review] Add codecparsers include folder to devel tarball (update 1) Please attach a "git format-patch" style patch for this :) And if we're doing this now anyway, maybe let's add all -bad libraries in one go? The other ones are all as relevant as codecparsers for external code (i.e. usually not)
+1. It would make sense to add everything as the warning when for unstable apis is already pretty aggressive (which is fine). At least, having all those folders enable some applications to compile.
Gregoire, can you update your patch?
Created attachment 330178 [details] [review] Add codecparsers include folder to devel tarball (update 2) Is it the patch format you desire? I'm not sure of the other folders.
Created attachment 330179 [details] [review] Add all missing includes folder to devel tarball
Review of attachment 330179 [details] [review]: ::: recipes/gst-plugins-bad-1.0.recipe @@ +65,3 @@ + 'lib/pkgconfig/gstreamer-codecparsers-1.0.pc', + 'lib/pkgconfig/gstreamer-insertbin-1.0.pc', + 'lib/pkgconfig/gst-validate-1.0.pc' This comes from gst-validate, not gst-plugins-bad. Remove this one, and then it looks good :) Any reason why you didn't include adaptivedemux and uridownloader?
Created attachment 330185 [details] [review] Add codecparsers include folder to devel tarball (update 3) There is no "*uridownloader*.pc" but the include folder is there.
Comment on attachment 330185 [details] [review] Add codecparsers include folder to devel tarball (update 3) Should I remove validate in include too or just the pc?
commit 8bfa83b0e9f1cbe27b9bc3ab4c5e745d01a9eafd Author: Gregoire Gentil <gregoire@gentil.com> Date: Wed Jun 22 00:16:53 2016 -0700 Adding missing include folders for distribution package https://bugzilla.gnome.org/show_bug.cgi?id=767618