Talk:Sugar on Debian

From OLPC
Revision as of 16:53, 22 March 2008 by 68.146.220.249 (talk) (→‎Most packages: repository?)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Due to [1] These text are supposed to be deleted.

Alternative 2: Get packages from Experimental

If you don't want to compile everything, add the experimental repository to your /etc/apt/sources.list.

There are some packages that can be installed from unstable:

aptitude install darcs libdbus-1-dev libenchant-dev libfribidi-dev libgconf2-dev libgsf-1-dev 
libgstreamer-plugins-base0.10-dev libxslt1-dev libxul-dev python-avahi python-cairo-dev xserver-xephyr xulrunner

But we're still missing python2.5 and some python2.5 modules that need separate compilation.

Prerequisites

Python 2.5 is installable from Debian testing but, as of 2007 Feb 16, it is "unsupported" in the sense that Python modules are not compiled with support for 2.5 by default.

To cause Python 2.5 be supported, you can edit /usr/share/python/debian_defaults.

[DEFAULT]
# the default python version
default-version = python2.5
# all supported python versions
supported-versions = python2.4, python2.5
# formerly supported python versions
old-versions = python2.3
# unsupported versions, including older versions
unsupported-versions = python2.3

Shown above is a copy of my debian_defaults. Yours might look a little different. The important thing is to check where python2.5 is listed.

You also need to change the default python in your $PATH as well (unfortunate, but it's currently how the dependency checker in Sugar works):

cd /usr/bin
sudo ln -sf python2.5 python

Python Modules in 2.5

Before beginning, install tools indicated in debian maint-guide. Also, you need to make sure the experimental source archive is listed in /etc/apt/sources.list:

deb-src http://ftp.debian.org/debian experimental main  #important!

# Also may be required:
deb http://ftp.debian.org/debian testing main contrib non-free
deb http://ftp.debian.org/debian unstable main
deb http://ftp.debian.org/debian experimental main

Now that Python 2.5 is "supported" on your Debian box, you need to recompile any Python packages which are required by sugar. An easy way to do this is to use apt-src. For example:

$ mkdir debian   # keep your work somewhere temporary
$ cd debian
$ apt-src install python-dbus
Reading package lists... Done
Building dependency tree... Done
Need to get 471kB of source archives.
Get:1 http://ftp.au.debian.org experimental/main dbus-python 0.80.2-1 (dsc) [881B]
Get:2 http://ftp.au.debian.org experimental/main dbus-python 0.80.2-1 (tar) [453kB]
Get:3 http://ftp.au.debian.org experimental/main dbus-python 0.80.2-1 (diff) [16.2kB]
Fetched 471kB in 38s (12.2kB/s)
gpg: Signature made Tue 13 Feb 2007 11:34:43 PM IST using DSA key ID 5BE41F21
gpg: Can't check signature: public key not found
dpkg-source: extracting dbus-python in dbus-python-0.80.2
dpkg-source: unpacking dbus-python_0.80.2.orig.tar.gz
dpkg-source: applying ./dbus-python_0.80.2-1.diff.gz
$ cd dbus-python-0.80.2
$ dpkg-buildpackage -b -uc -rfakeroot    # wait a long time
$ cd ..
$ sudo dpkg -i *.deb

Here is a list (maybe incomplete) of Python packages you will need to recompile:

  • avahi
  • dbus-python
  • gnome-python-desktop
  • gnome-python-extras
  • gnome-python
  • pycairo
  • pycurl
  • pygobject
  • pygtk
  • pyorbit
  • python-pysqlite
  • python-xml

If you neglect to recompile a Python package which is indeed required by sugar then hopefully you will get a helpful failure message indicating where you are remiss.

Most packages

I may have missed a few, but copying the list from DebianEdu, adding some I still needed, and removing one (docbook-style-xsl) that couldn't be found in my repositories (but might not be necessary?) I get something like this:

 git-core subversion darcs automake1.9 automake1.7 libtool bison flex cvs\
 xserver-xephyr libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libfontconfig1-dev\
 libfribidi-dev libgsf-1-dev libenchant-dev libasound2-dev libssl-dev xorg-dev\
 libsqlite3-dev libpng12-dev libtiff4-dev libncurses5-dev libboost-dev  libtheora-dev\
 libgnutls-dev libgconf2-dev libgtk2.0-dev gtk-doc-tools\
 python-cairo-dev python2.5-dev python-ctypes python-gtk2-dev\
 libglade2-dev libpoppler-dev libpoppler-glib-dev liboil0.3-dev

As mentioned at DebianEdu these should all now be available in Sid, so experimental repositories are unnecessary.

I still need to recompile the Python packages. It would be nice if someone wrote a script to do that. Maybe even I will. -- Kevin S. 68.146.220.249 23:01, 21 March 2008 (EDT)

Actually there is now a sugar repository that will get you most of the way there in terms of dependencies. I needed to

aptitude install python-central=0.6.1

first to meet the python-central version requirement, then after

aptitude install sugar

there were still a couple of unmet python modules left. Here apt-cache search module-name is your friend, as well as apt-cache showpkg package-name to see what versions are available. Then use

aptitude install package-name=version

to install the python2.5 compatible version. -- Kevin S. 68.146.220.249 12:53, 22 March 2008 (EDT)