Bug 1048460 - Review Request: hawaii-shell - Hawaii shell for desktop, netbook and tablet
Summary: Review Request: hawaii-shell - Hawaii shell for desktop, netbook and tablet
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: 20
Hardware: Unspecified
OS: Unspecified
Target Milestone: ---
Assignee: Lukas Bezdicka
QA Contact: Fedora Extras Quality Assurance
Depends On:
TreeView+ depends on / blocked
Reported: 2014-01-04 10:56 UTC by Lubomir Rintel
Modified: 2014-04-28 13:24 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2014-04-28 13:24:46 UTC
Type: Bug
social: fedora-review+
gwync: fedora-cvs+

Attachments (Terms of Use)

Description Lubomir Rintel 2014-01-04 10:56:06 UTC
SPEC: http://v3.sk/~lkundrak/SPECS/hawaii-shell.spec
SRPM: http://v3.sk/~lkundrak/SRPMS/hawaii-shell-


This is the Hawaii desktop environment shell. It contains a Qt platform plugin 
and shells for different form factors such as desktop, netbook and tablet. Only 
the desktop shell is implemented at the moment though.

A few notes:

This needs Fedora 20 with this following testing update [1] to build:
[1] https://admin.fedoraproject.org/updates/qt5-qtwayland-5.1.0-0.5.20131203git6b20dfe.fc20,libqtxdg-0.5.0-1.20131113gitf27fc3f.fc20,greenisland-

That is because Rawhide is updated to a prelease Weston version that does not work with greenisland and Mesa 10 which requires and update to qtwayland (the former one is awaiting upstream action, the latter one is in Git and would be easy to cherry-pick).

It's not possible to test functionality, as we don't have EGL in Qt5 in Fedora 20 at this point; that will change, but is not strictly required to block the package review.

A functional desktop is currently targetting Fedora 22 [2].
[2] https://fedoraproject.org/wiki/Changes/Hawaii_Desktop

Thank you!

Comment 1 Lubomir Rintel 2014-01-04 14:48:38 UTC
Scratch build fairly happy: http://koji.fedoraproject.org/koji/taskinfo?taskID=6358899

Built with following build overrides: libqtxdg-0.5.0-1.20131113gitf27fc3f.fc20, greenisland-, qt5-qtconfiguration-0.2.1-1.fc20, qt5-qtaccountsservice-0.1.1-3.fc20, qt5-qtwayland-5.1.0-0.6.20131203git6b20dfe.fc20

Comment 2 Lubomir Rintel 2014-01-12 09:15:18 UTC

Comment 3 Christopher Meng 2014-01-12 13:26:47 UTC
1. qt5-qtwayland should be in 5.2.0, right?

2. %exclude %{_libdir}/libHawaiiCore.so, why?

Comment 4 Lubomir Rintel 2014-01-12 17:22:00 UTC
(In reply to Christopher Meng from comment #3)
> 1. qt5-qtwayland should be in 5.2.0, right?

I'm not sure I understand the question. I'll try to enlighten the situation as much as I can: They haven't done an official release yet. They do keep version numbers in their Git tree, which is what we use for our package versions. They don't have any other meaning though at all. We do use snapshots of their Git repository as qt5-qtwayland is not an official part of Qt yet. We build them against whichever Qt base version we use -- currently it's 5.2.0.

Therefore, the qt5-qtwayland in f20 is linked against Qt 5.2.0 and works with it. To build hawaii-shell you need to grab packages from update-testing repository though.

That said, EGL support is missing from qt5-qtbase in f20, therefore qt5-qtwayland does not ship with EGL-enabled accelerated backend and only supports SHM surfaces. Good enough for simple qt5 applications such as hawaii-terminal or hawaii-archiver, not functional with qml (and therefore incapable of running the shell, despite it builds fine). Patches that fix this are already in qtbase git and therefore situation will likely improve with 5.2.1.

> 2. %exclude %{_libdir}/libHawaiiCore.so, why?

Because it's useless at the moment -- there binaries load the actual versioned library via SONAME and there's no way anything else would realistically link to it as there are not headers.

Arguably upstream might have used a static library instead though unless they have different plans.

Comment 5 Lubomir Rintel 2014-01-15 23:29:53 UTC
Ahem, ping? :)

