Sugar on Debian: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
Line 4: | Line 4: | ||
Please contribute instructions for getting [[Sugar]] to work with [http://debian.org/ Debian GNU/Linux]. |
Please contribute instructions for getting [[Sugar]] to work with [http://debian.org/ Debian GNU/Linux]. |
||
------ |
------- |
||
= Installing sugar on Debian |
= Installing sugar on Debian = |
||
We currently use sugar-jhbuild, which has very few external dependencies; it builds custom versions of pretty much every piece of the Sugar environment. While this is extreme, it does work with very little manual effort (it just takes a lot of time to compile everything). |
|||
For now [[Sugar]] can only be installed on a mix of unstable (SID) |
|||
and experimental. |
|||
== |
== Get sugar-jhbuild == |
||
aptitude install git-core |
|||
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. |
|||
Get sugar-jhbuild through git as described on [[Sugar_with_sugar-jhbuild]] |
|||
To cause Python 2.5 be supported, you can edit |
|||
<tt>/usr/share/python/debian_defaults</tt>. |
|||
== Run sugar-jhbuild == |
|||
<pre> |
|||
[DEFAULT] |
|||
# the default python version |
|||
default-version = python2.4 |
|||
# 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 |
|||
</pre> |
|||
Shown above is a copy of my <tt>debian_defaults</tt>. |
|||
Yours might look a little different. |
|||
The important thing is to check where python2.5 is listed. |
|||
You may need to change the default python in your $PATH as well: |
|||
<pre> |
|||
cd /usr/bin |
|||
sudo ln -sf python2.5 python |
|||
</pre> |
|||
===Recompiling=== |
|||
Before beginning, install tools indicated in [http://www.debian.org/doc/maint-guide/ debian maint-guide]. Also, |
|||
you need to make sure the experimental source archive is listed |
|||
in <tt>/etc/apt/sources.list</tt>: |
|||
<pre> |
|||
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 |
|||
</pre> |
|||
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 <tt>apt-src</tt>. For example: |
|||
<pre> |
|||
$ 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 |
|||
</pre> |
|||
Here is a list (maybe incomplete) of python packages you will need to recompile: |
|||
* python-avahi |
|||
* python-cairo |
|||
* python-dbus |
|||
* python-gnome2-desktop |
|||
* python-gobject |
|||
* python-gtk2 |
|||
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. |
|||
== suger-jhbuild == |
|||
If you had already checked out sugar-jhbuild previously, make sure your copy is up-to-date before building: |
|||
cd sugar-jhbuild |
cd sugar-jhbuild |
||
./sugar-jhbuild update |
./sugar-jhbuild update |
||
./sugar-jhbuild build-base. |
|||
If any dependency check fails, then try installing the following packages. I'm no expert on what's really required, but it worked for me: (I use debian unstable, march 2007). |
|||
* Read the instructions [[Sugar_with_sugar-jhbuild]], and also check [[Sugar]] |
|||
* ./sugar-jhbuild build-base. If the dependency check fails, then try installing the following packages. I'm no expert on what's really required, but it worked for me. (I use debian unstable, march 2007). |
|||
This list was compiled before the sugar crew moved to python2.5, so it is possible that installing some of these python things does more harm than good (they will be 2.4 versions I believe... see note above on recompiling for 2.5.) On the other hand, maybe the ./sugar-jhbuild build-base makes custom versions of the required python modules, and these have absolutely no effect... I don't know. |
|||
apt-get install automake1.7 gtk-doc-tools xserver-xephyr \ |
|||
darcs cvs subversion \ |
|||
libtiff-tools libtiff4 libtiff4-dev libpng12-0 libpng12-dev \ |
|||
gconf2 gconf2-common libgconf2-dev \ |
|||
dbus python-dbus \ |
|||
avahi-daemon avahi-utils avahi-discover python-avahi \ |
|||
network-manager-dev network-manager dhcdbd \ |
|||
libnm-* network-manager-gnome \ |
|||
libsqlite3-0 libsqlite3-dev \ |
|||
libfreetype6 libfreetype6-dev libxml2 libxml2-dev \ |
|||
libx11-dev libxt-dev libx11 libxt \ |
|||
libfribidi-dev libfribidi0 \ |
|||
libgstreamer0.10-0 libgstreamer0.10-dev \ |
|||
libgstreamer-plugins-base0.10-0 libgstreamer-plugins-base0.10-dev \ |
|||
libgsf-1-114 libgsf-1-common libgsf-1-dev \ |
|||
libenchant-dev python-enchant \ |
|||
libxslt1.1 libxslt1-dev python-lxml \ |
|||
libasound2 libasound2-dev \ |
|||
libgsf-gnome-1-114 libgsf-gnome-1-dev |
|||
* ./sugar-jhbuild build |
|||
* ./sugar-jhbuild run |
|||
Hopefully this command will launch xnest with sugar running inside. Enjoy. |
|||
--James Bergstra |
|||
== Other Links == |
|||
aptitude install libtool libsqlite3-dev libnspr4-dev docbook-xsl intltool |
|||
* [http://www.gnome.org/~jamesh/jhbuild.html Install jhbuild] |
|||
* [http://el-directorio.org/SuGar Documentation in spanish] |
|||
------- |
------- |
Revision as of 16:01, 29 March 2007
This article is a stub. You can help the OLPC project by expanding it.
Please contribute instructions for getting Sugar to work with Debian GNU/Linux.
Installing sugar on Debian
We currently use sugar-jhbuild, which has very few external dependencies; it builds custom versions of pretty much every piece of the Sugar environment. While this is extreme, it does work with very little manual effort (it just takes a lot of time to compile everything).
Get sugar-jhbuild
aptitude install git-core
Get sugar-jhbuild through git as described on Sugar_with_sugar-jhbuild
Run sugar-jhbuild
cd sugar-jhbuild ./sugar-jhbuild update ./sugar-jhbuild build-base.
If any dependency check fails, then try installing the following packages. I'm no expert on what's really required, but it worked for me: (I use debian unstable, march 2007).
aptitude install libtool libsqlite3-dev libnspr4-dev docbook-xsl intltool