Can I use it on Debian?

Asked by sevenever

Hi, I have installed ubuntu1 on my notebook, Can I install client on the other debian "testing" PC?

Question information

Language:
English Edit question
Status:
Answered
For:
Ubuntu One Client Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:

This question was originally filed as bug #389776.

Revision history for this message
Elliot Murphy (statik) said :
#1

Yes, things should work just fine on Debian. Let us know how it works out!

Revision history for this message
Facundo Batista (facundo) said :
#2

Please, provide your experience installing the system on Debian, thank you!

Revision history for this message
Nicolas Maître (nmaitre) said :
#3

I've just tried to install the package on debian. I've been into trouble because of the dependance upon python-configglue which requires python >= 2.6. It's a problem in debian since there's no python>=2.6 available. python2.6 is in the experimental repository, but is packaged as "python2.6", not "python" as required by python-configglue.

My solution - which is certainly not the best at all - was to download the package by hand (http://ppa.launchpad.net/ubuntuone/beta/ubuntu/pool/main/p/python-configglue/python-configglue_0.1-0~9.10-4+r9_all.deb) and then to unpack it to edit the debian control file, replacing "python" by "python2.6" in dependances. Then you have to rebuild the package (man dpkg, option -b) and install it the usual way with dpkg -i. That's it.
Note that you may have to use unstable repository too.

So, at this stage, i have the applet installed but i don't think it works as it should because the "connect" entry in its contextual menu doesn't do anything... then it's rather useless :p But i'm maybe missing something ?

If someone could help to get it working... ?

thanks

Revision history for this message
sevenever (sevenever) said :
#4

Hi, Nicolas Maître:

I'm using Debian sid and finally got Ubuntu1 installed on it. But when I run ubuntu1 from gnome-terminal, got error:
----------------------------------------
seven@debian:~$ ubuntuone-client-applet --signup
Error: No running window found
----------------------------------------
app still running, but no icon in status area and no "Ubuntu One" directory created in my home. Still need help...

Here is steps I install it:

step I:
I have had to download files below from Ubuntu repository since not found in Debian repository:

http://launchpadlibrarian.net/17314423/apturl_0.2.7ubuntu1_all.deb
https://media.ubuntuone.com/media/1508/files/ubuntuone-jaunty-ppa.deb
http://ppa.launchpad.net/ubuntuone/beta/ubuntu/pool/main/p/python-configglue/python-configglue_0.1-0~9.10-4+r9_all.deb
http://mirrors.kernel.org/ubuntu/pool/main/p/python-launchpad-bugs/python-launchpad-bugs_0.3.5_all.deb
http://mirrors.kernel.org/ubuntu/pool/main/a/apport/python-problem-report_1.0-0ubuntu5.2_all.deb
http://mirrors.kernel.org/ubuntu/pool/main/a/apport/python-apport_1.0-0ubuntu5.2_all.deb
http://ppa.launchpad.net/ubuntuone/beta/ubuntu/pool/main/u/ubuntuone-client/ubuntuone-client-gnome_0.90.3+r63-0ubuntu1~ppa2~jaunty_i386.deb

step II:
the python-configglue from ubuntu dependent python2.6, I modified it to python2.5 and passed all test in its test directory.

dpkg -x python-configglue_0.1-0~9.10-4+r9_all.deb python-configglue_0.1-0~9.10-4+r9_all
dpkg -e python-configglue_0.1-0~9.10-4+r9_all.deb python-configglue_0.1-0~9.10-4+r9_all/DEBIAN
find python-configglue_0.1-0~9.10-4+r9_all -type f | xargs grep 2.6
edit all files contain "2.6", modiy "2.6" to "2.5",
also mv python-configglue_0.1-0~9.10-4+r9_all/usr/lib/python2.6 mv python-configglue_0.1-0~9.10-4+r9_all/usr/lib/python2.5
dpkg -b python-configglue_0.1-0~9.10-4+r9_all python-configglue_0.1-0~9.10-4+r9_all_python2.5.deb

step III:
modify dependence of ubuntuone-client-gnome_0.90.3+r63-0ubuntu1~ppa2~jaunty_i386.deb
from libnautilus-extension1 (>= 1:2.22.2) to libnautilus-extension1 (>= 2.22.2), and repack the deb as ubuntuone-client-gnome_0.90.3+r63-0ubuntu1~ppa2~debian_i386.deb

step IV:
sudo dpkg -i apturl_0.2.7ubuntu1_all.deb
sudo dpkg -i ubuntuone-jaunty-ppa.deb

sudo dpkg -i python-configglue_0.1-0~9.10-4+r9_all_python2.5.deb
sudo dpkg -i python-problem-report_1.0-0ubuntu5.2_all.deb
sudo dpkg -i python-launchpad-bugs_0.3.5_all.deb
sudo dpkg -i python-apport_1.0-0ubuntu5.2_all.deb
sudo dpkg -i ubuntuone-client-gnome_0.90.3+r63-0ubuntu1~ppa2~debian_i386.deb

Revision history for this message
Nicolas Maître (nmaitre) said :
#5

Hi,

I suppose that if the package was dependent upon python>=2.6, it wouldn't work with python2.5.
Maybe you should try with python2.6 from experimental, anyway it can "cohabit" together with python2.5...

Oh and yes, for the other packages you had to install by hand, I've just seen I had an ubuntu main repository in my sources.list. Sometimes it's useful if correctly pinned :)

