Dropbox is a popular service to synchronize files between multiple computers. The service is entirely proprietary but the company is Linux friendly and provides Linux binaries ready to use. They even provide Ubuntu packages that wrap the dropbox client and provide integration with Nautilus.
A bit of story
Unfortunately for Debian users, those packages do not work on Debian due to a dependency that can’t be satisfied (because Ubuntu introduced an epoch on the version of their nautilus package that Debian doesn’t have). This was even reported in a Squeeze review in Linux Weekly News.
At some point, Ivan Borzenkov introduced a dropbox package to Debian but it was not based on the above package, instead it packaged directly the proprietary binaries. This was a bad decision because the binaries bundle a set of LGPL libraries and nobody from Debian wanted to do the required work to provide the corresponding source code. So the package got dropped (see bug #610300).
More recently several persons filed ITP (Intent To Package) bugs stating their willingness to re-introduce dropbox in Debian, but after many months lingering in the bug tracking system (see #544499, #613788), they have been turned back to RFP (Request For Package) because they changed their minds.
What I did
Being a dropbox user myself (despite the recent proof that data stored on dropbox is not 100% private), I offered sponsorship to the volunteers who wanted to package dropbox. But it turns out this was not enough to motivate someone to complete the task.
In the mean time I was still using the old dropbox package that was removed (it used to be downloadable from snapshot.debian.org).
While this was good enough for me, it’s clearly not OK in the long term and way too difficult for the majority of users. So this week-end I spent some hours to create a proper package.
It’s loosely based on the package provided by Dropbox but I upgraded the packaging and changed the way it works. I patched the dropbox wrapper to provide a “dropbox update” command that downloads and updates the proprietary binaries. They are now stored in /var/lib/dropbox instead of having a copy in each user’s home directory (~/.dropbox-dist/). This update command is run by the postinst so that installing the package immediately downloads the proprietary binaries.
Get the Dropbox packages for Debian
The package nautilus-dropbox has been uploaded to Debian unstable, it’s currently in the NEW queue but will shortly reach the mirrors. Then you will be able to You can install the package with a simple apt-get install nautilus-dropbox
(provided that you activated the non-free section since that’s where the package is hosted, it can’t be part of Debian since it requires the proprietary binaries to be useful).
In the mean time you can get the packages from the links below:
For Debian Squeeze: i386 amd64(now in backports.debian.org)For Debian unstable/wheezy: i386 amd64(now in wheezy/sid)For Debian unstable with GNOME3 from experimental: i386 amd64(now in experimental)
Get the Dropbox packages for Ubuntu
I have setup a PPA for nautilus-dropbox. Feel free to use it in place of the upstream packages.
$ sudo add-apt-repository ppa:hertzog/nautilus-dropbox $ sudo apt-get update $ sudo apt-get install nautilus-dropbox
It also includes packages for oneiric, but in theory once the package is accepted into Debian, it should appear in oneiric shortly after.
Package maintenance
I have done the initial packaging work but I don’t really want to maintain it in the long term. I have more than enough to do with dpkg and my other packages. So if you are interested in maintaining this package, please get in touch with me. You should know a bit of python since there are Debian-specific patches of the upstream code. The package is maintained in a git repository.
Feedback
If you have encountered a problem with one of those packages, feel free to leave a comment.
If you’re an happy user of the above packages, click here to find out how you can thank me.
I hope you enjoy the packages!
Kiko says
Binary packages from snapshot.debian.org actually cannot be downloaded (server gives a 403 error: http://yfrog.com/hs03g8p).
Otoh: does your nautilus-dropbox package provide also dropbox binaries? (just asking because I don’t use nautilus myself).
Thanks!
Kiko says
I see now it does provide dropbox binaries (I was afraid to purge my old dropbox package in case it didn’t). Found a laptop where I could test it.
Works nice. Thanks!
Raphaël Hertzog says
Right, probably that the files have been made non-readable on purpose since the reason of the removal was precisely that we had no rights to redistribute the files since we were not complying with the licenses.
My nautilus-dropbox package downloads and installs the required dropbox binaries, but it doesn’t embed them.
Timo Juhani Lindfors says
Somebody should define “official debian packages” somewhere 🙂 I expected free software since non-free is not officially part of debian but I guess you can have official debian packages that are not officially in Debian?
Raphaël Hertzog says
True, it’s not very clear… official because they are (going to be) provided on the official mirrors and they are maintained by a Debian developer, but those Debian packages are not part of the product we call “Debian” because they are in the non-free section.
Jon says
It would be nice if you could make clear that this package is not part of Debian, it’s destined for non-free (and later contrib if you fix the icon issues)
Raphaël Hertzog says
Jon, I added a sentence in the “Get the Dropbox packages for Debian” paragraph to make it clear.
Richard says
I’ve been using the following:
http://www.reddeadresolve.com/2010/04/how-to-install-dropbox-in-xfce.html
to install dropbox in Squeeze w/Xfce4.6 on several desktops and laptops to which I have access.
I will try out your package when I get access to a laptop.
Do you know if it has been successfully installed on Xfce4?
Regards,
Richard.
Raphaël Hertzog says
Richard, there’s no reason why it should not work. It downloads the binaries from the same Dropbox URL but it does it automatically. And it provides a desktop file (launcher).
2s4u says
I’d like to suggest ZumoDrive here, since they had this kind of Linux/Ubuntu support since months already…
Raphaël Hertzog says
The package has been accepted into Debian unstable. I also uploaded packages recompiled for GNOME3 in experimental.
http://packages.debian.org/nautilus-dropbox
Raphaël Hertzog says
The package is now also available in squeeze-backports.
Roddie says
I can’t seem to install this from the backports, Raphael; I just get a message saying “unable to locate package nautilus-dropbox” when I type:
apt-get -t squeeze-backports install nautilus-dropbox
Are there dependencies I need to fulfil *before* I even try to install it??
Raphaël Hertzog says
What did you put in /etc/apt/sources.list and did you do a successful “apt-get update”?
Roddie says
Oops, I just had the “squeeze-backports main” in my sources.list so now that I’ve added the non-free it’s working.
Cheers!
Stube says
Hi
I get the following error when trying to install DropBox into Debian Squeeze. Has anyone seen this before?
Thanks
Stube
[stube@stubelinux ~]$ cat /etc/debian_version
6.0.2
[stube@stubelinux ~]$ sudo apt-get install nautilus-dropbox
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following NEW packages will be installed:
nautilus-dropbox
0 upgraded, 1 newly installed, 0 to remove and 1018 not upgraded.
Need to get 0 B/81.2 kB of archives.
After this operation, 418 kB of additional disk space will be used.
Selecting previously deselected package nautilus-dropbox.
(Reading database … 138237 files and directories currently installed.)
Unpacking nautilus-dropbox (from …/nautilus-dropbox_0.6.7-3_amd64.deb) …
Processing triggers for hicolor-icon-theme …
Processing triggers for man-db …
Processing triggers for desktop-file-utils …
Processing triggers for gnome-menus …
Setting up nautilus-dropbox (0.6.7-3) …
Dropbox is the easiest way to share and store your files online. Want to learn more? Head to http://www.dropbox.com/
Downloading Dropbox… 100%
Traceback (most recent call last):
File “/usr/bin/dropbox”, line 1248, in
ret = main(sys.argv)
File “/usr/bin/dropbox”, line 1237, in main
result = commands[argv[i]](argv[i+1:])
File “/usr/bin/dropbox”, line 712, in update
download()
File “/usr/bin/dropbox”, line 451, in download
name, i, total = one_member.next()
File “/usr/bin/dropbox”, line 183, in unpack
archive = tarfile.open(self.local_path, ‘r:gz’)
File “/usr/lib/python2.6/tarfile.py”, line 1671, in open
return func(name, filemode, fileobj, **kwargs)
File “/usr/lib/python2.6/tarfile.py”, line 1722, in gzopen
raise ReadError(“not a gzip file”)
tarfile.ReadError: not a gzip file
dpkg: error processing nautilus-dropbox (–configure):
subprocess installed post-installation script returned error exit status 1
configured to not write apport reports
Errors were encountered while processing:
nautilus-dropbox
E: Sub-process /usr/bin/dpkg returned an error code (1)
Raphaël Hertzog says
No, never seen this error before. Can you give me the output of those commands?
The more likely scenario is that the download got interrupted and the file is thus invalid. A simple
sudo dpkg --configure nautillus-dropbox
might fix it.Stube says
Thank you for the quick response.
[stube@stubelinux ~]$ ls -al /var/lib/dropbox/dropbox.tar.gz
-rw-r–r– 1 root root 4066 Jul 1 15:40 /var/lib/dropbox/dropbox.tar.gz
[stube@stubelinux ~]$ file /var/lib/dropbox/dropbox.tar.gz
/var/lib/dropbox/dropbox.tar.gz: HTML document text
[stube@stubelinux ~]$ sudo dpkg –configure nautillus-dropbox
dpkg: error processing nautillus-dropbox (–configure):
no package named `nautillus-dropbox’ is installed, cannot configure
Errors were encountered while processing:
nautillus-dropbox
I’ve completely removed the install (which seems to remove the dropbox.tar.gz file) and tried again 5 times, always the same result.
Thanks
Stube
Raphaël Hertzog says
You probably don’t have direct Web access since the download request returns some HTML page instead of the expected tarball. Try accessing any http://www.dropbox.com URL in your web-browser you will probably be redirected to some login form or to some message from a proxy that tells you that you don’t have the right to access this web page. This is likely your problem.
Stube says
Okay, so is it possible to install dropbox without having dropbox already installed (if that makes sense)?
I’ve already created a user in dropbox and can connect to it in a browser.
Thanks for your time with this.
Regards
Stube
Raphaël Hertzog says
I don’t understand your comment. The problem is unrelated to having an account on dropbox.com or not. The problem is that something between you and dropbox.com intercepts your HTTP request and returns something else than the expected tarball.
You can try to rename the dropbox.tar.gz you get into something.html and open it in a browser to get an idea of what is responsible of this…
Richard says
If you do not install dropbox on your local computer,
then you can only access your dropbox via a browser.
If you are not using gnome desktop then more info will be required.
It works fine with Xfce and probably others.
Johnson says
Thanks Raphael!
SIO says
Does this package include autostart script for sysvinit? Something like http://wiki.dropbox.com/TipsAndTricks/TextBasedLinuxInstall/UbuntuStartup
Raphaël Hertzog says
No, but you can easily make it start together with the graphical session with “dropbox autostart”.
Warren Daly says
Thank you for your hard work. This works perfectly on Linux Mint Debian Edition.
Much appreciated.
Warren