Re: [Qbs] Install/Depends resolution changed from qbs 1.12.2 to qbs 1.13.0?

2019-05-28 Thread Jochen Becher
Am Montag, den 20.05.2019, 08:34 + schrieb Christian Kandeler:
> On Mon, 20 May 2019 09:01:02 +0200
> Richard Weickelt  wrote:
>
> > > Oh yeah, it has been an unsatisfying surprise that default
> > > installation
> > > prefix changed from empty string to "usr/local/" on Linux. All
> > > builds
> > > are broken, all scripts working on the results are broken. Not
> > > hardcoding is not an option when it comes to CI integration etc.
> > >
> > > Next time I will be happy if such a change is announced in
> > > capital
> > > letters.
> >
> > This was also an unpleasant surprise for me. Note that
> > https://doc.qt.io/qbs/qml-qbsmodules-qbs.html#installPrefix-prop
> > does not
> > reflect this change.
>
> That's an oversight.
>
> > Thus, instead of going over the docs, I'd rather like
> > to set installPrefix back to undefined on all platforms for Qbs
> > 1.13.1.
> >
> > Anything that speaks against that?
>
> I think it is sensible to have proper default values. It also helps
> making the install prefix concept more visible, so users won't so
> easily make the mistake of putting e.g. /usr/local into the install
> dir.

You are right - it is absolutely sensible to have proper default
values. I vote for an empty string as default value for installPrefix
:)

In my opinion it makes absolutely no sense to add a /usr/local to the
standard install-dir within target folder. Just two more sub
directories within the already long path.

But I would accept this change if it just will not break all my build
settings. With version >=1.0 the Qbs should take care of backwards
compatibility. If there is really a need to break it you should
increase the major version AND announce the change very clearly.

Regards, Jochen


>
>
> Christian
> ___
> 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] Install/Depends resolution changed from qbs 1.12.2 to qbs 1.13.0?

2019-05-20 Thread Christian Kandeler
On Mon, 20 May 2019 09:01:02 +0200
Richard Weickelt  wrote:

> > Oh yeah, it has been an unsatisfying surprise that default installation
> > prefix changed from empty string to "usr/local/" on Linux. All builds
> > are broken, all scripts working on the results are broken. Not
> > hardcoding is not an option when it comes to CI integration etc.
> > 
> > Next time I will be happy if such a change is announced in capital
> > letters.
> 
> This was also an unpleasant surprise for me. Note that
> https://doc.qt.io/qbs/qml-qbsmodules-qbs.html#installPrefix-prop does not
> reflect this change.

That's an oversight.

> Thus, instead of going over the docs, I'd rather like
> to set installPrefix back to undefined on all platforms for Qbs 1.13.1.
> 
> Anything that speaks against that?

I think it is sensible to have proper default values. It also helps making the 
install prefix concept more visible, so users won't so easily make the mistake 
of putting e.g. /usr/local into the install dir.


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


Re: [Qbs] Install/Depends resolution changed from qbs 1.12.2 to qbs 1.13.0?

2019-05-20 Thread Иван Комиссаров
Funny fact, but Qbs tests on were failing on macOS because of this change:)
However, I am not sure that we should roll it back, we can break something 
*again*
The original motivation for this change is that Qbs used to misinterpret 
install-root and install-prefix paths. Now it is consistent with other build 
systems:
install-root/install-prefix/your/directory/structure

The reason is that prefix may be hardcoded in the binary like it is done for 
qmake and setting install-root to /usr/local is wrong, install-root should be /.
Well, yes, in most cases, when app is portable it doesn't make any difference 
so I understand that change is annoying (I was the one who could not run tests 
on macOS)

But the doc should be updated...

Иван Комиссаров

20 мая 2019 г., в 9:01, Richard Weickelt  написал(а):