I can't help you better, sorry.

Revision history for this message
sevenever (sevenever) said :
#6

Hi,

I finally got ubuntu1 "works" on my Debian system. I suggest you check ~/.cache/ubuntuone/log/ for some information.

But I made some source modifications:
to make python-configglue works with python2.5:

------------------------------------------------------------------
diff python-configglue/usr/lib/python2.5/site-packages/configglue/glue.py /usr/lib/python2.5/site-packages/configglue/glue.py
23c23
< def configglue(fileobj, *filenames, **kwargs):
---
> def configglue(fileobj, kwargs, *filenames):
------------------------------------------------------------------
diff ubuntuone-client/usr/lib/ubuntuone-client/ubuntuone-syncdaemon /usr/lib/ubuntuone-client/ubuntuone-syncdaemon
89,92c89,93
< (parser, options, argv) = configglue(file(configs[0]), *configs[1:],
< args=args, usage=usage,
< extra_parsers=[('home_dir', home_dir_parser),
< ('cache_dir', cache_dir_parser)])
---
> (parser, options, argv) = configglue(file(configs[0]),
> {'args':args, 'usage':usage,
> 'extra_parsers':[('home_dir', home_dir_parser),
> ('cache_dir', cache_dir_parser)]},
> *configs[1:])

------------------------------------------------------------------

then I run
sudo python /usr/lib/ubuntuone-client/ubuntuone-syncdaemon
and check ~/.cache/ubuntuone/log/syncdaemon-exceptions.log.2009-07-05_23-34-19, I found

"exceptions.TypeError: u'Making reliable distributed systems in the presence of software errors.pdf' has type <type 'unicode'>, but expected one of: (<type 'str'>,)"

, so I modified the file "/usr/lib/python2.5/site-packages/ubuntuone/storageprotocol/client.py"

884c884
< message.make.name = self.name
---
> message.make.name = str(self.name)

then it works, I dont know what happen if I change this line, but it works fine so far.

Good luck!

Revision history for this message
Elliot Murphy (statik) said :
#7

Wow, it's great that you were able to get this working. To submit changes to configglue, please create a branch of this project: https://launchpad.net/configglue. I'm not sure the patch you listed is totally correct, but we can work that out over on the configglue project.

Revision history for this message
Chris Roddy (cmr) said :
#8

packages available in main are.... i would use the word "installable" on current debian testing as long as you repackage ubuntuone-client after replacing the dependence on libnautilus1-extension ">= 1:2.whatever" with ">= 2.whatever".

unfortunately core functionality is absent, e.g., actually adding the debian box to your account fails silently. the whole system is very complex and opaque. i am stunned it works at all even on its home distribution.

it's too bad you can't add a computer to an account by just editing a config file and then pasting a hash into the website, i'd have had it working hours ago.

Can you help with this problem?

Provide an answer of your own, or ask sevenever for more information if necessary.

To post a message you must log in.