[Qbs] Building Qbs for conan/bintray on Gitlab

Kai Dohmen psykai1993 at googlemail.com
Tue Mar 24 11:24:34 CET 2020


> I don't see compiler/linker invocations for any of the plugins in the
gitlab
> output, so it seems to be a build system issue. When running locally in a
> Docker container, Qbs builds correctly. I have put above lines (without
> invoking python build.py) in a Dockerfile and ran
>
>     docker build
>
> Then I started a container with
>
>     docker run -it --rm -v $PWD:/builds -w /builds qbsconan
>
> and invoked the build with
>
>     docker exec CONTAINER_ID python build.py
>
> I guess this is a bit closer to what gitlab is doing, but maybe not 100%.
So
> what could be the difference?

Oh. Interesting. I did not saw that the plugins are not compiled. But I
don't
know why. If you look into conanfile.py it just calls

    qmake -r qbs/qbs.pro CONFIG+=qbs_no_dev_install
CONFIG+=qbs_no_man_install CONFIG+=qbs_use_bundled_qtscript

Followed by a simple

    make -j1 // tools.cpu_count() will return 1 since every container just
get 1 core assigned by gitlab.com gitlab-ci

So something has to be wrong with the generated Makefiles? Should I try to
archive the generated Makefiles for further analysis?


> But if you manage to build Qbs from source in a Conan recipe using
> bincrafters' Qt package, even better. Would you contribute and maintain a
> Qbs Conan package?

Yes, I would contribute maintain a Qbs Conan package. But if it should be an
"official" Qbs Conan Package I would like to get some constraints like:
where to host the packaging code; how to name the bintray etc.

> In an open source project where almost all participants invest their spare
> time to create something useful, it is good practice to not let others
> guess. Would you mind sharing your findings? You may file a bug report or
> submit a fix right away.

Yeah, sorry for that. I opened a bug report. Sorry.

Best Regards,
Kai Dohmen

Am Mo., 23. März 2020 um 11:01 Uhr schrieb Richard Weickelt <
richard at weickelt.de>:

> Hello,
>
> > I try to build a Qbs conan package (with static linked Qt) so conan could
> > just install Qbs with a simple "build_requires". Building the conan
> package
> > works fine on my local machine. But when I use Gitlab-CI to build the
> > packages it fails to build.
> > To build locally I use the following Dockerfile:
> >
> > FROM conanio/gcc8
> >
> > ENV CONAN_USERNAME="psy-kai" \
> >     CONAN_CHANNEL="testing" \
> >     CONAN_GCC_VERSIONS="8" \
> >
> > CONAN_REMOTES="
> https://api.bintray.com/conan/bincrafters/public-conan@True@bincrafters"
> >
> > RUN sudo pip install --upgrade conan_package_tools && \
> >     conan user
> >
> > COPY *.py .
> > COPY test_package test_package
> > RUN python build.py
> >
> > Placing this into the cloned repo and running "docker build" works just
> fine.
> > The complete build output of the crashing gitlab-ci build can be found
> > at https://gitlab.com/Psy-Kai/conan-qbs/-/jobs/480352993.
>
> I don't see compiler/linker invocations for any of the plugins in the
> gitlab
> output, so it seems to be a build system issue. When running locally in a
> Docker container, Qbs builds correctly. I have put above lines (without
> invoking python build.py) in a Dockerfile and ran
>
>     docker build
>
> Then I started a container with
>
>     docker run -it --rm -v $PWD:/builds -w /builds qbsconan
>
> and invoked the build with
>
>     docker exec CONTAINER_ID python build.py
>
> I guess this is a bit closer to what gitlab is doing, but maybe not 100%.
> So
> what could be the difference?
>
> > I think a pre-build Qbs
> > conan package would help a lot, especially when using CI systems.
>
> Yes, a Qbs Conan package in the bincrafters repo or in
> https://conan.io/center/ would be great. I thought about just packaging
> prebuilt binaries containing bundled Qt libraries as a first step for the
> 1.16 release. The next Qbs release could then be built from source using
> the
> Qbs Conan package.
>
> But if you manage to build Qbs from source in a Conan recipe using
> bincrafters' Qt package, even better. Would you contribute and maintain a
> Qbs Conan package?
>
> > Additionally some off topic: the documentation for the ConanfileProbe
> > does not match with the current implementation. Maybe you should fix the
> > docs before 1.16 release ;)
>
> In an open source project where almost all participants invest their spare
> time to create something useful, it is good practice to not let others
> guess. Would you mind sharing your findings? You may file a bug report or
> submit a fix right away.
>
> Thanks
> Richard
> _______________________________________________
> Qbs mailing list
> Qbs at qt-project.org
> https://lists.qt-project.org/listinfo/qbs
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/qbs/attachments/20200324/f987cd3e/attachment.html>


More information about the Qbs mailing list