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 695934 - Split QtGLib and QtGStreamer
Split QtGLib and QtGStreamer
Status: RESOLVED WONTFIX
Product: GStreamer
Classification: Platform
Component: qt-gstreamer
unspecified
Other All
: Normal enhancement
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2013-03-15 17:30 UTC by David E. Narvaez
Modified: 2018-01-23 20:02 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description David E. Narvaez 2013-03-15 17:30:05 UTC
Related to bug 676509[0], I've taken on the task of splitting QtGLib from QtGStreamer, both projects compile fine in my computer right now.

The method I chose, to preserve Git history, was to check-out qt-gstreamer twice and make the new qt-glib out of one of the copies. I'd like to put these repos up in a place where other developers can check and test, like a scratch repository (but I don't have a user repo here), and eventually making them official.

Some of the stuff missing are administrative decisions like version bumping and evaluate solutions to avoid file duplication in some cases.

How should we proceed?

[0] https://bugzilla.gnome.org/show_bug.cgi?id=676509
Comment 1 George Kiagiadakis 2013-03-16 12:23:26 UTC
My personal opinion on this is that QtGLib is not good enough for generic use outside qt-gstreamer as it is now. I was thinking to split it only after it is polished for generic use. But unfortunately we have telepathy-logger-qt using it, and packagers are complaining, so I won't stop anybody from doing it.

You need of course to upload the repositories, yes. gitorious/github or other git hosting services are common choices for stuff like that. Or if you have a freedesktop.org account, upload them on your account's public git.
Comment 2 David E. Narvaez 2013-03-16 16:21:43 UTC
I have applied for a fd.o account[0], lets see if I get it. If I don't, I'll put this up in Gitorious and pass the links.

[0] https://bugs.freedesktop.org/show_bug.cgi?id=62415
Comment 3 David E. Narvaez 2013-03-16 16:23:52 UTC
Should we discuss version numbers in the meantime? I see QtGStreamer is 0.10, is that related to the GStreamer version? And QtGLib could start in a very low number, right?
Comment 4 David E. Narvaez 2013-03-16 18:50:39 UTC
The account was denied so here are the Gitorious repos:

https://gitorious.org/qt-gstreamer
Comment 5 David E. Narvaez 2013-03-16 18:54:16 UTC
Issues that come to mind after all this split:

- Codegen duplication: Should be this provided as a libexec from QtGLib and then used in QtGStreamer?
- string_p.h: This header was private to QtGLib but only used in QtGStreamer so I moved it around, but the namespace is still QtGLib
- Find*.cmake duplication: Should FindGLIB2.cmake and FindGObject.cmake be installed with QtGLib?
- examples folder: QtGLib should have examples for people to work with, but it could be lower priority and we could add a README pointing to its usage in QtGStreamer or Telepathy Logger in the meantime

These issues are all related to the split itself, nothing to do with the long term overall goals for QtGLib and QtGStreamer (like g-i and 1.0 support), those should come later.
Comment 6 George Kiagiadakis 2013-03-25 09:28:17 UTC
Hi, sorry for the delay.

- Versioning: QtGStreamer is 0.10.x, because of GStreamer. The general rule I set was to follow the versioning of the C library that we wrap. QtGLib already has a version number of 2.0 if you look carefully, and I think it should stay like that, using the third version number for the bindings versioning (2.0.x).

- Codgen: Codegen is a meta-compiler, not a libexec, and yes, it should not be duplicated. It is part of QtGLib. Of course, it needs a much better name if it is to be installed in /usr/bin.

- string_p.h: Do whatever is necessary, even duplicating it. It is basically crap that should go away at some point, when method arguments will be using QString instead of char* (this is part of the g-i porting plan).

- examples: As I have said before, QtGLib is not really ideal for standalone use. I don't think it needs any examples right now. I really don't want people to use it right now.
Comment 7 David E. Narvaez 2013-03-25 12:31:10 UTC
(In reply to comment #6)
> - Versioning: QtGStreamer is 0.10.x, because of GStreamer. The general rule I
> set was to follow the versioning of the C library that we wrap. QtGLib already
> has a version number of 2.0 if you look carefully, and I think it should stay
> like that, using the third version number for the bindings versioning (2.0.x).

I see QtGStreamer has a 0.10.2.1 but my gstreamer library is 0.10.36, what should I use then? What version number do you suggest for QtGLib?

> - Codgen: Codegen is a meta-compiler, not a libexec, and yes, it should not be
> duplicated. It is part of QtGLib. Of course, it needs a much better name if it
> is to be installed in /usr/bin.

What name should I use? I'll start fixing QtGStreamer to use the executable installed by QtGLib.
Comment 8 George Kiagiadakis 2013-03-25 12:45:46 UTC
(In reply to comment #7)
> I see QtGStreamer has a 0.10.2.1 but my gstreamer library is 0.10.36, what
> should I use then? What version number do you suggest for QtGLib?

2.0.0.1 for the development version, which will be released as 2.0.1
We follow only the first two digits of the upstream library version number.

> What name should I use? I'll start fixing QtGStreamer to use the executable
> installed by QtGLib.

Something like qtglib-codegen perhaps?
Comment 9 David E. Narvaez 2013-03-27 05:43:49 UTC
Just pushed changes in both repos to accomodate to the codegen decisions discussed here. Next, I'll deal with versioning in both libraries.

I'll leave the examples folder in QtGLib empty for the meantime while the library is improved.
Comment 10 David E. Narvaez 2013-04-02 13:09:21 UTC
Added some commits to deal with versioning. I think the QtGLib changes need some polish, but it works OK to provide CMake versioning as of now.

What's next?
Comment 11 David E. Narvaez 2013-10-16 20:53:21 UTC
I see QtGstreamer is moving again, perhaps time to review this? I would need to update both of my repos to match latest source code but I would like to be sure it is going to be worth the effort.
Comment 12 Tim-Philipp Müller 2018-01-23 20:02:10 UTC
I'm sorry, but I don't think this is going to happen. qt-gstreamer is unmaintained, and the appetite for this was somewhat limited anyway from the loo fo it. So I'm going to close this to reduce clutter in bugzilla.