>> Oh yeah, it has been an unsatisfying surprise that default installation
>> prefix changed from empty string to "usr/local/" on Linux. All builds
>> are broken, all scripts working on the results are broken. Not
>> hardcoding is not an option when it comes to CI integration etc.
>> 
>> Next time I will be happy if such a change is announced in capital
>> letters.
> 
> This was also an unpleasant surprise for me. Note that
> https://doc.qt.io/qbs/qml-qbsmodules-qbs.html#installPrefix-prop does not
> reflect this change. Thus, instead of going over the docs, I'd rather like
> to set installPrefix back to undefined on all platforms for Qbs 1.13.1.
> 
> Anything that speaks against that?
> 
> 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] Install/Depends resolution changed from qbs 1.12.2 to qbs 1.13.0?

2019-05-20 Thread Richard Weickelt
> Oh yeah, it has been an unsatisfying surprise that default installation
> prefix changed from empty string to "usr/local/" on Linux. All builds
> are broken, all scripts working on the results are broken. Not
> hardcoding is not an option when it comes to CI integration etc.
> 
> Next time I will be happy if such a change is announced in capital
> letters.

This was also an unpleasant surprise for me. Note that
https://doc.qt.io/qbs/qml-qbsmodules-qbs.html#installPrefix-prop does not
reflect this change. Thus, instead of going over the docs, I'd rather like
to set installPrefix back to undefined on all platforms for Qbs 1.13.1.

Anything that speaks against that?

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


Re: [Qbs] Install/Depends resolution changed from qbs 1.12.2 to qbs 1.13.0?

2019-05-16 Thread Jochen Becher
Oh yeah, it has been an unsatisfying surprise that default installation
prefix changed from empty string to "usr/local/" on Linux. All builds
are broken, all scripts working on the results are broken. Not
hardcoding is not an option when it comes to CI integration etc.

Next time I will be happy if such a change is announced in capital
letters.

Regards, Jochen


Am Donnerstag, den 16.05.2019, 12:20 +0200 schrieb Frederik Christiani
via Qbs:
> On 16-05-2019 11:28, Maximilian Hrabowski wrote:
> > Sorry, I forgot to mention that this happens on macOs only, windows
> > is fine.
> >
> > > On 16. May 2019, at 11:17, Maximilian Hrabowski
> > > mailto:hrabow...@clausmark.com>> wrote:
> > >
> > > Hi all,
> > >
> > > after upgrading to qbs 1.13 our build was broken.
>
>
> > > I’m not sure whether this is a regression (maybe introduced by
> > > the new
> > > install/installDir properties) or there is just a flaw in our
> > > dependencies.
> > >
> > > Any ideas?
>
> I ran into a similar problem and solved it by explicitly setting
> qbs.installPrefix to an empty string.
>
>
> Kind regards,
> Frederik
>

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


Re: [Qbs] Install/Depends resolution changed from qbs 1.12.2 to qbs 1.13.0?

2019-05-16 Thread Christian Kandeler
On Thu, 16 May 2019 12:20:25 +0200
Frederik Christiani via Qbs  wrote:

> I ran into a similar problem and solved it by explicitly setting 
> qbs.installPrefix to an empty string.

Though you should generally not hardcode such locations in a rule, but
retrieve the path from the artifact. There is an (undocumented)
function artifactInstalledFilePath() for that in ModUtils.


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


Re: [Qbs] Install/Depends resolution changed from qbs 1.12.2 to qbs 1.13.0?

2019-05-16 Thread Frederik Christiani via Qbs

On 16-05-2019 11:28, Maximilian Hrabowski wrote:

Sorry, I forgot to mention that this happens on macOs only, windows is fine.

On 16. May 2019, at 11:17, Maximilian Hrabowski 
mailto:hrabow...@clausmark.com>> wrote:


Hi all,

after upgrading to qbs 1.13 our build was broken.



I’m not sure whether this is a regression (maybe introduced by the new 
install/installDir properties) or there is just a flaw in our 
dependencies.


Any ideas?


