Page 1 of 3
OpenSUSE buildservice Debian GIT builds
Posted: Fri Sep 18, 2015 10:11 am
by mcallegari
...continuation of
this thread
Actually I did, tel the truth, I take a better look at what you done in ./unitest. You xvfb to detect the xserver.
But, as I said: " There is NO X-server or xvfb. In any Virtual Machine on OBS they are Headless. "
So.. you added the xvfb as a build requirement and it went on. That problem is solved
The next is that the language files (.ts) are missing. For the rpm builds I just call ./translate in the %pre section of the .spec file.
I'm not that deep in deb-pkg. Is there a way to do the same in debian files? And may be it will need some more dependencies (for translation to work)
P.S. There is another way. You can call the ./translate in witch you can add a test string for .ts files
Yep, X server problem solved. I am thinking how to solve the translation files creation in a clean Debian way.
Also the error on 12.04 builds was not related to the GCC flag, because I removed it and the error is still there.
that is more difficult to solve
Re: OpenSUSE buildservice Debian GIT builds
Posted: Fri Sep 18, 2015 10:24 am
by cingulingu
I think it is better to concentrate on xubuntu 14.04, for now. When it will compile as it should. We can go back to troubleshot the 12.04. It will be much faster.
Re: OpenSUSE buildservice Debian GIT builds
Posted: Fri Sep 18, 2015 12:07 pm
by mcallegari
Damn OBS !
The Debian tools they install behave differently from the ones in my distro.
Anyway, it's building again. I've tried also to resolve the error on 12.04.
Question: is there a way to automatically trigger new builds when a new commit is pushed on GIT ?
[EDIT] No way. It completely ignores this:
https://github.com/mcallegari/qlcplus/b ... /rules#L12
[EDIT2] Stupid me ! There's a file called debian.rules that overrides the one in the source tree ! I patched it now, let's see what happens...
Re: OpenSUSE buildservice Debian GIT builds
Posted: Fri Sep 18, 2015 12:57 pm
by mcallegari
YES ! YES ! YES !
All 4 packages succeeded !
Now, to be figured out:
- if those packages actually work
- how to automatically produce builds when new commits are pushed on GIT
- how to give a dynamic name to the packages depending on the GIT hash
[EDIT] Just checked 14.04 amd64 package. Dependencies are OK and the package installs and works fine.
Re: OpenSUSE buildservice Debian GIT builds
Posted: Fri Sep 18, 2015 1:34 pm
by cingulingu
Sorry... I was out for business. Bravo! Great job...
how to automatically produce builds when new commits are pushed on GIT
I think is already working. Don't now how, but when I returned back it was already compiled.
how to give a dynamic name to the packages depending on the GIT hash
Did you mean like this: qlcplus_4.9.2.git.1442578011.095d296_i386.deb
Re: OpenSUSE buildservice Debian GIT builds
Posted: Fri Sep 18, 2015 1:34 pm
by mcallegari
cingulingu wrote:Sorry... I was out for business. Bravo! Great job...
Bravo to you ! I haven't been able to figure out the libmad problem myself !
cingulingu wrote:how to automatically produce builds when new commits are pushed on GIT
I think is already working. Don't now how, but when I returned back it was already compiled.
Uhm...this morning I launched like a million of builds, so you have probably seen one of my refreshes
cingulingu wrote:how to give a dynamic name to the packages depending on the GIT hash
Did you mean like this: qlcplus_4.9.2.git.1442578011.095d296_i386.deb
Ah yeah, I didn't understand what %ct and %h were, then I found this:
https://github.com/openSUSE/obs-service ... cm.service
I prefer %cd.%h as it is more human-understandable. I already switched to it.
I've eneabled also Ubuntu 15.04 (which is OK) and Arch-Extra. The latter almost passes. Now it's building, let's see...
Re: OpenSUSE buildservice Debian GIT builds
Posted: Fri Sep 18, 2015 4:26 pm
by cingulingu
Ok... Nice. I'm working on the other RPM distros.
The only thing that will stay are ola,and libmad-develop, for those distros. Don't worry. There are good reasons.
More here:
https://en.opensuse.org/openSUSE:Build_ ... _blacklist
I will send you when it will be ready.
Re: OpenSUSE buildservice Debian GIT builds
Posted: Fri Sep 18, 2015 4:52 pm
by mcallegari
Alright, so all my 8 packages build fine now !
What I would like to get from OBS is the combination of the following in a unique place. At this point my account.
Distros:
Arch_Extra
Fedora_21
Fedora_22
openSUSE_13.1
openSUSE_13.2
openSUSE_Tumbleweed
xUbuntu_12.04
xUbuntu_14.04
xUbuntu_15.04
Archs: i586 and x86_64
QLC+ versions: Qt4 stable, Qt5 stable, Qt4 GIT, Qt5 GIT
Total of 9 * 2 * 4 = 72 packages.
Not sure about Qt4 GIT though. I'd like to phase out Qt4 as soon as I can. In case, they would be 54 packages total.
Would you be willing to help me in this ?
I've had a look at your repo and I think you can remove the -desktop.patch and the -translate.patch from your GIT version (and from the next release). Please try and let me know.
As for -libdir64.patch I think it can be autodetected in the variable.pri file. Is /usr/lib not even available on OpenSUSE 64bit distros ?
Re: OpenSUSE buildservice Debian GIT builds
Posted: Fri Sep 18, 2015 6:29 pm
by cingulingu
I send you the requests as I sad....
Re: OpenSUSE buildservice Debian GIT builds
Posted: Fri Sep 18, 2015 10:47 pm
by mcallegari
I saw them. I accepted ola and libmad-opensuse.
However I asked you to remove some patches and instead you sent me a request for your whole qlcplus package.
Anyway, I created the 4 final packages and added also the OpenSUSE and Fedora targets. I picked your files and removed 2 patches.
Please let's work on that.
Probably we'll need to find some meaningful names to packages in case users want to have stable/git repos together
Re: OpenSUSE buildservice Debian GIT builds
Posted: Sun Sep 20, 2015 2:17 pm
by mcallegari
Hey Veljko, I've worked some more on the different packages.
I don't understand why the OBS website doesn't create the download page for me.
For example:
http://software.opensuse.org/download.h ... us-qt4-git
Have you got any clue ?
Re: OpenSUSE buildservice Debian GIT builds
Posted: Sun Sep 20, 2015 5:00 pm
by cingulingu
Sorry for the delay (did a concert on weekend (iron maiden-tribute (italy)) Qlight did the yob, again
I don't understand why the OBS website doesn't create the download page for me.
May be, because you didn't disable the repos for libmad for opensuse, libmadand-development, ola for xubuntu,...
And for those that did not compile yet (exclude flag). Disable the repos and other flags for each package accordingly.
warning: the qt5 build is pointing its files in "usr/lib(64)/qt4" change the spec file as mine and patch the "variables.pri" accordingly.
Whay? Is not GNU complaint and cause cross compile problems.
About the "translate.sh" Great job. I just have a suggestion:
To test for the "lrelease-qt5" first. Because is less likely to be installed by default and link to " lrelease " by the system witch is usually done in any distro for "lrelease-qt4"
In actual situation, It first test, for lrelease witch is (by defoult) linked to lrelease-qt4 and the files are done with it by ignoring lrelease-qt5. This is not good because that can lead for dependency errors. QT4-QT5
Tray to add as a "Build-Depends: ....qt5-tools (I'm not sure about the package name check it)" which will install lrelease-qt5
After some checking I think that the qttools5-dev depend on itself (it is strange). I don’t have any deb disto at hand to check.
Re: OpenSUSE buildservice Debian GIT builds
Posted: Sun Sep 20, 2015 5:00 pm
by mcallegari
cingulingu wrote:Sorry for the delay (did a concert on weekend (iron maiden-tribute (italy)) Qlight did the yob, again
Cool ! I like Iron Maiden very much. What's the name of the band ?
I don't understand why the OBS website doesn't create the download page for me.
May be, because you didn't disable the repos for libmad for opensuse, libmadand-development, ola for xubuntu,...
And for those that did not compile yet (exclude flag). Disable the repos and other flags for each package accordingly.
How do I disable those targets ? I searched the OBS website but couldn't find the option.
warning: the qt5 build is pointing its files in "usr/lib(64)/qt4" change the spec file as mine and patch the "variables.pri" accordingly.
Whay? Is not GNU complaint and cause cross compile problems.
Plugins are not system libraries, but Qt plugins loaded by QLC+ at runtime. So basically they can be installed anywhere in the system.
I think they have nothing to do with GNU compliance.
I am aware that 'qt4' looks wrong in a 'qt5' installation, but I kept it for backward compatibility.
I think that in general all the plugins should be moved in /usr/share/qlcplus/plugins, even though this would break a few things.
About the "translate.sh" Great job. I just have a suggestion:
To test for the "lrelease-qt5" first. Because is less likely to be installed by default and link to " lrelease " by the system witch is usually done in any distro for "lrelease-qt4"
In actual situation, It first test, for lrelease witch is (by defoult) linked to lrelease-qt4 and the files are done with it by ignoring lrelease-qt5. This is not good because that can lead for dependency errors. QT4-QT5
Uhm..checking for the least probable lrelease by default doesn't sound like a good idea to me.
Is yours a supposition or have you found information how an Ubuntu system installs Qt5 tools ?
I use Mint 17 daily and according to my distro lrelease is installed by qttools5-dev-tools but in /usr/lib/x86_64-linux-gnu/qt5/bin/lrelease
Tray to add as a "Build-Depends: ....qt5-tools (I'm not sure about the package name check it)" which will install lrelease-qt5
After some checking I think that the qttools5-dev depend on itself (it is strange). I don’t have any deb disto at hand to check.
I've tried many packages but they all failes. No way to pass that check.
I need to investigate a bit futher.
Re: OpenSUSE buildservice Debian GIT builds
Posted: Mon Sep 21, 2015 4:23 pm
by cingulingu
Cool ! I like Iron Maiden very much. What's the name of the band ?
Moonchild
How do I disable those targets ? I searched the OBS website but couldn't find the option.
Go in a project e.g. libmad and then go to repositories. After that do the same for all the others projects (qt4,git,...). Take a look at the links below,
VERY IMPORTANT!
You need to disable the build targets for libmad and libmad-dev (publish flags too). Because they are blacklisted in OBS. So no Download is enabled/published for anything !
Like this:
https://build.opensuse.org/package/repo ... i79/libmad
and this:
https://build.opensuse.org/package/repo ... nSUSE_13.1
Or you can grant me the permission to newly added/changed projects. Including the above.
Is yours a supposition or have you found information how an Ubuntu system installs Qt5 tools ?
By default "lrelease-qt4" is link to " lrelease " in almost all distros (opensuse, ubuntu,..). And " lrelease " will be the first one found even when you want to build against Qt5.
So... If you turn that around, is much more logical to test for " lrelease-qt5 ". And if not fallback to qt4 --> " lrelease " or " lrelease-qt4 "
Almost none distro have "lrelease-qt5" installed by default. At least I didn't see one, yet.
I've tried many packages but they all failes. No way to pass that check.
I read somewhere that those packages a dependent on themselves. Why... don't know . Probably because they have bin and src packed together.
Re: OpenSUSE buildservice Debian GIT builds
Posted: Mon Sep 21, 2015 5:26 pm
by mcallegari
Moonchild: LOL ! Great music but the singer is...SOOO italian ! Freaking accent that ruins the whole band
Packages webpage: I've added you as maintainer on every repository. Also flagged the repos as you suggested. Now it's building qt4-git. Let's see what happens.
[EDIT] Ohhh damn ! The right link is:
https://software.opensuse.org/download. ... ge=qlcplus
lrelease: on a QLC+ .ts file, there's no substantial difference in running lrelease-qt4 or lrelease-qt5. They both produce valid .qm files.
The problem in Qt5 debian builds is an unmet dependency, which is required to deploy but not to build the sources.
I guess Debian checks are too strict in that sense and at the moment I have no idea how to solve it.
Re: OpenSUSE buildservice Debian GIT builds
Posted: Tue Sep 22, 2015 12:18 pm
by cingulingu
Great music but the singer is...SOOO italian !
Oh... Is not that bad... I've heard worse. (what you, wary wary...
)
Packages webpage: I've added you as maintainer on every repository. Also flagged the repos as you suggested. Now it's building qt4-git. Let's see what happens.
It seems to be OK now. The download page appears.
lrelease: on a QLC+ .ts file, there's no substantial difference in running lrelease-qt4 or lrelease-qt5. They both produce valid .qm files.
I know that. I'm just saying that the Qt5 is hire to stay. And sooner or later it can cause problems. So why not now?
The problem in Qt5 debian builds is an unmet dependency, which is required to deploy but not to build the sources.
In the build-log it say to use "-d" switch. But as I said, I'm not to much in deb configs. I think it can be done in .dh file. Or in the meta configuration.
I just sort out the package naming. You can found them in my branch:
https://build.opensuse.org/project/show ... allegari79
P.S. The qlcplus-qt4 (main) is downloaded now from git with the version tag
Re: OpenSUSE buildservice Debian GIT builds
Posted: Tue Sep 22, 2015 12:18 pm
by mcallegari
This is just wrong. QLC+ tagged sources are in debug mode, while officially release sources are configured in release mode.
Anyway I think I have overwritten your changes. I tried to manually upload the released sources, but the Qt4 Ubuntu packages won't build. Damn it.
Re: OpenSUSE buildservice Debian GIT builds
Posted: Tue Sep 22, 2015 3:41 pm
by cingulingu
I know, The problem is in the tar.gz archive itself. Because it has to have the same name as the project and for the deb build the directory inside has to have the same name too.
Project name: qlcplus-qt4 ---> Archive name: qlcplus-qt4-{version}.tar.gz ---> Directory Name: qlcplus-qt4-{version}
Possible solutions:
1) It is OK to live it as it is. I saw today that you already bumped the git version. And is already "tested" true qlcplus-qt4-git to compile correctly.
So when you will be ready for the new release just change the mode to release and tag it QLC+{version} as you already do. And correct the tag in obs. Simple and elegant.
2) Use a static approach. Upload the correctly formed archive and correct the version number in OBS.
3) Use a different source (ftp,cloud,...) in _service file with correctly formed archive as a target.
4) Tray to make a _service file which unpack the entire archive and repack it in a correct way ( heavy duty staff ).
5) Tray to correct the debian build to find the correct source ( but I'm skeptic about this solution )
6) I'm out of options
Re: OpenSUSE buildservice Debian GIT builds
Posted: Tue Sep 22, 2015 4:37 pm
by mcallegari
I thought about #1 too, but there is a problem. We need to distinguish between qt4 and qt5 versions.
So the final packages must have different names. E.g.
qlcplus-4.10.0.qt4.i586.deb
qlcplus-4.10.0.qt5.i586.deb
etc..
I would say I'd opt for #2. I am uploading a qlcplus-qt4-4.9.1.tar.gz package in qlcplus-qt4. It's the official sources package, but renamed.
Let's see if it builds
Re: OpenSUSE buildservice Debian GIT builds
Posted: Tue Sep 22, 2015 4:51 pm
by cingulingu
In the first solution this is not a problem. Just change the name in the _service to "qlcplus-qt5". Every thing else is taken care of, automatically !
Actually the names of the packages will be:
qlcplus-qt4-4.10.0.i586.deb
qlcplus-qt5-4.10.0.i586.deb
.
.
.
Same as the projects names!