fedorapeople.org

This page covers the details on how to obtain and use your personal
space on fedorapeople.org , which is a site where Fedora
contributors can upload files for sharing out with the world. It is
perfect for uploading specfiles, srpms, patches, personal repository etc, etc.

Accessing Your fedorapeople.org Space

Upload that ssh key into your Fedora account. To upload, visit this link and select your key file using the Public RSA SSH key field. Normally your key is stored in your home directory under .ssh/id_rsa.pub. The ssh key gets activated an hour after you upload it.

To connect, use the ssh key you uploaded into your Fedora account:

ssh your_fedora_username@fedorapeople.org

Common Answers

Each Fedora contributor has 150 MiB of quota-controlled space.

To make a publicly viewable space, create a public_html directory.

Upload files using scp, sftp, or rsync.

Using Nautilus If you use GNOME, visit this page for an easy way to connect to your fedorapeople.org space.

Using Dolphin or Konqueror If you use KDE, type sftp://your_username@fedorapeople.org in your file manager address bar for an easy way to connect to your fedorapeople.org space.

Give other users access to read/write/etc files by using extended acls. Read man pages for setfacl and getfacl for adding them to your dirs/files. This gives the user jkeating read and write access to file:

setfacl -m u:jkeating:rw file

BETA git hosting support

fedorapeople.org now has support for hosting git repositories including accessing them via the git:// protocol for anonymous downloads as well as providing gitweb. This should be considered beta.

Here is a quick rundown of how to get started using git on fedorapeople.org. It assumes that you are already somewhat familiar with git. You might want to take a look at a quick reference to git.

Create a ~/public_git directory on fedorapeople.org

ssh your_fedora_username@fedorapeople.org "mkdir ~/public_git"

Creating a new git repository in ~/public_git

As an example, here is one method to create an empty repository on your local system and upload it:

This creates a bare repository (i.e. a repository that has no working directory). It contains just the files that are part of the .git directory of a non-bare git repository (the kind most users are accustomed to seeing).

Repository name must end with .gitGitweb will not list repos that do not end in .git.

Non-bare repositoriesWhile non-bare repositories should work, it is generally discouraged to push to such repositories. However, if you do use a non-bare repository, you should place the git-daemon-export-ok file in the top-level git dir, e.g. ~/public_git/your_repo.git/git-daemon-export-ok, NOT~/public_git/your_repo.git/.git/git-daemon-export-ok

Uploading an existing repository to ~/public_git

If you have an existing repository you want to use on fedorapeople, you can do so easily:

Pushing to your repository

This creates a mirror of your local repository. All of the branches and tags in the local repository will be pushed to the fedorapeople repository.

If you only want to push selected branches, amend the git push example. For example, to push only your local master branch:

git push fedorapeople master

Allowing others to pushYou can allow other fedorapeople.org users to push to your repository using extended acls (see setfacl(1) for details). However, if you have many others working on your project, using Fedora Hosted is strongly preferred.

Cloning your repository

To clone your repository, use a command similar to:

git clone git://fedorapeople.org/~your_fedora_username/repo.git

It is also possible to clone your project via the http:// protocol. In order for this to work, you must arrange to have git-update-server-info run whenever you update your repository. Typically, this is done with a post-update hook script. However, the user home directories on fedorapeople.org are mounted with the noexec option, which prevents the script from running. Instead, you may create a symbolic link to git-update-server-info in the hooks directory of your repository: