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!
- Root access to a computer with Fedora 13, Fedora 14, or Fedora 15 installed.
- A Fedora Account System account that is a member of the designteam group.
- How do I create a Fedora Account System account?
- Please email design-team@lists.fedoraproject.org for access to the designteam FAS group. Please include your FAS account name in your request.
- An SSH key configured with your Fedora Account System account, and present in a folder called '.ssh' in your home directory on your computer.
- What is an SSH key, and why do I need one?
- How to create an SSH key (If you don't already have one)
- You may add your SSH key to your FAS account by visiting the Fedora Account System, logging in, clicking on 'My Account' in the left-hand navigation, click '(edit)' next to 'Account Details', and upload your public SSH key using the upload button next to 'Public RSA SSH Key:'.
Summary
- Install the Sparkleshare yum repo to your system, install Sparkleshare and ssh-askpass, and remove nautilus-python.
- Configure Sparkleshare for the Fedora design team git repo.
- Configure your Fedora SSH key for use with Sparkleshare.
- Sparkle away!
- Open up a terminal.
- Go to the yum repositories directory:
cd /etc/yum.repos.d
- As root, download Alex Hudson's Sparkleshare Fedora People Repo:
sudo curl -O http://repos.fedorapeople.org/repos/alexh/sparkleshare/fedora-sparkleshare.repo
- Install sparkleshare and ssh-askpass:
sudo yum install -y sparkleshare ssh-askpass
- 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.
- Start Sparkleshare, either from your application menus in your desktop environment or on the terminal:
sparkleshare start
- 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
- 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 'duffy' with your Fedora Account System username:
Host git.fedorahosted.org Hostname git.fedorahosted.org StrictHostKeyChecking no User duffy IdentityFile ~/.ssh/id_rsa
- Okay, now we are going to copy your keys over to the Sparkleshare config directory.
- 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
- 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
- Finally, copy your public key again to the .txt file in your ~/SparkleShare folder. You can just copy/paste it.
Step 4: Sparkle Away!
- 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!