GNOME Bugzilla – Bug 695934
Split QtGLib and QtGStreamer
Last modified: 2018-01-23 20:02:10 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
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.
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
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?
The account was denied so here are the Gitorious repos: https://gitorious.org/qt-gstreamer
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.
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.
(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.
(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?
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.
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?
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.
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.