From Fedora Project Wiki
Warning
You should have signed the Fedora Individual Contributor License Agreement before contributing any content to the Sparkleshare repo. You may do so in the Fedora Account System.

What is SparkleShare?

SparkleShare is a 100% free and open source, cross-platform file sharing system started by Hylke Bons. The idea for the project came from the 2010 GNOME UX Hackfest. It's very similar to Dropbox or Box.net, but it is backed by the free and open source version control system git.

Basically, the way it works is that you will have a special folder on your computer, called 'Sparkleshare', and everything in that folder is also present in a version-controlled remote git repository. If you create a new file in a Sparkleshare folder, it will immediately be committed and pushed into the remote git repository, and everyone else who is using Sparkleshare to connect to that folder will be able to see the file you just created appear in their Sparkleshare folders. If someone else opens the file you just created and modifies it, their Sparkleshare client will automatically commit and push their changes to the repository, and you'll be able to see them in your Sparkleshare folder (and you'll get a handy notification!)

Sparkleshare is a great, free & open source way to collaborate on files, without worrying about manual version control or having to manually upload and broadcast links to your work.

Pre-Requisites

You're going to need the following things before you can start following this tutorial!

Summary

  1. Install the Sparkleshare yum repo to your system, install Sparkleshare and ssh-askpass, and remove nautilus-python.
  2. Configure Sparkleshare for the Fedora design team git repo.
  3. Configure your Fedora SSH key for use with Sparkleshare.
  4. Sparkle away!

Step 1: Install Sparkleshare

  1. Open up a terminal.
  2. Go to the yum repositories directory:
    • cd /etc/yum.repos.d
  3. As root, download Alex Hudson's Sparkleshare Fedora People Repo:
    • sudo curl -O http://repos.fedorapeople.org/repos/alexh/sparkleshare/fedora-sparkleshare.repo
  4. Install sparkleshare and ssh-askpass:
    • sudo yum install -y sparkleshare ssh-askpass
  5. Remove nautilus-python (I don't know why, but if you have this installed and install Sparkleshare, Nautilus will segfault on startup. If you remove it, though, everything works fine.)
    • sudo yum remove -y nautilus-python

You now have Sparkleshare installed.

Step 2: Configure Sparkleshare for the Fedora design team

  1. Start Sparkleshare, either from your application menus in your desktop environment or on the terminal:
    • sparkleshare start
  2. Sparkleshare will start walking you through a wizard to set up your first repo:
    • Your Name: enter however you wish :)
    • Email address: Please use your @fedoraproject.org email address.
    • On my own server: git.fedorahosted.org/git/
    • Folder Name: design-team.git

Hit Sync. Sparkleshare will try to configure the fedora-design repository, but it will fail because it's not using the right SSH key. But we will fix that!

Stop Sparkleshare while we fix things up a bit. :)

sparkleshare stop

Step 3: Configure your Fedora SSH key for use with Sparkleshare.

  1. First, we're going to set up your username for Fedora hosted git, because it seems Sparkleshare tries to use the username git@ to connect. Open up the file ~/.ssh/config in your home directory. You can open it up in gedit:
    • gedit ~/.ssh/config
    • Add the following to the bottom of the file, replacing both instances of 'duffy' with your Fedora Account System username:
Host git.fedorahosted.org
        Hostname git.fedorahosted.org
	StrictHostKeyChecking no
	User duffy
	IdentityFile /home/duffy/.ssh/id_rsa
  1. Okay, now we are going to copy your keys over to the Sparkleshare config directory.
  2. Copy your private key to the Sparkleshare config directory, replacing the email address duffy@fedoraproject.org with your own @fedoraproject.org email address:
    • cp ~/.ssh/id_rsa ~/.config/sparkleshare/sparkleshare.duffy@fedoraproject.org.key
  3. Copy your public key to the Sparkleshare config directory, replacing the email address duffy@fedoraproject.org with your own @fedoraproject.org email address:
    • cp ~/.ssh/id_rsa.pub ~/.config/sparkleshare/sparkleshare.duffy@fedoraproject.org.key.pub
  4. Finally, copy your public key again to the .txt file in your ~/SparkleShare folder. You can just copy/paste it.

Step 4: Sparkle Away!

  1. Go ahead and restart Sparkleshare by selecting it in your applications menu or by running it on the command-line:
    • sparkleshare start

Sparkleshare should start fetching all of the files in our repo! Note, our repo is rather large, so it will take a while to sync down. Once it finishes, you can start working on files or add new ones! Enjoy!

Oh, and a couple of things to note:

  • The design team git repo is also used for wallpaper packaging. So you don't want to work with the *-backgrounds folders.
  • Rather, go into the design folder and work from there!