Re: [Qbs] Building Qbs for conan/bintray on Gitlab

2020-03-29 Thread Richard Weickelt

> 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?

I am not looking forward to reading makefiles. It is a bit strange that this
cannot be reproduced locally, even with Docker. Does it work when building
against a dynamically linked Qt installation? Note that we can bundle Qt
together with Qbs, but only when building Qbs with Qbs.

I am looking into publishing prebuilt executables for all platforms for Qbs
1.16.0, at least as tarballs/zips. So one fall-back option might be to just
download this and package it up for Conan, just like what they do with CMake
and other tools.

> 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.

Looks like bincrafters conventions are:

- open a ticket with a package request (refer to
https://github.com/bincrafters/community)
- recipe in a repo "conan-PACKAGE" (https://github.com/bincrafters)
- specific repository layout with conanfile.py and data yml files for
  each version

Package name "Qbs" or "qbs" should be fine.

Would be great to have it there. This should make it very easy to get the
package to conan-center.

Best regards
Richard
___
Qbs mailing list
Qbs@qt-project.org
https://lists.qt-project.org/listinfo/qbs


Re: [Qbs] Building Qbs for conan/bintray on Gitlab

2020-03-24 Thread Kai Dohmen via Qbs
> 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 <
rich...@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@qt-project.org
> https://lists.qt-project.org/listinfo/qbs
>
___
Qbs mailing list
Qbs@qt-project.org
https://lists.qt-project.org/listinfo/qbs


Re: [Qbs] Building Qbs for conan/bintray on Gitlab

2020-03-23 Thread Richard Weickelt
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@qt-project.org
https://lists.qt-project.org/listinfo/qbs


[Qbs] Building Qbs for conan/bintray on Gitlab

2020-03-21 Thread Kai Dohmen via Qbs
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.

Hopefully anyone can help me with this issue. I think a pre-build Qbs conan
package would help a lot, especially when using CI systems.

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 ;)


Best Regards,
Kai Dohmen
___
Qbs mailing list
Qbs@qt-project.org
https://lists.qt-project.org/listinfo/qbs