Awesome-3-fedora

From awesome
Jump to: navigation, search

Contents

Installing awesome on Fedora

Introduction

There is no awesome package shipped with Fedora yet. However, awesome is regularly packaged by Michal Nowak of Red Hat and this package is supposed to become the official Fedora package.

So there is a package but it is not included in Fedora and you are probably asking yourself: What keeps it from becoming an official Fedora package?

Actually nothing is missing in the awesome package itself, the problem is its dependency on cairo. Since version 3, awesome needs the XCB backend of cairo, which is not enabled in the Fedora cairo package and the Fedora cairo maintainer refuses to build cairo with XCB support as long as the XCB backend is declared experimental on upstream (and it appears to be unmaintained as well).

Note that for other major distributions like Debian, Ubuntu and openSUSE this does not seem to be an issue as they are building cairo with XCB support.

In summary, there won't be an official awesome package for Fedora until the XCB backend of cairo gets stable on upstream. You can follow the development of the Fedora awesome package here.

Inofficial FedoraPeople Repository

There's a repository with inofficial awesome RPMs for Fedora here. You can enable it using

su -c 'wget -nd -P /etc/yum.repos.d http://repos.fedorapeople.org/repos/thm/awesome/fedora-awesome.repo'

and then install awesome with

su -c 'yum install awesome'

Note: This repository contains xcb-enabled cairo RPMs that will replace those from the distribution. The awesome RPMs are built from Michal Nowak's source RPMs.

Installation instructions

Fortunately, rebuilding cairo with support for XCB is rather easy. So given the awesome SRPM, the overall effort of installing awesome on Fedora is rather low.

What you need to do is obtain the cairo and awesome SRPMs, rebuild cairo with --enable-xcb, uninstall the old cairo packages, install the new cairo packages, build awesome binary packages from the awesome SRPM and install the awesome packages.

The following instructions were created on Fedora 12 and with the awesome 3.4.2 SRPM.

Download the cairo SRPM which was used to build your installed cairo package, the exact name of the SRPM is shown when doing rpm -qi cairo, just google for the SRPM package name to find a mirror, on Fedora 12 this is cairo-1.8.8-3.fc12.src.rpm.

Install the cairo SRPM (will go into $HOME/rpmbuild by default):

rpm -i cairo-1.8.8-3.fc12.src.rpm

We need to change the cairo.spec file, so enter the SPECS directory:

cd $HOME/rpmbuild/SPECS

Open the cairo spec file with your favourite editor and add the --enable-xcb option to the %configure part of the spec file:

$EDITOR cairo.spec # add --enable-xcb to %configure part

Starting with Fedora 14, you also need to add the following lines to the %files section of cairo.spec:

%{_includedir}/cairo/cairo-xcb.h
%{_libdir}/pkgconfig/cairo-xcb-shm.pc
%{_libdir}/pkgconfig/cairo-xcb.pc

Create binary packages for cairo (if rpmbuild says something about missing dependencies, install the missing packages first).

NOTE: if configure step complains about xcb-renderutil, the rpm you want is xcb-util-devel:

rpmbuild -bb cairo.spec

Remove the old cairo packages:

rpm -e --nodeps cairo-devel
rpm -e --nodeps cairo

Install the new cairo packages:

cd $HOME/rpmbuild/RPMS/$ARCH/
rpm -i cairo.* cairo-devel.*

Download the latest awesome SRPM from http://mnowak.fedorapeople.org/awesome/ and build binary packages:

rpmbuild --rebuild awesome-3.4.2-1.fc12.src.rpm

Install the awesome binary packages:

cd $HOME/rpmbuild/RPMS/$ARCH/
rpm -i awesome.* awesome-doc.*

After installing the awesome packages, you should be able to select awesome from your display manager, e.g. gdm.

Personal tools