I ran into a similar problem and solved it by explicitly setting 
qbs.installPrefix to an empty string.



Kind regards,
Frederik

--
Frederik Christiani
Viking Software
https://www.vikingsoftware.com/
___
Qbs mailing list
Qbs@qt-project.org
https://lists.qt-project.org/listinfo/qbs


Re: [Qbs] Install/Depends resolution changed from qbs 1.12.2 to qbs 1.13.0?

2019-05-16 Thread Christian Kandeler
On Thu, 16 May 2019 09:17:37 +
Maximilian Hrabowski  wrote:

> after upgrading to qbs 1.13 our build was broken.
> 
> During the build process a generator tool it built that depends on a 
> framework which is also build. The generator tool is later used to generate 
> code that will be compiled into static libraries (services):
> 
> 1. build framework “framework"
> 2. build generator “generator” (Depends on “framework, exports build rules)
> 3. build services (by running “generator” first)
> 
> The generator is installed to the install-root and executed from there.
> 
> With qbs 1.12.2 everything runs well, with qbs 1.13.0 the build breaks at 3:
> 
> - The generator cannot be executed because the dynamic library “framework” 
> cannot be found.
> - So it seems “generator” is executed before “framework” is installed to 
> install-root
> 
> I’m not sure whether this is a regression (maybe introduced by the new 
> install/installDir properties) or there is just a flaw in our dependencies.

The reason for this kind of problem is usually a missing rule dependency, in 
this case between the generator and the framework. I.e. an output tag of the 
rule that produces the framework must appear as some sort of input to the 
generator rule. For more concrete help, I'd need to see the project. If you 
can't share it, you might want to produce a minimal example that exhibits the 
problem.


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


Re: [Qbs] Install/Depends resolution changed from qbs 1.12.2 to qbs 1.13.0?

2019-05-16 Thread Maximilian Hrabowski
Sorry, I forgot to mention that this happens on macOs only, windows is fine.

On 16. May 2019, at 11:17, Maximilian Hrabowski 
mailto:hrabow...@clausmark.com>> wrote:

Hi all,

after upgrading to qbs 1.13 our build was broken.

During the build process a generator tool it built that depends on a framework 
which is also build. The generator tool is later used to generate code that 
will be compiled into static libraries (services):

1. build framework “framework"
2. build generator “generator” (Depends on “framework, exports build rules)
3. build services (by running “generator” first)

The generator is installed to the install-root and executed from there.

With qbs 1.12.2 everything runs well, with qbs 1.13.0 the build breaks at 3:

- The generator cannot be executed because the dynamic library “framework” 
cannot be found.
- So it seems “generator” is executed before “framework” is installed to 
install-root

I’m not sure whether this is a regression (maybe introduced by the new 
install/installDir properties) or there is just a flaw in our dependencies.

Any ideas?

Best regards

Maxim
—
Mob: +49 (173) 9168556
E-Mail: hrabow...@clausmark.com

___
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


[Qbs] Install/Depends resolution changed from qbs 1.12.2 to qbs 1.13.0?

2019-05-16 Thread Maximilian Hrabowski
Hi all,

after upgrading to qbs 1.13 our build was broken.

During the build process a generator tool it built that depends on a framework 
which is also build. The generator tool is later used to generate code that 
will be compiled into static libraries (services):

1. build framework “framework"
2. build generator “generator” (Depends on “framework, exports build rules)
3. build services (by running “generator” first)

The generator is installed to the install-root and executed from there.

With qbs 1.12.2 everything runs well, with qbs 1.13.0 the build breaks at 3:

- The generator cannot be executed because the dynamic library “framework” 
cannot be found.
- So it seems “generator” is executed before “framework” is installed to 
install-root

I’m not sure whether this is a regression (maybe introduced by the new 
install/installDir properties) or there is just a flaw in our dependencies.

Any ideas?

Best regards

Maxim
—
Mob: +49 (173) 9168556
E-Mail: hrabow...@clausmark.com

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