ubuntuone

Updated UbuntuOne RPMS for Fedora 17

I've just uploaded new UbuntuOne packages into the yum repo. They're based on the 3.0 stable branch, which is the current version in Ubuntu 12.04 Precise Pangolin. There are no major visible changes, except that the GUI is now based on QT instead of GTK. This should also hopefully fix the authentication issues that showed up lately, by the way.

My UbuntuOne Yum Repo for Fedora

UPDATE (2012-11-01): updated and rebuilt packages for Fedora 18!
UPDATE (2012-06-21): updated and rebuilt packages for Fedora 17!

Are you a Fedora user? Have any of your friends or colleagues recently tried to share a bunch of files with you via UbuntuOne? I've been in such a situation and, to my surprise, I could not find any working/updated UbuntuOne RPMs on the web, despite the fact that it's all free and open source software used by more than 1 million people. The web interface is really nice, but a local client that performs transparent file-syncing with the cloud is even better. And what about running the UbuntuOne client for Windows on wine? Come on... really??

But, wait a minute! There must be someone who has already packaged the UbuntuOne client for Fedora! Well, there's this article on making it run on Fedora 11 (that's more than 3 years old!). Then there's this detailed tutorial on compiling it from source on Fedora 16 (the current version of Fedora), but I still wanted nicely packaged RPMs: I don't like having old, unknown, orphan and even conflicting files lying around in my filesystem, and yum makes managing packages much easier. (Edit: I've just found this yum repository at fedorapeople.org which unfortunately is outdated and compiled for Fedora 13, but could still serve as a good starting point.)

So I set out to build all the necessary packages from scratch and publish them in a public Yum repository. After all it's all based on Python, so how hard could it be?

The biggest hurdle was the lack of some key python libraries not packaged for Fedora which UbuntuOne requires to run, such as configglue, python-defer, lazr.restfulclient, lazr.uri and wadllib. All these packages are hosted on Launchpad and most of them are developed and maintainted by Canonical to power Launchpad, Landscape, and other applications. I guess these libraries are of little use outside Ubuntu, and that explains why they are not packaged for Fedora.

This caused an even worse challenge: Dependency Hell!! Fortunately my girlfriend was kind enough to grant me access to her Ubuntu box, where I could cheat using apt-cache depends and debtree, with which I could generate this nice dependency graph which helped me get an overall picture. It finally turned out to be around 10 new packages/subpackages.

All RPMs were built for Fedora 16 using a Mock chroot and uploaded to my yum repository. I tried hard to follow the Fedora Packaging Guidelines and the Fedora Guidelines for Python Addon Modules. AFAICT these packages comply with the Fedora Licensing Guidelines, and are not listed as Forbidden Items. I see no legal reason not to include them officially in Fedora in the future, so I'm planning to submit them for review.

I'm still struggling with a couple of bugs building the UbuntuOne Control Panel (UbuntuOne client's configuration GUI), but the basic filesharing functionality is working, though it requires some easy command-line tweaking.

So, head on and read the instructions on how to install UbuntuOne on your Fedora box in 4 easy steps. Enjoy!

Bugs, suggestions, insults? maxiberta at gmail dot com

UbuntuOne Packages for Fedora

Installing UbuntuOne RPMs on Fedora

UPDATE (2012-11-01): updated and rebuilt for Fedora 18!
UPDATE (2012-06-21): updated and rebuilt for Fedora 17!

Yum Setup

  1. Download and install the .repo file into /etc/yum.repos.d/:
    # wget http://www.maxiberta.com.ar/repo/fedora-ubuntuone.repo
    # mv fedora-ubuntuone.repo /etc/yum.repos.d/
  2. Install the ubuntuone-client package and all of its dependencies:
    # yum install ubuntuone-client

UbuntuOne Client Setup

  1. Connect to UbuntuOne services and authenticate:
    $ u1sdtool --connect
  2. A popup window will appear where you can register a new user or use an existing account.
  3. The Gnome Keyring will ask you to enter you passphrase in order to securely store your UbuntuOne credentials

The UbuntuOne Sync Daemon will run automatically every time you log in.

That's all! Your ~/"Ubuntu One" directory is now synchronized with your UbuntuOne cloud storage :-D

UbuntuOne Client Usage

With the u1sdtool command you can:
  • check the status of the UbuntuOne client:
    $ u1sdtool --status
    State: QUEUE_MANAGER
        connection: With User With Network
        description: processing the commands pool
        is_connected: True
        is_error: False
        is_online: True
        queues: IDLE
    
  • list available shared folders:
    $ u1sdtool --list-shares
    Shares list:
     id=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx name=Shared accepted=True subscribed=False access_level=Modify from=someone
    
  • subscribe to shared folders:
    $ u1sdtool --subscribe-share=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Troubleshooting

  • If something goes wrong, try restarting everything:
    $ u1sdtool --quit
    $ ps ax | grep ubuntu # there should be no ubuntu processes running 
    $ u1sdtool --start
    
  • You can also take a look at the logs, located at "~/.cache/sso" and "~/.cache/ubuntuone/log/".
  • Getting the following error while logging in?
    an exception representing an authentication failure
    Check that your date, time and timezone are ok.
  • Check the official Ubuntu One Server Status Dashboard
  • Check the official Ubuntu One FAQ
  • Check the official Ubuntu One Common Bugs, Troubleshooting and Debugging Tips
Subscribe to RSS - ubuntuone