Bug 1475483 - Review Request: qbs - Cross platform build tool
Summary: Review Request: qbs - Cross platform build tool
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Zbigniew Jędrzejewski-Szmek
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 1466775
TreeView+ depends on / blocked
 
Reported: 2017-07-26 18:51 UTC by Sandro Mani
Modified: 2017-08-02 11:33 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-08-02 11:33:32 UTC
Type: ---
Embargoed:
zbyszek: fedora-review+


Attachments (Terms of Use)

Description Sandro Mani 2017-07-26 18:51:51 UTC
Spec URL: https://smani.fedorapeople.org/review/qbs.spec
SRPM URL: https://smani.fedorapeople.org/review/qbs-1.8.1-1.fc27.src.rpm
Description: Cross platform build tool
Fedora Account System Username: smani

This package used to be built out of the qt-creator SRPM, but upstream notified me that this is the wrong approach, in particular the version should not be the one of qt-creator, but the actual qbs version (which is currently 1.8.1, hence the epoch bump to obsolete the qbs using the qt-creator version, currently 4.3.2).

Scratch build: https://koji.fedoraproject.org/koji/taskinfo?taskID=20772211

Comment 1 Zbigniew Jędrzejewski-Szmek 2017-07-27 17:58:57 UTC
http://wiki.qt.io/Qbs → https://
http://download.qt.io/official_releases/ → https://

> LGPLv2 and LGPLv3, with exceptions

I think this should be "LGPLv2 with exceptions and LGPLv3 with exceptions" (following https://fedoraproject.org/wiki/Licensing:Main#Software_License_List).

> # qbs was previously packaged as part of qt-creator, using the qt-creator version
> Obsoletes:      %{name} < 0:4.4.0

Shouldn't this be "qt-creator < 0:4.4.0" instead?
Also, note that the new qt-creator package should have Obsoletes: %{name} < 0:4.4.0, so called self-obsoletes, so that both packages are installed during upgrade.

s/Examples for projects/Example projects/

https://fedoraproject.org/wiki/Packaging:Scriptlets#Shared_libraries are needed.

Looks good otherwise.

Comment 2 Sandro Mani 2017-07-31 11:05:39 UTC
Thanks for the comments and sorry for the late reply, I was trying to get the tests working with upstream - still having some issues.

Uhm why obsoletes qt-creator? Qbs is currently a subpackage of qt-creator, it's that package that should be obsoleted, not the entire qt-creator. Or am I missing something?

Current version:
SPEC: https://smani.fedorapeople.org/review/qbs.spec
SRPM: https://smani.fedorapeople.org/review/qbs-1.8.1-2.fc27.src.rpm

Comment 3 Zbigniew Jędrzejewski-Szmek 2017-07-31 15:26:20 UTC
dnf does not care which srpm a subpackage is built from. But there's no qbs package with a version < 0:4.4.0, so the Obsoletes line right now does nothing.

But there's a different consideration: when upgrading, users who had qt-creator-4.2.rpm installed, should get *both* qt-creator-4.4.rpm and qbs.rpm. For that to happen, you make both packages obsolete the old name:

qt-creator: Obsoletes: %{name} < 0:4.4.0
qbs: Obsoletes: qt-creator < 0:4.4.0

Then when upgrading, dnf should install both subpackages. At least that's what happened at some time with yum and should happen with dnf. There are bugs open for some corner cases, it seems it doesn't always work, but doing this better than nothing: https://bugzilla.redhat.com/show_bug.cgi?id=1261034, "Scenario C".

> http://wiki.qt.io/Qbs → https://
> http://download.qt.io/official_releases/ → https://
Still there.

Package is APPROVED. Please fix the http URL when uploading. I think you should add the Obsoletes, push qt-creator-4.4 and qbs in a single bodhi update, and test if the upgrades work as expected.

Comment 4 Sandro Mani 2017-07-31 15:34:35 UTC
The qbs subpackage is only f27+ with qt-creator-4.3.x, see [1]. This actually makes it tricky now that I think of it though, since Obsoleting qbs will work fine for current rawhide users, but users updating from f26 to f27 will indeed hit the scenario you describe. So I think I actually have to obsolete both qt-creator and qbs?

[1] https://koji.fedoraproject.org/koji/packageinfo?packageID=8039

Comment 5 Zbigniew Jędrzejewski-Szmek 2017-07-31 15:41:55 UTC
OK, I wasn't aware of the subpackage in rawhide. But this doesn't really change anything: dnf doesn't care from what srpm a binary subpackage originates. So when you just move the subpackage from qt-creator to a new srpm, nothing needs to be done (and the Obsoletes is not useful but harmless). So yeah, I still think you need to add the two Obsoletes as described for F26→F27+ upgrades.

Comment 6 Sandro Mani 2017-07-31 15:45:25 UTC
Okay, thanks for the review!

Comment 7 Sandro Mani 2017-07-31 22:57:29 UTC
Uhm,

 Problem 1: both package qbs-1:1.9.0-0.1.gita2fd0f3.fc27.x86_64 and qt-creator-4.4.0-0.1.beta1.fc27.x86_64 obsolete qt-creator < 4.4.0
  - cannot install the best update candidate for package qbs-4.3.1-2.fc27.x86_64

Would that be one of the issues in #1261034?

Comment 8 Zbigniew Jędrzejewski-Szmek 2017-07-31 23:19:18 UTC
What was the command that gave this error?

Comment 9 Sandro Mani 2017-07-31 23:23:00 UTC
Just a plain

# dnf update

By the way, since there is a DSO dependency 

/usr/lib64/qtcreator/plugins/libQbsProjectManager.so -> libqbscore.so.1.8

it is already taken care of that updating qt-creator will also install the new qbs. So actually I think no Obsoletes are even necessary.

Comment 10 Gwyn Ciesla 2017-08-01 12:20:26 UTC
Package request has been approved: https://admin.fedoraproject.org/pkgdb/package/rpms/qbs


Note You need to log in before you can comment on or make changes to this bug.