[Qbs] qmath3d build issue

Wookey wookey at wookware.org
Wed Feb 19 13:18:13 CET 2020


I maintain a couple of debian packages that build with qbs.

Last night, whilst fixing a couple of bugs in qmath3d (https://tracker.debian.org/pkg/qmath3d) I found a problem: it used to build but no longer does.

Well it builds fine but the qbs install step is installing to:
$(CURDIR)/debian/tmp/usr/local/usr/lib/<triplet>/
instead of 
$(CURDIR)/debian/tmp/usr/lib/<triplet>/

when given:
	qbs install --settings-dir debian --no-build \
           --install-root $(CURDIR)/debian/tmp \
           project.libDir:lib/$(DEB_HOST_MULTIARCH) \
           profile:deb \
           config:qbs-build

If I also configure with:
        qbs config --settings-dir debian profiles.deb.qbs.installPrefix usr/

then it installs into
$(CURDIR)/debian/tmp/usr/usr/lib/<triplet>/
(so we got rid of the 'local', but still have two 'usr's)

To make it work I now have to do:
        qbs config --settings-dir debian profiles.deb.qbs.installPrefix ""

All this doesn't seem to fit with InstallPrefix and InstallRoot info on
https://doc.qt.io/qbs/qml-qbsmodules-qbs.html#installation-properties

I'm not sure what's going on, and why it has changed.
installing to
<InstallRoot>/usr/local/usr/lib/
seems almost always likely to be wrong.

I have made it work, but it used to be that the path was correctly constructed from
<InstallRoot><InstallPrefix><Libdir>
but that seems no longer to be true, and now I don't understand what it is doing.

I'm on qbs 1.13.1, and I guess it was 1.11 or 1.12 last time I tried any of this.

Is this a deliberate change in behaviour, in which case can someone
explain the new logic, or is it a bug?

Wookey
-- 
Principal hats:  Linaro, Debian, Wookware, ARM
http://wookware.org/


More information about the Qbs mailing list