Is running Ubuntu One on Debian 'possible'? [closed]

Solution 1:

Just for the record, you can run Ubuntu One anywhere you want, but we don't have the resources to test it and get it running smoothly everywhere.

Having said that, Ubuntu One is made up of several parts; the most problematic to get running in Debian is the syncdaemon, and I presume that is what you mean; tomboy, desktopcouch and funambol plugins shouldn't be an issue at all (at least, no issue specific to Debian :-) ).

@ajmitch is working on getting packages of syncdaemon ("ubuntuone-client") into Debian.

Meanwhile, you can get it running. The versions of some of the libraries are slightly off for squeeze, so some patching is needed for now. Here's what you can do for the most rudimentary version of "running", in squeeze (starting from a base install with the 'desktop' task installed):

sudo apt-get install bzr python-lazr.restfulclient python-oauth python-pyinotify python-protobuf gnome-common gobject-introspection xutils-dev libnautilus-extension-dev libgconf2-dev libebook1.2-dev gnome-settings-daemon-dev python-twisted-names python-libproxy python-distutils-extra python-setuptools
mkdir ~/u1; cd ~/u1
bzr branch lp:ubuntuone-client/stable-1-4 client
bzr branch lp:ubuntuone-storage-protocol/stable-1-4 protocol
bzr branch lp:ubuntu-sso-client/stable-1-0 sso
bzr branch lp:configglue
sed -i~ -e 's/Spinner()/Label("...")/; /spinner.start/D' sso/ubuntu_sso/gui.py
(cd protocol; python setup.py build)
(cd client; ./autogen.sh --with-protocol=../protocol --with-sso=../sso --prefix=/usr; make)
PYTHONPATH=sso sso/bin/ubuntu-sso-login &
PYTHONPATH=configglue:sso:client:protocol client/bin/ubuntuone-syncdaemon client/data/syncdaemon.conf --debug
PYTHONPATH=sso:client client/bin/u1sdtool -c

while the above gets the syncdaemon online and syncing (assuming you're using Network Manager), it doesn't include dbus activation and nautilus integration, which help. If you want those, you could try

(cd sso && sudo python setup.py install --prefix=/usr)
(cd configglue && sudo python setup.py install --prefix=/usr)
(cd protocol && sudo python setup.py install --prefix=/usr)
(cd client && sudo make install)
sudo mkdir /etc/xdg/ubuntuone; sudo cp client/data/syncdaemon.conf /etc/xdg/ubuntuone

this should make the whole stack work. If you get import errors, check that things got installed in dist-packages and not site-packages (if they're in the latter, move them over :-) )

See? One-click install.

Solution 2:

You'd need ubuntuone-client and ubuntu-sso-client (single sign on) and all their various dependencies. It's mostly python so there shouldn't be any binary compatibility issues from just dragging the packages over.

But you can start tracking down the dependencies here: http://packages.ubuntu.com/maverick/ubuntuone-client

Q. Why not give instructions to add Ubuntu repositories to Debian for this?

A. Unless you found a PPA that just had the required stuff, you could end up with it replacing (read: upgrading) a whole load of packages to a point where things became very unstable. It's much safer to only pull in what you need.

Something like apt-get install --no-install-recommends ubuntuone-client wouldn't work, because as soon as you add the Ubuntu repository to a Debian install, it would try to upgrade all packages to the latest version. If any of the packages in the Maverick repo were newer than those in the Debian repo(s) used on that system, it would want you to upgrade to them. If those packages contained (as they probably do) any Debian-incompatible patches, it would nuke the Debian system. It's infinitely safer to just download the required debs through packages.ubuntu.com (or even just the source) and install manually.

The problem of automatically upgrading unwanted packages could be reduced or possibly avoided by using apt pinning, but that's beyond the scope of my answer.

Solution 3:

It is certainly possible, but there are no packages in Debian yet. There is an ITP bug though, which means the person filing that bug is working on or going to work on packaging it (ITP = Intent To Package).

Solution 4:

Well, it is Ubuntu One, and not Debian One. :)

You should of course, be able to rebuild the packages from the latest Ubuntu for the pieces of Ubuntu One you need, on a Debian-based distribution which has the required dependencies available for doing so. If the dependencies aren't available, you may also need to port them over.

Those distributions are not supported, though if you run into any issues getting the packages rebuilt on them, you can ask for some help in #ubuntuone IRC on the Freenode network.

Solution 5:

There's a much easier way: get the DEBs from the package site (for Debian Wheezy get DEBs from UBuntu 12.04), install one by one using gdebi (or similar). Trial and error to get the right order. After isntalling all the DEBs, run ubuntuone-install from comand line and follow the instructions.

Hint: you must have Network-Manager enabled and managing your connection.

In this site I list the packages needed:

http://conalambre.wordpress.com/2012/10/15/ubuntu-one-en-debian-wheezy/

It's in spanish but the names of the packages are the same :-D