Difference between revisions of "Funtoo Beyond Gnome 3.6"

From Funtoo
Jump to: navigation, search
(Important Changes Between Gnome 3.6 and 3.12)
Line 1: Line 1:
== Funtoo Beyond Gnome 3.6 ==
+
== Funtoo Beyond GNOME 3.6 ==
  
As you may know, Funtoo is still on Gnome 3.6. The main issue with moving forward if the dependency of Gnome 3.8 and greater on systemd and by a lesser extension, logind.
+
As you may know, Funtoo is still on GNOME 3.6. The main issue with moving forward id the dependency of GNOME 3.8 and greater on systemd and by a lesser extension, logind.
  
However, through extensive research and testing, I have confirmed the position of the Gnome team dated 2012-11-04 that systemd is not a hard compile time dependency of Gnome itself but rather of what they consider basic functionality. As of Gnome 3.12, this basic functionality includes power management (specifically suspend and hibernation) and viewing the system log. There are ways to work around this, but more or that later.
+
However, through extensive research and testing, I have confirmed the position of the GNOME team dated 2012-11-04 that systemd is not a hard compile time dependency of GNOME itself but rather of what they consider basic functionality. As of GNOME 3.12, this basic functionality includes power management (specifically suspend and hibernation) and viewing the system log. There are ways to work around this, but more on that later.
  
== Important Changes Between Gnome 3.6 and 3.12 ==
+
== Important Changes Between GNOME 3.6 and 3.12 ==
  
 
===Core===
 
===Core===
  
