OpenSUSE buildservice Debian GIT builds

User avatar
mcallegari
Posts: 4711
Joined: Sun Apr 12, 2015 9:09 am
Location: Italy
Real Name: Massimo Callegari
Contact:

I think I figured out what's wrong with qlcplus-qt4 Ubuntu packages.
The damn OBS doesn't like qlcplus-xx-4.9.1.tar.gz, but instead it likes qlcplus-4.9.1.xx.tar.gz.
That's the reason why GIT builds work and why this page gives no data:
https://software.opensuse.org/download. ... us-qt4-git

Because the package name is qlcplus and not qlcplus-xx-yy !
Now qlcplus-qt4 fails for other reasons, but it built the whole sources.
Hopefully qlcplus 4.10.0 should have all the fixes to build and pass the test units.
User avatar
cingulingu
Posts: 57
Joined: Sat Aug 22, 2015 7:42 am
Real Name: Veljko Stankov

I think I figured out what's wrong with qlcplus-qt4 Ubuntu packages.
The damn OBS doesn't like qlcplus-xx-4.9.1.tar.gz, but instead it likes qlcplus-4.9.1.xx.tar.gz.
I don't think so. I use the exact same syntax for the names in my projects. And I don't have any problem with that.
But don't forget the most important thing about names. The name of the package must be the same as the project to be published!
Even though, the qlcplus-qt4 for deb didn't compile too (your fixes upstream on tests). It looks like a way to go.
Take a look here:
https://build.opensuse.org/package/show ... lcplus-qt4
https://build.opensuse.org/package/show ... us-qt4-git

P.S.
Can we talk true skype about this? I think that will be much faster. Mail me your nick or PM me.
User avatar
mcallegari
Posts: 4711
Joined: Sun Apr 12, 2015 9:09 am
Location: Italy
Real Name: Massimo Callegari
Contact:

Veljko, please help to fix what's not building instead of keep commenting about the way to go.

I won't look at your packages because you introduce errors like:
- new version is 4.10.0 and not 4.10
- in a Debian .dsc file "Standards-Version:" must be 3.7.3 and not the QLC+ version or 4.9
- GitHub tagged sources produce DEBUG builds and are not OK for a stable release (qlcplus-qt4)

So if you're going to make changes to my repo, please change only the things you're sure about.
At this stage I don't care that much about names, but I can assure you my packages can all be found here:
https://software.opensuse.org/download. ... ge=qlcplus

And those are the names that I actually want.
User avatar
cingulingu
Posts: 57
Joined: Sat Aug 22, 2015 7:42 am
Real Name: Veljko Stankov

I know what you want to achieve (qlcplus-4.9.1.xx.tar.gz).
I just tray to explain, that you are taking the wrong way.
The hole point, is that the names and versions must be consistent threw out the whole project, beginning with the project name.
If they are not. That will lead to inconsistency, build fails, not published,... That is the OBS imperative rule for cross platform builds.
So if you want to build a qlcplus-{version.xx}.tar.gz you need to open a new project named qlcplus ({name}-{version+xx}) And this must be used in all config files for all distros!
And that will lead to another problem, when the qt5 will be added. There can not be 2 or more projects with the same name.

About the 2 numbers version 4.10. I used them just for qlcplus-qtx-git.
Why? The first number is a big release number, second is a small one, and the third is composed from where the source was take (git), commit number +date and hour.
e.g. (git.%cd.%h). and is updated each time the build is triggered.
So if same tester told you (later on) that there is a problem, you can easily pinpoint the version,commit,and when it was build.

P.S.
The links that I send you, are from a subproject. They are not synchronizing with yours any more. Just upon request.
They are not published and are there just for testing stuff. Don't take them as 100% ready.
e.g. main taken from git, versions and other stuff.

Update: 23.09.15 - 15:19 --- Your Download page for qlcplus-qt4 is empty again.

Code: Select all

