State of the fedora packages

With the exception of Pantheon Mail and some Switchboard plugs, most of elementary’s projects now have official fedora packages.

The elementary apps work fine on all releases of fedora as far as I can tell, and the Pantheon session works fine on fedora 25 (though it crashes at launch on fedora 26 at the moment, due to a crash in gnome-session that I couldn’t debug yet).

elementary apps

Right now, the latest versions of all elementary apps (except Pantheon Mail) are available on fedora 25+.

Pantheon Mail: WIP

The latest release of pantheon-mail hits some compilation errors when using recent versions of the vala compiler (0.36+). Those issues have been fixed in the git master branch, but the big issue blocking a fedora package right now is the dependency on webkitgtk-3.0 / missing support of webkit2gtk-4.0, since the old package has been removed from fedora 27+ for security reasons.

I have reported this issue at mail/#8. The original geary E-Mail client has already been ported, maybe some of the work done there can be adapted.

Screenshot Tool 0.1.3: FTBFS (fixed)

The latest release of screenshot-tool (0.1.3) shipped with broken generation of its appdata file, so I can’t push this update (from 0.1.2 to 0.1.3) to the fedora repositories yet. It seems this is some issue with how translations are handled in CMake, and I have reported this problem at screenshot-tool/#21.

A new version of screenshot-tool (0.1.3.1) was released on April 30, 2017 - it includes some general fixes and also a fix for the issue preventing appdata generation (there was a typo in the appdata template file). I’ve already built the new version and submitted it to fedora.

Pantheon desktop

The latest versions of all Pantheon desktop components are available on fedora 25+.

Pantheon Polkit Agent: DONE

All issues previously blocking a proper fedora package of pantheon-agent-polkit have already been addressed by the upstream developers. As soon as a new release incorporating those changes is available, I will submit a review request.

A new version of pantheon-agent-polkit (0.1.3) was released on May 2, 2017 - it includes fixes for all issues blocking a fedora package.

I have filed a Review Request (RHBZ#1447401) and updated the package in the elementary-stable COPR repository.

The Pantheon Polkit Agent is now present in the official repositories on fedora 25+.

Captive Portal Assistant: DONE

The capnet-assist package that I submitted for review - which included a backported fix for the issue previously preventing a proper fedora package (capnet-assist/#11) - has been approved and is now available on fedora 25+.

Pantheon LightDM Greeter: DONE

The Review Requests for the pantheon-greeter (and one of the previously unavailable dependencies - the Raleway font) have been approved and the Pantheon LightDM Greeter is now available on fedora 25+.

gsignond and libgsignon-glib: DONE

Since the latest version of gsignond (1.0.6, released April 11, 2017) compiles successfully on fedora, I have succeeded to submit a package to the fedora 25+ repositories.

I’ve also reported two code issues which rpmlint uncovered to upstream (gsignond/#10, gsignond/#11).

Only the latest git commits of libgsignon-glib compile successfully on fedora, so I worked to get a snapshot build into the fedora 25+ repositories.

Switchboard Plugs

Switchboard About / System Info plug: DONE

The latest release (0.1.2) of switchboard-plug-about includes a generic way of determining the displayed data that also works on other distros - including fedora (thanks, Neal!). My package has already been approved and is now available on fedora 25+.

Switchboard Online Accounts plug: DONE

I have submitted a Review Request for a package of the Switchboard Online Accounts plug (which includes Pantheon Online Accounts) here.

The Switchboard Online Accounts plug is now available on fedora 25+, although none of the account providers work yet (due to missing plugins).

Switchboard Pantheon Shell / Desktop plug: WIP

The issue which previously blocked a proper fedora package from happening has been resolved upstream, and the latest release (0.2.5) already includes the fix. Sadly, the code now fails to build with the most recent release of CMake (3.8).

I have not been able to determine the exact cause myself, although I suspect the project’s CMake files unknowingly exploited a bug that has been fixed with the latest release of CMake. I have reported the issue upstream at switchboard-plug-pantheon-shell/#51.

Compilation with CMake 3.8 has been fixed with a recent commit to the git master branch, but no release containing the fix has been published yet.

State of my COPR repositories

elementary-stable

I have now built all packages for fedora 25, 26 and rawhide to match what is available through the official fedora repositories.

All packages that have made it into the official fedora repositories have been removed.

Pantheon Mail: DONE (f25)

A package of pantheon-mail for fedora 25 is now available.

elementary-nightly

Parallel to the change in elementary-stable, I have enabled snapshot builds for fedora 25, 26 and rawhide now.

I have been transitioning the snapshot builds from bzr snapshots to git snapshots as upstream projects made the move from launchpad.net to github.com. All packages which have seen a new release since their move have been switched to git.

Switchboard Online Accounts plug: DONE

Parallel to the availability of this package in the elementary-stable repository, snapshot builds are now also enabled.

Pantheon Mail: DONE (f25, f26)

Snapshot builds of pantheon-mail are now available on fedora 25 and 26 (no rawhide, because of the missing webkitgtk-3.0 package there).

Pantheon Geoclue2 Agent: DONE

Being one of the newest elementary projects, it hasn’t seen a proper release yet. But it’s available in the elementary-nightly COPR now.

I’ve reported a portabilty issue (hardcoded /usr/lib/ installation directory for the binary) at pantheon-agent-geoclue/#7 and also proposed a fix for the issue.

My fix was approved and the install location of the agent binary is now the expected one on all distributions.

Remaining Issues

Below is a near-complete summary of the remaining issues that either block official fedora packages for some elementary projects, make downstream patches necessary or are just plain annoying.

  • audience still references a non-standard icon (multimedia-video-player) - audience/#23.
  • cmake-elementary has not seen a proper upstream release yet - cmake-modules/#2.
  • elementary-dpms-helper is still missing a real release - LP:1639935. Additionally, it relies on a GSettings key that’s no longer present in recent GNOME versions, so it doesn’t even work on fedora.
  • elementary-theme has no support for recent GTK+ versions yet. Progress is being tracked here.
  • gala doesn’t provide a stable release yet - LP:1639892.
  • maya-calendar still references a non-standard icon (office-calendar) - calendar/#103.
  • pantheon-mail needs to be ported to webkit2gtk-4.0 - mail/#8.
  • screenshot-tool still references a non-standard icon (accessories-screenshot) - screenshot-tool/#28.
  • snap-photobooth still references a non-standard icon (accessories-camera) - camera/#32.
  • switchboard-plug-datetime doesn’t seem to play well with how fedora handles date/time and timezones.
  • switchboard-plug-locale uses aptdaemon to install language support, which obviously isn’t available on fedora.
  • switchboard-plug-parental-controls hasn’t seen the amount of testing on fedora that I would like before submitting such a sensitive piece of code.
  • switchboard-plug-power depends on the unavailable elementary-dpms-helper.
  • switchboard-plug-security-privacy depends on ufw being the system’s firewall service. A patch for an older version of this plug to use firewalld instead exists, but has to be ported to the new version.
  • switchboard-plug-sharing still crashes due to an incompatibility with all recent GNOME versions (missing GSettings key) - switchboard-plug-sharing/#10.
  • switchboard-plug-useraccounts hasn’t seen the amount of testing on fedora that I would like before submitting such a sensitive piece of code.

Future Work

  • gsignond needs some plugins to be useful, but none are packaged for fedora yet.