* gnome-fallback was obsoleted in 3.10 in favor of MATE
+
* gnome-fallback was obsoleted in 3.10 in favor of [http://mate-desktop.org/ MATE]
 
* gnome-panel was integrated with gnome-shell as of 3.10
 
* gnome-panel was integrated with gnome-shell as of 3.10
 
* gnome-screensaver was integrated with gnome-shell as of 3.8
 
* gnome-screensaver was integrated with gnome-shell as of 3.8
Line 34: Line 34:
 
== Dealing with logind ==
 
== Dealing with logind ==
  
There are no special actions to perform as ConsoleKit is still supported by GNOME as of 3.12 if systemd is not found, however, be aware that ConsoleKit is no longer actively maintained as the focus has shifted to development of systemd and consequently, may not behave as expected at all times.
+
There are no special actions to perform as ConsoleKit is still supported by GNOME as of 3.12 in the event that systemd is not found, however, be aware that ConsoleKit is no longer actively maintained as the focus has shifted to the development of systemd and consequently, may not always behave as expected.
  
 
== Special Notes about gdm ==
 
== Special Notes about gdm ==
Line 46: Line 46:
 
== Special Notes about gnome-system-log and gnome-logs ==
 
== Special Notes about gnome-system-log and gnome-logs ==
  
gnome-logs has a hard dependency on systemd since it is now a log view for the systemd journal if you want the old functionality use gnome-system-log instead however it is recommended you use the live version instead of 3.9.90:
+
gnome-logs has a hard dependency on systemd since it is now a log view for the systemd journal. If you want the old functionality use gnome-system-log instead however it is recommended you use the live version instead of 3.9.90 as their have been a considerable amount of updates since that release:
  
 
Add "=app-admin/gnome-system-log-9999 **" to /etc/portage/package.keywords/gnome-system-log
 
Add "=app-admin/gnome-system-log-9999 **" to /etc/portage/package.keywords/gnome-system-log
  
== Unmasking Gnome 3.12 ==
+
== Adding the GNOME Overlay ==
 +
 
 +
{{fancynote|Funtoo has removed certain packages that are still in Gentoo (>gtk+-3.8.7 and networkmanager-0.9.8.10) and in some cases, certain packages that are in both Funtoo and Gentoo fail to build (telepathy-mission-control). The easiest way to presently resolve this, is simply to add the GNOME overlay.}}
 +
 
 +
<pre>
 +
layman -a gnome
 +
</pre>
 +
 
 +
== Unmasking GNOME 3.12 and Lesser ==
 +
 
 +
{{fancynote|You do not need to unmask gnome 3.12 and lesser if you do not use the gnome mix-in but I have provided the list for your convenience should you wish to do so.}}
  
 
Add the following to /etc/portage/package/unmask/gnome-3.12:
 
Add the following to /etc/portage/package/unmask/gnome-3.12:
Line 142: Line 152:
 
</pre>
 
</pre>
  
== Masking Gnome 3.13 and Greater ==
+
== Masking GNOME 3.13 and Greater ==
 +
 
 +
{{fancynote|You do not need to mask gnome 3.13 and greater if you do not use the gnome overlay but I advise you to do so as a precaution.}}
  
 
Add the following to /etc/portage/package/mask/gnome-3.13:
 
Add the following to /etc/portage/package/mask/gnome-3.13:
Line 224: Line 236:
  
 
== Masking Problem Packages ==
 
== Masking Problem Packages ==
 +
 +
{{fancynote|You do not need to mask the gentoo version of this package if manages to build.}}
  
 
Add the following to /etc/portage/package/mask/telepathy-mission-control:
 
Add the following to /etc/portage/package/mask/telepathy-mission-control:
Line 232: Line 246:
 
</pre>
 
</pre>
  
== Preparing for Gnome 3.8 ==
+
== Building Problem Packages ==
 +
 
 +
If libical-1.0-r2 fails to build you need to emerge libical-0.48-r2 first.
 +
 
 +
<console>
 +
emerge -va1 =ibical-0.48-r2
 +
emerge -va1 =ibical-1.0-r2
 +
</console>
 +
 
 +
== Preparing for GNOME 3.8 ==
  
 
I suggest you skip this version.
 
I suggest you skip this version.
  
== Preparing for Gnome 3.10 ==
+
== Preparing for GNOME 3.10 ==
 +
 
 +
{{fancywarning|In the future be careful about running "emerge --depclean" as it will add gdm to the list of packages to be removed and it must be installed.}}
  
 
Install gdm with "emerge -1 --nodeps =gdm-3.10.0.1-r1"
 
Install gdm with "emerge -1 --nodeps =gdm-3.10.0.1-r1"
Line 242: Line 267:
 
Add "=gdm-3.10.0.1-r1" to /etc/portage/profile/package.provided
 
Add "=gdm-3.10.0.1-r1" to /etc/portage/profile/package.provided
  
{{fancywarning|In the future be careful about running "emerge --depclean" as it will add gdm to the list of packages to be removed and it must be installed.}}
+
== Preparing for GNOME 3.12 ==
 
+
== Preparing for Gnome 3.12 ==
+
  
 
This is the version of GNOME that you want:
 
This is the version of GNOME that you want:
  
1. The gdm trick is no longer required and gdm unlike in 3.10, I can confirm that in 3.12 gdm works 100% for session management (including screen locking).
+
1. The gdm trick is no longer required and unlike in gnome 3.10, I can confirm that in gnome 3.12 gdm works 100% for session management (including screen locking).
  
2. Gnome Classic is better than ever (gnome-shell -r --mode=classic).
+
2. GNOME Classic is better than ever (gnome-shell -r --mode=classic).
  
3. A minor annoyance with nautilus has been fixed.
+
3. A minor annoyance with nautilus has been corrected.
 
+
All you have to do is add the gnome overlay because it has packages we want:
+
 
+
<pre>
+
layman -a gnome
+
</pre>
+
  
== Patching Gnome 3.12 (Suspend and Hibernation) ==
+
== Patching GNOME 3.12 (Suspend and Hibernation) ==
  
 
{{fancywarning|Until further notice, this patch should be considered highly experimental}}
 
{{fancywarning|Until further notice, this patch should be considered highly experimental}}
  
Gnome 3.12 depends on upower-0.99.0 in which support for pm-utils has been removed (and for good reasons mind you). However I am opinion that leaving the deprecated features in the code harms no one, so I have taken the liberty of reverting those changes.
+
GNOME 3.12 depends on upower-0.99.0 in which support for pm-utils has been removed (and for good reasons mind you). However I am opinion that leaving the deprecated features in the code harms no one, so I have taken the liberty of reverting those changes.
  
 
<pre>
 
<pre>
Line 270: Line 287:
 
</pre>
 
</pre>
  
== Installing Gnome ==
+
== Installing GNOME ==
  
 
<pre>
 
<pre>
Line 287: Line 304:
 
== Summary ==
 
== Summary ==
  
Gnome 3.10 works without systemd but gdm functionality is wonky (don't count on session management, screen locking, suspend or hibernation support).
+
GNOME 3.10 works without systemd but gdm functionality is wonky (don't count on session management, screen locking, suspend or hibernation support).
  
Gnome 3.12 without without systemd and gdm is confirmed to work 100% (excluding suspend and hibernation support which must be added through the provided upower patch).
+
GNOME 3.12 without without systemd and gdm is confirmed to work 100% (excluding suspend and hibernation support which must be added through the provided upower patch).

Revision as of 07:17, 3 July 2014

Funtoo Beyond GNOME 3.6

As you may know, Funtoo is still on GNOME 3.6. The main issue with moving forward id the dependency of GNOME 3.8 and greater on systemd and by a lesser extension, logind.

However, through extensive research and testing, I have confirmed the position of the GNOME team dated 2012-11-04 that systemd is not a hard compile time dependency of GNOME itself but rather of what they consider basic functionality. As of GNOME 3.12, this basic functionality includes power management (specifically suspend and hibernation) and viewing the system log. There are ways to work around this, but more on that later.

Important Changes Between GNOME 3.6 and 3.12

Core

  • gnome-fallback was obsoleted in 3.10 in favor of MATE
  • gnome-panel was integrated with gnome-shell as of 3.10
  • gnome-screensaver was integrated with gnome-shell as of 3.8
  • metacity was fully replaced by mutter as of gnome 3.10

Games

  • gnome-games was obsoleted in gnome 3.8 in favor of separate packages

Apps

  • alacarate was broken as of gnome 3.12
  • gcalctool was replaced by gnome-calculator as of gnome 3.10
  • gnome-system-log was replaced by gnome-logs as of 3.10
  • menulibre was broken as of gnome 3.12
  • nautilus-open-terminal was integrated with gnome-terminal as of 3.10

Dealing with systemd

Add "-systemd" to your global USE flags in /etc/make.conf or /etc/portage/make.conf

Add "-openrc-force" to /etc/portage/profile/use.mask

Dealing with logind

There are no special actions to perform as ConsoleKit is still supported by GNOME as of 3.12 in the event that systemd is not found, however, be aware that ConsoleKit is no longer actively maintained as the focus has shifted to the development of systemd and consequently, may not always behave as expected.

Special Notes about gdm

gdm 3.4 to 3.6 can still be used with gnome 3.10

gdm 3.8 and 3.10 has a hard dependency on systemd

gdm 3.12 no longer has a hard dependency on systemd

Special Notes about gnome-system-log and gnome-logs

gnome-logs has a hard dependency on systemd since it is now a log view for the systemd journal. If you want the old functionality use gnome-system-log instead however it is recommended you use the live version instead of 3.9.90 as their have been a considerable amount of updates since that release:

Add "=app-admin/gnome-system-log-9999 **" to /etc/portage/package.keywords/gnome-system-log

Adding the GNOME Overlay

Note: Funtoo has removed certain packages that are still in Gentoo (>gtk+-3.8.7 and networkmanager-0.9.8.10) and in some cases, certain packages that are in both Funtoo and Gentoo fail to build (telepathy-mission-control). The easiest way to presently resolve this, is simply to add the GNOME overlay.
layman -a gnome

Unmasking GNOME 3.12 and Lesser

Note: You do not need to unmask gnome 3.12 and lesser if you do not use the gnome mix-in but I have provided the list for your convenience should you wish to do so.

Add the following to /etc/portage/package/unmask/gnome-3.12:

<app-accessibility/accerciser-3.13
<app-accessibility/orca-3.13
<app-cdr/brasero-3.13
<app-crypt/gcr-3.13
<app-dicts/gnome-dictionary-3.13.0
<app-editors/ghex-3.13
<app-misc/bijiben-3.13
<app-misc/gnote-3.13
<dev-libs/gdl-3.13
<dev-libs/seed-3.13
<dev-python/pygobject-3.13
<dev-util/anjuta-3.13
<dev-util/devhelp-3.13
<dev-util/gnome-devel-docs-3.13
<gnome-base/gdm-3.13
<gnome-base/gnome-3.13
<gnome-base/gnome-common-3.13.0
<gnome-base/gnome-control-center-3.13
<gnome-base/gnome-core-apps-3.13.0
<gnome-base/gnome-core-libs-3.13.0
<gnome-base/gnome-desktop-3.13
<gnome-base/gnome-extra-apps-3.13.0
<gnome-base/gnome-fallback-3.13.0
<gnome-base/gnome-keyring-3.13
<gnome-base/gnome-light-3.13
<gnome-base/gnome-menus-3.13
<gnome-base/gnome-session-3.13
<gnome-base/gnome-settings-daemon-3.13
<gnome-base/gnome-shell-3.13
<gnome-base/gsettings-desktop-schemas-3.13
<gnome-base/libgnome-keyring-3.13
<gnome-base/nautilus-3.13
<gnome-extra/evolution-data-server-3.13
<gnome-extra/evolution-ews-3.13
<gnome-extra/evolution-kolab-3.13
<gnome-extra/gnome-calculator-3.13
<gnome-extra/gnome-clocks-3.13
<gnome-extra/gnome-color-manager-3.13
<gnome-extra/gnome-contacts-3.13
<gnome-extra/gnome-documents-3.13
<gnome-extra/gnome-getting-started-docs-3.13
<gnome-extra/gnome-power-manager-3.13
<gnome-extra/gnome-shell-extensions-3.13
<gnome-extra/gnome-system-monitor-3.13
<gnome-extra/gnome-user-docs-3.13
<gnome-extra/gnome-user-share-3.13
<gnome-extra/gnome-weather-3.13
<gnome-extra/gucharmap-3.13
<gnome-extra/mousetweaks-3.13
<gnome-extra/sushi-3.13
<gnome-extra/yelp-3.13
<gnome-extra/yelp-xsl-3.13
<gnome-extra/zenity-3.13
<mail-client/evolution-3.13
<media-gfx/eog-3.13
<media-gfx/eog-plugins-3.13
<media-gfx/gnome-font-viewer-3.13
<media-gfx/gnome-photos-3.13
<media-gfx/gnome-screenshot-3.13
<media-video/totem-3.13
<net-im/empathy-3.13
<net-misc/vinagre-3.13
<sys-apps/gnome-disk-utility-3.13
<www-client/epiphany-3.13
<x11-libs/gtksourceview-3.13
<x11-libs/libcryptui-3.13
<x11-libs/libwnck-3.13
<x11-misc/alacarte-3.13.0
<x11-terms/gnome-terminal-3.13
<x11-themes/gnome-backgrounds-3.13
<x11-themes/gnome-icon-theme-3.13
<x11-themes/gnome-icon-theme-symbolic-3.13
<x11-themes/gnome-themes-standard-3.13
<x11-wm/mutter-3.13
games-arcade/gnome-robots
games-board/four-in-a-row
games-board/gnome-chess
games-board/gnome-mines
games-board/iagno
games-puzzle/five-or-more
games-puzzle/gnome-klotski
games-puzzle/gnome-sudoku
games-puzzle/gnome-tetravex
games-puzzle/quadrapassel
games-puzzle/swell-foop

Masking GNOME 3.13 and Greater

Note: You do not need to mask gnome 3.13 and greater if you do not use the gnome overlay but I advise you to do so as a precaution.

Add the following to /etc/portage/package/mask/gnome-3.13:

>=app-accessibility/accerciser-3.13
>=app-accessibility/orca-3.13
>=app-cdr/brasero-3.13
>=app-crypt/gcr-3.13
>=app-dicts/gnome-dictionary-3.13.0
>=app-editors/ghex-3.13
>=app-misc/bijiben-3.13
>=app-misc/gnote-3.13
>=dev-libs/gdl-3.13
>=dev-libs/seed-3.13
>=dev-python/pygobject-3.13
>=dev-util/anjuta-3.13
>=dev-util/devhelp-3.13
>=dev-util/gnome-devel-docs-3.13
>=gnome-base/gdm-3.13
>=gnome-base/gnome-3.13
>=gnome-base/gnome-common-3.13.0
>=gnome-base/gnome-control-center-3.13
>=gnome-base/gnome-core-apps-3.13.0
>=gnome-base/gnome-core-libs-3.13.0
>=gnome-base/gnome-desktop-3.13
>=gnome-base/gnome-extra-apps-3.13.0
>=gnome-base/gnome-fallback-3.13.0
>=gnome-base/gnome-keyring-3.13
>=gnome-base/gnome-light-3.13
>=gnome-base/gnome-menus-3.13
>=gnome-base/gnome-session-3.13
>=gnome-base/gnome-settings-daemon-3.13
>=gnome-base/gnome-shell-3.13
>=gnome-base/gsettings-desktop-schemas-3.13
>=gnome-base/libgnome-keyring-3.13
>=gnome-base/nautilus-3.13
>=gnome-extra/evolution-data-server-3.13
>=gnome-extra/evolution-ews-3.13
>=gnome-extra/evolution-kolab-3.13
>=gnome-extra/gnome-calculator-3.13
>=gnome-extra/gnome-clocks-3.13
>=gnome-extra/gnome-color-manager-3.13
>=gnome-extra/gnome-contacts-3.13
>=gnome-extra/gnome-documents-3.13
>=gnome-extra/gnome-getting-started-docs-3.13
>=gnome-extra/gnome-power-manager-3.13
>=gnome-extra/gnome-shell-extensions-3.13
>=gnome-extra/gnome-system-monitor-3.13
>=gnome-extra/gnome-user-docs-3.13
>=gnome-extra/gnome-user-share-3.13
>=gnome-extra/gnome-weather-3.13
>=gnome-extra/gucharmap-3.13
>=gnome-extra/mousetweaks-3.13
>=gnome-extra/sushi-3.13
>=gnome-extra/yelp-3.13
>=gnome-extra/yelp-xsl-3.13
>=gnome-extra/zenity-3.13
>=mail-client/evolution-3.13
>=media-gfx/eog-3.13
>=media-gfx/eog-plugins-3.13
>=media-gfx/gnome-font-viewer-3.13
>=media-gfx/gnome-photos-3.13
>=media-gfx/gnome-screenshot-3.13
>=media-video/totem-3.13
>=net-im/empathy-3.13
>=net-misc/vinagre-3.13
>=sys-apps/gnome-disk-utility-3.13
>=www-client/epiphany-3.13
>=x11-libs/gtksourceview-3.13
>=x11-libs/libcryptui-3.13
>=x11-libs/libwnck-3.13
>=x11-misc/alacarte-3.13.0
>=x11-terms/gnome-terminal-3.13
>=x11-themes/gnome-backgrounds-3.13
>=x11-themes/gnome-icon-theme-3.13
>=x11-themes/gnome-icon-theme-symbolic-3.13
>=x11-themes/gnome-themes-standard-3.13
>=x11-wm/mutter-3.13

Masking Problem Packages

Note: You do not need to mask the gentoo version of this package if manages to build.

Add the following to /etc/portage/package/mask/telepathy-mission-control:

# We want to use the gnome version of this package.
net-im/telepathy-mission-control::gentoo

Building Problem Packages

If libical-1.0-r2 fails to build you need to emerge libical-0.48-r2 first.

emerge -va1 =ibical-0.48-r2
emerge -va1 =ibical-1.0-r2

Preparing for GNOME 3.8

I suggest you skip this version.

Preparing for GNOME 3.10

Warning: In the future be careful about running "emerge --depclean" as it will add gdm to the list of packages to be removed and it must be installed.

Install gdm with "emerge -1 --nodeps =gdm-3.10.0.1-r1"

Add "=gdm-3.10.0.1-r1" to /etc/portage/profile/package.provided

Preparing for GNOME 3.12

This is the version of GNOME that you want:

1. The gdm trick is no longer required and unlike in gnome 3.10, I can confirm that in gnome 3.12 gdm works 100% for session management (including screen locking).

2. GNOME Classic is better than ever (gnome-shell -r --mode=classic).

3. A minor annoyance with nautilus has been corrected.

Patching GNOME 3.12 (Suspend and Hibernation)

Warning: Until further notice, this patch should be considered highly experimental

GNOME 3.12 depends on upower-0.99.0 in which support for pm-utils has been removed (and for good reasons mind you). However I am opinion that leaving the deprecated features in the code harms no one, so I have taken the liberty of reverting those changes.

TODO

Installing GNOME

emerge -vauDN gnome-light

Verify the inode/directory MimeType Handler

In some odd instances, baobab might take priority over nautilus when handling the inode/directory MimeType. If this behavior is not desired, add the following to /home/~/.local/share/applications/mimeapps.list:

[Added Associations]
inode/directory=nautilus.desktop;baobab.desktop;

Summary

GNOME 3.10 works without systemd but gdm functionality is wonky (don't count on session management, screen locking, suspend or hibernation support).

GNOME 3.12 without without systemd and gdm is confirmed to work 100% (excluding suspend and hibernation support which must be added through the provided upower patch).