qlcplus.src: W: invalid-spec-name
The spec file name (without the .spec suffix) must match the package name
("Name:" tag). Either rename your package or the specfile.
Didn't touch any thing.
User avatar
cingulingu
Posts: 57
Joined: Sat Aug 22, 2015 7:42 am
Real Name: Veljko Stankov

Qt5 dependencies for xubuntu, sorted.
link: https://build.opensuse.org/package/show ... us-qt5-git
Look at : qlcplus-qt5-git.dsc

Build work for:
12.04--NO
14.04--NO
15.04--YES

As expected.
User avatar
mcallegari
Posts: 4711
Joined: Sun Apr 12, 2015 9:09 am
Location: Italy
Real Name: Massimo Callegari
Contact:

Well done Veljko.

I ported some of your changes to my repos. Thanks.
I still don't understand a few things though:
- my qlcplus-qt4 arch packages fail - I'm not using a GiHub snapshot, but a tweaked official tar.gz to build on debian
[EDIT] The same is happening in the AUR website. Apparently it is something related to release builds - wow - Under investigation
- qlcplus-qt4 debian packages do not show up here: http://software.opensuse.org/download.h ... lcplus-qt4
- my qlcplus-qt5-git still doesn't build even with your changes. Am I missing something ?

If you can have a look I would be thankful
User avatar
cingulingu
Posts: 57
Joined: Sat Aug 22, 2015 7:42 am
Real Name: Veljko Stankov

- my qlcplus-qt4 arch packages fail
Don't have a clue. Can you create a mockup 4.10.0 -- "release like tar.gz" so we can test the builds with all the corrections in the code already done.
qlcplus-qt4 debian packages do not show
Publish flags "Disabled". I enabled them but they need some time to recalculate and publish. --- Done
my qlcplus-qt5-git still doesn't build even with your changes. Am I missing something ?
Yes. ", qt5-default," in .dsc -- already added.
That's why I asked to test for "lrelease-qt5" first. It seems that ubuntu has a hard-link for "lrelease --> lrelease-qt4" but we didn't use qt4tools.
But "qt5-default" sort it. :o
User avatar
mcallegari
Posts: 4711
Joined: Sun Apr 12, 2015 9:09 am
Location: Italy
Real Name: Massimo Callegari
Contact:

As I suspected, checking for lrelease-qt5 is not a feasible way.
See this change:
https://github.com/mcallegari/qlcplus/c ... 71ac172cbd

Produces this on ubuntu 14.04 and 15.04:
[ 280s] Forcing the use of lrelease-qt5
[ 280s] lrelease, lrelease-qt4 and lrelease-qt5 are not present in this system ! Aborting.

It should use the absolute path, but it's a horrible solution. On my Mint distro (equivalent of Ubuntu 14.04) lrelease-qt5 is here
/usr/lib/x86_64-linux-gnu/qt5/bin/lrelease
so it even depends on the architecture.
What a crap.

As for qlcplus-qt4 I've uploaded a pseudo release 4.10.0 package and Arch still fails. Apparently Arch has serious problems in building a release Qt application. Crap.
User avatar
cingulingu
Posts: 57
Joined: Sat Aug 22, 2015 7:42 am
Real Name: Veljko Stankov

so it even depends on the architecture.
What a crap.
Totally agree.
As for qlcplus-qt4 I've uploaded a pseudo release 4.10.0 package and Arch still fails. Apparently Arch has serious problems in building a release Qt application. Crap.
I saw the log. I have still no clue. I will take a deeper look.
Just a question. Did the "make" take the right switches?
User avatar
mcallegari
Posts: 4711
Joined: Sun Apr 12, 2015 9:09 am
Location: Italy
Real Name: Massimo Callegari
Contact:

cingulingu wrote:Did the "make" take the right switches?
I think so, and Googling the issue seems to be a GCC 5 related problem.
Qt4 and GCC5 have like 3 years of difference. Qt4 is most likely not ready for GCC 5.
See here: https://lists.debian.org/debian-qt-kde/ ... 00182.html

I'm trying to understand if there is a way to force a specific GCC version (e.g. 4.8) in PKGBUILD

[EDIT] SOLVED. The magic was:

Code: Select all

qmake-qt4 QMAKE_CXXFLAGS+=-Wno-error=unused-variable
User avatar
cingulingu
Posts: 57
Joined: Sat Aug 22, 2015 7:42 am
Real Name: Veljko Stankov

Did you read my mind? :)
That is exactly what I was thinking.
It seems that the goal is achieved.

Update: Don't forget to update the qlcplus*.changes files. It is actually just a changelog for RPM builds. But it use a different syntax. And it is not compatible with the deb format.
I updated just one in your qlcplus-qt5-git project as an example.
User avatar
mcallegari
Posts: 4711
Joined: Sun Apr 12, 2015 9:09 am
Location: Italy
Real Name: Massimo Callegari
Contact:

I've enabled also qlcplus-qt5. We've got a total of 60 packages ! :D
Don't forget to update the qlcplus*.changes files. It is actually just a changelog for RPM builds. But it use a different syntax. And it is not compatible with the deb format. I updated just one in your qlcplus-qt5-git project as an example.
Can you please take care of those ? In the end there's your name on them ;)
User avatar
cingulingu
Posts: 57
Joined: Sat Aug 22, 2015 7:42 am
Real Name: Veljko Stankov

Nice... OK I will.
P.S.
You are probably talking about the name and email at the top....
Actually is taken automatically from the obs login when you "Insert changes entry template" at the top.

Update: Done but I have no access to the qlcplus-qt4-git (again)
User avatar
mcallegari
Posts: 4711
Joined: Sun Apr 12, 2015 9:09 am
Location: Italy
Real Name: Massimo Callegari
Contact:

I've added your user to qlcplus-qt4-git

Warning: all the Ubuntu packages are NOT right. Their size is around 6Kb while it should be around 8MB.
I suspect this has something to do with names. The sources refers to 'qlcplus' while the OBS files change it.
During the final installation of files into the packages, they probably go in the wrong place and the .deb is almost empty.

How to solve this ?
User avatar
cingulingu
Posts: 57
Joined: Sat Aug 22, 2015 7:42 am
Real Name: Veljko Stankov

I will take a look as soon as possible.
User avatar
mcallegari
Posts: 4711
Joined: Sun Apr 12, 2015 9:09 am
Location: Italy
Real Name: Massimo Callegari
Contact:

As I supsected. I tried to change the name back to "qlcplus" in qlcplus-qt4-git.
Packages are now built correctly, but they don't appear in this download page.
Instead they go into this page: https://software.opensuse.org/download. ... ge=qlcplus

I don't know if there is a proper "half way" to trick OBS and the Debian build system, but this might be a problem, cause I cannot provide different Debian names for different builds. The base name is always "qlcplus"
User avatar
cingulingu
Posts: 57
Joined: Sat Aug 22, 2015 7:42 am
Real Name: Veljko Stankov

I think I got it...
In "debian.rules" add this at the end.

Code: Select all

override_dh_auto_install:
	mv debian/qlcplus.install debian/"project name, e.g. qlcplus-qt5-git".install
	dh_auto_install    
I did it joust for "qlcplus-qt4-git" take a look. May be we have to rename other files.
User avatar
mcallegari
Posts: 4711
Joined: Sun Apr 12, 2015 9:09 am
Location: Italy
Real Name: Massimo Callegari
Contact:

I was close then :) (seen my change on qlcplus-qt4-git debian.control ?)

Debs are correct, but they still go to the wrong place. Basically they don't have the OBS package name :(
User avatar
cingulingu
Posts: 57
Joined: Sat Aug 22, 2015 7:42 am
Real Name: Veljko Stankov

Done, replaced with the working one... wait to be build.
User avatar
mcallegari
Posts: 4711
Joined: Sun Apr 12, 2015 9:09 am
Location: Italy
Real Name: Massimo Callegari
Contact:

Excellent ! I see ubuntu 15.04 amd64 is already upstream

Very well done Veljko ! You saved the day

Please apply the change to all the targets (I've seen you already did on qlcplus-qt5-git)
Post Reply