Difference between pages "Funtoo Beyond Gnome 3.6" and "Merge Funtoo 1.0 profile support into gentoo"

From Funtoo
(Difference between pages)
Jump to: navigation, search
(not required, gdm-3.12.2 works just fine)
 
(Created page with "Steps to merge funtoo 1.0 style profile support into gentoo: 1.) eselect-profile support We want eselect-profile to support both the funtoo style profiles and the gentoo...")
 
Line 1: Line 1:
== Funtoo Beyond GNOME 3.6 ==
+
Steps to merge funtoo 1.0 style profile support into gentoo:
  
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.
+
1.) eselect-profile support
 
+
    We want eselect-profile to support both the funtoo style profiles and the gentoo style profiles at the same time
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.
+
    First thought, says if /etc/{,portage}/make.profile is a symlink, only show gentoo style profiles; this will hide the changes from unsuspecting users so they don't    
 
+
        accidently set an experimental profile as gentoo tries to catch up.
== Important Changes Between GNOME 3.6 and 3.12 ==
+
    If /etc/{,portage}/make.profile is not a symlink, then show a list of old style profiles and new style profiles.
 
+
        This may require funtoo to remove profiles.desc and profiles.eselect.desc from gentoo before replicating.
===Core===
+
2.) catalyst support
 
+
    seems trivial, support catalyst setting new style profiles.
* gnome-fallback was obsoleted in 3.10 in favor of [http://mate-desktop.org/ MATE]
+
    input requested from funtoo team on suggested syntax
* gnome-panel was integrated with gnome-shell as of 3.10
+
3.) build prototype profiles in gentoo for all possible x86/amd64 varients.
* gnome-screensaver was integrated with gnome-shell as of 3.8
+
    mgorny has some good ideas here for multilib stuff
* metacity was fully replaced by mutter as of gnome 3.10
+
    blueness has some good ideas for hardened and alternative libc implementations
 
+
===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 the following to your global USE flags in /etc/make.conf or /etc/portage/make.conf:
+
 
+
<pre>
+
USE="openrc-force -systemd"
+
</pre>
+
 
+
Add the following to /etc/portage/profile/use.mask:
+
 
+
<pre>
+
-openrc-force
+
</pre>
+
 
+
== 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 ==
+
 
+
{{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.}}
+
 
+
You will need layman, if you don't have it installed do:
+
 
+
<console>
+
emerge -va layman
+
layman -S
+
</console>
+
 
+
Then, make sure portage picks it up by adding the following to your /etc/make.conf or /etc/portage/make.conf:
+
 
+
<pre>
+
source /var/lib/layman/make.conf
+
</pre>
+
 
+
Finally, 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:
+
 
+
<pre>
+
<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
+
</pre>
+
 
+
== 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:
+
 
+
<pre>
+
>=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
+
</pre>
+
 
+
== Masking Problem Packages ==
+
 
+
{{fancynote|You do not need to mask the gentoo version of this package if successfully builds.}}
+
 
+
Add the following to /etc/portage/package/mask/telepathy-mission-control:
+
 
+
<pre>
+
# We want to use the gnome version of this package.
+
net-im/telepathy-mission-control::gentoo
+
</pre>
+
 
+
== Building Problem Packages ==
+
 
+
If libical-1.0-r2 fails to build you need to emerge libical-0.48-r2 first (for reference see Gentoo Bug #[https://bugs.gentoo.org/show_bug.cgi?id=507974 507974]).
+
 
+
<console>
+
emerge -va1 =libical-0.48-r2
+
emerge -va1 =libical-1.0-r2
+
</console>
+
 
+
== 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.
+
 
+
== Installing GNOME ==
+
 
+
To pull in everything do:
+
 
+
<console>
+
emerge -vauDN gnome
+
</console>
+
 
+
For a minimal install do:
+
 
+
<console>
+
emerge -vauDN gnome-light
+
</console>
+
 
+
== Patching GNOME 3.12 (Suspend and Hibernation) ==
+
 
+
{{fancywarning|Until further notice, this patch should be considered highly experimental}}
+
 
+
{{fancynote|Be aware that once this patch has been confirmed to work correctly, it may added directly to upower instead of remaining in upower-pm-utils.}}
+
 
+
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.
+
 
+
To use this patch, add the attachment found on [https://bugs.funtoo.org/browse/FL-1329 FL-1329] to the sys-power directory of your local overlay.
+
 
+
If you do not have a local overlay, create one:
+
 
+
<console>
+
mkdir -p /usr/local/portage/profiles
+
echo "local" >> /usr/local/portage/profiles/repo_name
+
 
+
chown root:portage /usr/local/portage
+
chmod g+s /usr/local/portage
+
chmod 775 /usr/local/portage
+
 
+
echo "PORTDIR_OVERLAY=/usr/local/portage" >> /etc/portage/make.conf
+
</console>
+
 
+
Then, retrieve the tarball:
+
 
+
<console>
+
mkdir -p /usr/local/portage/sys-power/upower-pm-utils
+
cd /usr/local/portage/sys-power/upower-pm-utils
+
 
+
wget https://bugs.funtoo.org/secure/attachment/12001/upower-pm-utils.tar.xz && tar xvJf upower-pm-utils.tar.xz
+
 
+
rm upower-pm-utils.tar.xz
+
 
+
eix-update
+
</console>
+
 
+
Now, remove upower:
+
 
+
<console>
+
emerge -vaC upower
+
</console>
+
 
+
Then, install your choice of the patched upower:
+
 
+
<console>
+
emerge -va =upower-pm-utils-0.99.0
+
</console>
+
 
+
or
+
 
+
<console>
+
emerge -va =upower-pm-utils-9999
+
</console>
+
 
+
Finally, add the following to /etc/portage/profile/package.provided
+
 
+
{{fancynote|This is a temporary measure until it is decided what form the patch upower will take should it be successful.}}
+
 
+
<pre>
+
sys-power/upower-0.99.0-r1
+
</pre>
+
 
+
== 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:
+
 
+
<pre>
+
[Added Associations]
+
inode/directory=nautilus.desktop;baobab.desktop;
+
</pre>
+
 
+
== 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 works without systemd and gdm functionality is confirmed to work 100% (excluding suspend and hibernation support which must be added through the provided upower patch).
+

Revision as of 01:44, 4 July 2014

Steps to merge funtoo 1.0 style profile support into gentoo:

1.) eselect-profile support

   We want eselect-profile to support both the funtoo style profiles and the gentoo style profiles at the same time
   First thought, says if /etc/{,portage}/make.profile is a symlink, only show gentoo style profiles; this will hide the changes from unsuspecting users so they don't     
       accidently set an experimental profile as gentoo tries to catch up.
   If /etc/{,portage}/make.profile is not a symlink, then show a list of old style profiles and new style profiles.
       This may require funtoo to remove profiles.desc and profiles.eselect.desc from gentoo before replicating.

2.) catalyst support

   seems trivial, support catalyst setting new style profiles.
   input requested from funtoo team on suggested syntax

3.) build prototype profiles in gentoo for all possible x86/amd64 varients.

   mgorny has some good ideas here for multilib stuff
   blueness has some good ideas for hardened and alternative libc implementations