GNOME Bugzilla – Bug 755525
improve `make dist`
Last modified: 2015-11-25 13:21:35 UTC
Right now, making a gstreamer-vaapi release is a bit cumbersome, and it could be improved fixing the deb.upstream and the distcheck targets in the make file. Right now they fail if no previous compilation/installation are executed. The should run smoothly.
(In reply to Víctor Manuel Jáquez Leal from comment #0) > Right now, making a gstreamer-vaapi release is a bit cumbersome, and it > could be improved fixing the deb.upstream and the distcheck targets in the > make file. > > Right now they fail if no previous compilation/installation are executed. > The should run smoothly. I also had some issues, and was manually setting some environmental variables too ;)
Created attachment 312036 [details] [review] build: set DISTCHECK_CONFIGURE_FLAGS Set the configure flags for distcheck target Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
Created attachment 312037 [details] [review] build: declare real built files When runnig the make dist target from a clean tree, it fails because if could not find the copied files from codecparsers submodule. They weren't copied because they weren't declared as built sources. This patch removes the stamp mechanism and use the actual file list to copy as the built sources. Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
Currently I see a problem when running the dist target on the documentation (gtk-doc). The current gtk-doc.make expects that the library dependencies are already installed, so it can run the introspection. But it the case of gstreamer plugins, this is not possible. The gstreamer project solves this with a custom gtk-doc-plugins.make that lives in their 'common' submodule: http://cgit.freedesktop.org/gstreamer/common/tree/gtk-doc-plugins.mak Shall we adopt the common submodule too? Or just bring what we need and sync them manually if needed?
(In reply to Víctor Manuel Jáquez Leal from comment #4) > > Shall we adopt the common submodule too? Or just bring what we need and sync > them manually if needed? I'm leaning to import the common submodule, hence gstreamer-vaapi could be closer to a "normal" gstreamer project.
(In reply to Víctor Manuel Jáquez Leal from comment #5) > (In reply to Víctor Manuel Jáquez Leal from comment #4) > > > > Shall we adopt the common submodule too? Or just bring what we need and sync > > them manually if needed? > > I'm leaning to import the common submodule, hence gstreamer-vaapi could be > closer to a "normal" gstreamer project. How about postponing it until we start development in upstream repository??
Review of attachment 312036 [details] [review]: ::: Makefile.am @@ +15,3 @@ +DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc --enable-glx --enable-egl \ + --enable-builtin-libvpx=yes --enable-builtin-codecparsers=yes \ + --enable-builtin-videoparsers=yes Why do we specify these flags explicitly ? Also this doesn't have all the options..
Review of attachment 312037 [details] [review]: this lgtm
(In reply to sreerenj from comment #7) > Review of attachment 312036 [details] [review] [review]: > > ::: Makefile.am > @@ +15,3 @@ > +DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc --enable-glx --enable-egl \ > + --enable-builtin-libvpx=yes --enable-builtin-codecparsers=yes \ > + --enable-builtin-videoparsers=yes > > Why do we specify these flags explicitly ? > Also this doesn't have all the options.. Yeah, those are an arbitrary list of flags. They are the ones I use to test, so I put them for the distcheck. But still, distcheck is broken because, among other thinks, the gtk-doc generation doesn't work out-of-the-box.
I stopped to work on this bug since I found out that the real fix relies on using the common/ submodule from gstreamer.
(In reply to sreerenj from comment #8) > Review of attachment 312037 [details] [review] [review]: > > this lgtm I was to push this patch, but just found that it breaks the parallel compilation. So let's put it back on need-works.
Created attachment 315852 [details] [review] build: declare real built files When runnig the `make dist` target from a clean tree, it fails because if could not find the copied files from codecparsers submodule. They weren't copied because they weren't declared as built sources. This patch removes the stamp mechanism and use the actual file list to copy as the built sources. Also it fixes the duplication of the parser files. Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
Created attachment 315853 [details] [review] build: libvpx: update the sources lists `make dist` broke since commit f06798 (libvpx: Update the submodule to libvpx-1.4.0) because the sources.frag does not contain all the module sources. This patch updates thoroughly the sources. Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
Created attachment 315854 [details] [review] build: set DISTCHECK_CONFIGURE_FLAGS Set the configure flags for distcheck target Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
Let's focus first in `make dist` target, since is a first step to fix `make distcheck`, which is completely broken. Said that, I would like to spark a discussion about distributing libvpx. Shall we do that? In attachment 315853 [details] [review] I added all the sources for its distribution in the gstreamer-vaapi tarball. Perhaps we could trim it to only the sources the project uses (for example, remove the ARM or MIPS related sources). But I don't know if we could do that (is a BSD 3-clause).
Comment on attachment 315854 [details] [review] build: set DISTCHECK_CONFIGURE_FLAGS Let's mark this as obsolete, since it doesn't belong anymore to this bug report. It should be moved to a bug related with `make distcheck`
Comment on attachment 315852 [details] [review] build: declare real built files I feel comfortable with the current patch. I'm going to push it now.
Comment on attachment 315852 [details] [review] build: declare real built files Attachment 315852 [details] pushed as fc8a0d1 - build: declare real built files
Review of attachment 315853 [details] [review]: Thanks for this fix! Please push...
Attachment 315853 [details] pushed as f355e62 - build: libvpx: update the sources lists
Reopening this since the attachement1 (build: declare real built files ) is causing more issues. --generate the tarball (make deb.upstream or make dist) -- untar the source -- make It will end up with this message: Reversed (or previously applied) patch detected! Assume -R? [n] y
I am leaning to revert this patch,,, okay?
(In reply to sreerenj from comment #22) > I am leaning to revert this patch,,, okay? For time pressure, I'm OK on reverting it. But still, the patch is on the right direction. It is a pity that I didn't verify it completely.
Sree, wait. I think I have a patch. Just a sec.
Created attachment 316225 [details] [review] build: declare correctly parse lib built files This is a continuation of commit fc8a0d12 When declaring BUILT_SOURCES, those files should not be distributed. This patch avoids the distribution of the generated source code. Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
Created attachment 316226 [details] [review] build: add conditionally gsth265parse patches As gsth265parse was added in GStreamer 1.4, and gstreamer-vaapi still support GStreamer 1.2, the patching of gsth265parse must be conditional to the target GStreamer version. Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
Review of attachment 316225 [details] [review]: pushed, thanks for the fix
Review of attachment 316226 [details] [review]: pushed, thanks for the fix