Comment 6 Christopher Meng 2014-01-17 03:33:26 UTC

DEBUG util.py:281:  Error: No Package found for greenisland-devel >= 0.2.0


Search Results for greenisland-devel

  Fedora Rawhide
    Devel files for Greenisland
    Devel files for Greenisland

  Fedora 20
 Fedora Updates Testing:
    Devel files for Greenisland
    Devel files for Greenisland

Comment 7 Lubomir Rintel 2014-01-17 10:48:17 UTC
(In reply to Christopher Meng from comment #6)
> Uh?
> DEBUG util.py:281:  Error: No Package found for greenisland-devel >= 0.2.0

I'm not sure I understand what are you trying to say here.

Comment 8 Christopher Meng 2014-01-17 11:19:28 UTC
You forgot to build greenisland 0.2 for rawhide, and I can't review this since I'm running rawhide.

Comment 9 Lubomir Rintel 2014-01-17 11:35:41 UTC
(In reply to Christopher Meng from comment #8)
> You forgot to build greenisland 0.2 for rawhide, and I can't review this
> since I'm running rawhide.

I did not forget I can't do that due to api breakage of pre-release weston in rawhide -- see the first comment.

If you can't review this, please unassign the bug so that someone else can do the review.

Comment 10 Christopher Meng 2014-01-17 14:12:32 UTC
Can't disentangle myself from busy vacation now... :) I tried to use f20 vm and review it, blocked by my limited spare time. 


Comment 11 Lukas Bezdicka 2014-01-17 16:28:47 UTC
[/] - Package meets naming and packaging guidelines
[/] - Spec file matches base package name.
[/] - Spec has consistant macro usage.
[/] - Meets Packaging Guidelines.
BSD and LGPLv2+ and GPLv2+ - License
[/] - License field in spec matches
[/] - License file included in package - %doc
[/] - Spec in American English
[/] - Spec is legible.
[/] - Sources match upstream md5sum:

[X] - Package needs ExcludeArch
[?] - BuildRequires correct
[X] - Spec handles locales/find_lang
[X] - Package is relocatable and has a reason to be.
[X] - Package has %defattr and permissions on files is good.

[X] - Headers/static libs in -devel subpackage.
[X] - Spec has needed ldconfig in post and postun
[X] - .pc files in -devel subpackage/requires pkgconfig
[X] - .so files in -devel subpackage.
[X] - -devel package Requires: %{name} = %{version}-%{release}
[X] - .la files are removed.

[X] - Package is a GUI app and has a .desktop file

[/] - Package compiles and builds on at least one arch.
[/] - Package has no duplicate files in %files.
[/] - Package doesn't own any directories other packages own.
[/] - Package owns all the directories it creates.
[/] - No rpmlint output.
- final provides and requires are sane:
(include output of for i in *rpm; do echo $i; rpm -qp --provides $i; echo =; rpm -qp --requires $i; echo; done
manually indented after checking each line.  I also remove the rpmlib junk and anything provided by glibc.)


[/] - Should build in mock. - built in mock linked in ticket
[/] - Should build on all supported archs
[?] - Should function as described. - does not work here at all
[/] - Should have sane scriptlets.
[/] - Should have subpackages require base package with fully versioned depend.
[/] - Should have dist tag
[/] - Should package latest version
[/] - check for outstanding bugs on package. (For core merge reviews)


1. Except that it does not build here but I can see your mock build I would say fine. Well at least for package that does not run.

Comment 12 Lubomir Rintel 2014-01-17 16:49:00 UTC
New Package SCM Request
Package Name: hawaii-shell
Short Description: Hawaii shell for desktop, netbook and tablet
Owners: lkundrak plfiorini
Branches: f20 el6 epel7

Comment 13 Gwyn Ciesla 2014-01-17 17:11:51 UTC
Git done (by process-git-requests).

Comment 14 Lubomir Rintel 2014-04-28 13:24:46 UTC
Imported and built.

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