While everyone was busy talking about Firefox 1.5 Beta 1, GNOME 2.12 the latest version of the popular multi-platform free desktop environment is much more interesting.
Since the stable ebuild for GNOME 2.12 is not officially out, everyone at Gentoo forum are much more eager to test themselves, including me. But unfortunately, most of them are using the full meta package of Gnome2 not the ‘light’ Gnome2 desktop.
The ‘light’ Gnome2 desktop or Gnome-light only consist of the bare minimum of libs/apps needed and it is basicly the gnome-base/gnome without all extra apps. Since the last version of Gnome-light ebuild is 2.10, so I decided to build an ebuild based on it for Gnome 2.12. The current Gnome2 beta is already in portage but hardmasked and needed to be unmask. A stable version usually release 2-3 weeks after the official GNOME2 release. The merging process are a bit confusing because at some point you have to solve the blocking dependencies.
In order to unmask the package(you must do this as root or use sudo).
grep -A 75 "GNOME 2.12" /usr/portage/profiles/package.mask >> /etc/portage/package.unmask
grep -A 75 "GNOME 2.12" /usr/portage/profiles/package.mask | grep = > /tmp/gnome212.txt
for L in `cat /tmp/gnome212.txt` ; do echo $L ~x86 ; done >> /etc/portage/package.keywords
This command will take all of the masked entries for Gnome 2.12 in package.mask and put them in the unmask file.
But yet later on, there are few minor dependencies need to be solve accordingly. By referring from gnome-light-2.10.ebuild, my version of gnome-light-2.12_pre0.ebuild is made. The changes of the new ebuild file are only made to the libs and apps version which is referred from the previous GNOME 2.12 masked entries inserted into package.unmask. To avoid Security Violation while emerging new updated ebuild simply run ebuild gnome-light-2.12_pre0.ebuild digest everytime an ebuild is edited or changed.
Then it’s time to merge the new gnome-light ebuild, emerge -pv =gnome-light-2.12_pre0. Again, I’ve ran into few dependencies error that need to be manually unmask. To make it short, these are the extra entries for package.unmask and package.keywords.
package.unmask #Gnome-light 2.12 >=media-libs/libexif-0.6.12-r4 >=dev-python/pyxml-0.8.4 >=gnome-base/gnome-light-2.12_pre0 >=gnome-base/orbit-2.12.4 >=gnome-base/libbonobo-2.10.1 >=gnome-base/libbonoboui-2.10.1-r1 >=dev-libs/atk-1.10.3 >=x11-libs/cairo-1.0.0-r2 >=sys-apps/hal-0.5.4 >=sys-apps/dbus-0.36.2 >=dev-lang/python-2.4.1 >=dev-lang/python-2.4-r3 >=dev-lang/python-2.4.1-r1 >=dev-python/pyrex-0.9.3-r2 >=sys-apps/pmount-0.9.3-r3 >=sys-fs/cryptsetup-luks-1.0-r1 >=sys-fs/cryptsetup-luks-1.0.1 >=sys-fs/cryptsetup-luks-1.0 >=app-text/iso-codes-0.47-r1 >=app-text/iso-codes-0.47 #End Gnome-light 2.12 #GNOME-2.12 >=x11-themes/gtk-engines-2.6.5 >=app-text/poppler-0.4.1 >=gnome-base/gdm-2.8.0.4 >=gnome-base/gdm-2.8.0.3 >=net-libs/libsoup-2.2.6.1 >=x11-libs/vte-0.11.15 >=dev-libs/libIDL-0.8.6 #End GNOME-2.12
package.keywords #Gnome-light 2.12 >=media-libs/libexif-0.6.12-r4 ~x86 >=dev-python/pyxml-0.8.4 ~x86 >=dev-libs/atk-1.10.3 ~x86 >=gnome-base/orbit-2.12.4 ~x86 >=gnome-base/libbonobo-2.10.1 ~x86 >=gnome-base/libbonoboui-2.10.1-r1 ~x86 >=x11-libs/cairo-1.0.0-r2 ~x86 >=sys-apps/hal-0.5.4 ~x86 >=sys-apps/dbus-0.36.2 ~x86 >=dev-lang/python-2.4.1 ~x86 >=dev-lang/python-2.4-r3 ~x86 >=dev-lang/python-2.4.1-r1 ~x86 >=dev-python/pyrex-0.9.3-r2 ~x86 >=sys-apps/pmount-0.9.3-r3 ~x86 >=sys-fs/cryptsetup-luks-1.0-r1 ~x86 >=sys-fs/cryptsetup-luks-1.0.1 ~x86 >=sys-fs/cryptsetup-luks-1.0 ~x86 >=app-text/iso-codes-0.47-r1 ~x86 >=app-text/iso-codes-0.47 ~x86 #End Gnome-light 2.12 #GNOME-2.12 >=x11-themes/gtk-engines-2.6.5 ~x86 >=app-text/poppler-0.4.1 ~x86 >=gnome-base/gdm-2.8.0.4 ~x86 >=gnome-base/gdm-2.8.0.3 ~x86 >=net-libs/libsoup-2.2.6.1 ~x86 >=x11-libs/vte-0.11.15 ~x86 >=dev-libs/libIDL-0.8.6 ~x86 #End GNOME-2.12
Note that there’s also extra entry for GNOME-2.12, which are also needed for updating the entire world. During merging Gnome-light, cryptsetup is blocking cryptsetup-luks and have to be remove temporarily. There’s also problem with HAL 0.5. HAL 0.5.x will not run with the HAL 0.4.x series of /etc/hal/device.d/ so this directory need to be remove and then re-emerge. This is due to configuration protection of /etc/.
It took over 2 hour to merge all the dependencies, Gnome-light and also update the world. A number of exciting technologies and enhancement come together in GNOME 2.12 than its previous release. But far and foremost, I love what they did to Nautilus that reminds me a lot of Xfce file manager.