* Do NOT distribute anything on fedorapeople.org that Fedora itself cannot distribute for legal reasons. Nothing on the [http://fedoraproject.org/wiki/ForbiddenItems ForbiddenItems] list or otherwise non distributable by Fedora.

+

* Do NOT upload your private .ssh keys. While Fedora Infrastructure Team works hard on keeping the servers secure, break ins will happen and private keys uploaded can be downloaded and brute-forced easily these days. Private .ssh keys if found during an audit will be deleted.

* If you run out of space you should: clean up stuff you don't need. If you cannot clean up anything then you should contact fedora infrastructure to raise your quota.

* If you run out of space you should: clean up stuff you don't need. If you cannot clean up anything then you should contact fedora infrastructure to raise your quota.

* To make a publicly viewable space, create a <code>public_html</code> directory.

* To make a publicly viewable space, create a <code>public_html</code> directory.

+

* Fedora people is NOT to be used for development or creating repositories on. Repositories will need to be created elsewhere and uploaded via scp or rsync.

+

* DO NOT try to use sudo to install packages you "need." Unless you are in the Infrastructure group, and have gotten approval from sysadmin-main, extra packages are not to be installed on fedorapeople.

* Upload files using scp, sftp, or rsync.

* Upload files using scp, sftp, or rsync.

{{admon/tip | Using Nautilus | If you use GNOME, visit [[Infrastructure/fedorapeople.org/Connecting_with_Nautilus | this page]] for an easy way to connect to your fedorapeople.org space.}}

{{admon/tip | Using Nautilus | If you use GNOME, visit [[Infrastructure/fedorapeople.org/Connecting_with_Nautilus | this page]] for an easy way to connect to your fedorapeople.org space.}}

{{admon/tip | Using Dolphin or Konqueror | If you use KDE, type <code>sftp://your_username@fedorapeople.org</code> in your file manager address bar for an easy way to connect to your fedorapeople.org space.}}

{{admon/tip | Using Dolphin or Konqueror | If you use KDE, type <code>sftp://your_username@fedorapeople.org</code> in your file manager address bar for an easy way to connect to your fedorapeople.org space.}}

+

+

{{admon/tip | Using Thunar | If you use XFCE, type <code>ctrl+l</code> to bring up the Open Location Dialogue and then enter <code>sftp://your_username@fedorapeople.org/home/fedora/your_username</code> in Location field for an easy way to connect to your fedorapeople.org space. PCManFM also works}}

To copy files from the command line, you can use scp

To copy files from the command line, you can use scp

Line 46:

Line 55:

<pre>setfacl -m u:jkeating:rw file</pre>

<pre>setfacl -m u:jkeating:rw file</pre>

−

== ''BETA'' git hosting support ==

+

== fedora people 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.''

+

fedorapeople.org now has support for hosting git repositories including accessing them via the git:// protocol for anonymous downloads as well as providing the cgit web interface.

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 the [[Git quick reference]].

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 the [[Git quick reference]].

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

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

+

{{admon/important|Repository name must end with .git|cgit will not list repos that do not end in <code>.git</code>.|}}

−

{{admon/important|Repository name must end with .git|Gitweb will not list repos that do not end in <code>.git</code>.|}}

+

Additionally if you wish your repository to show up in the cgit web interface, you must:

{{admon/caution|Non-bare repositories|While non-bare repositories ''should'' work, it is [http://git.or.cz/gitwiki/GitFaq#git-push%20non-bare 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. <code>~/public_git/your_repo.git/git-daemon-export-ok</code>, '''NOT''' <code>~/public_git/your_repo.git/.git/git-daemon-export-ok</code>}}

+

For any repositories you wish to appear there by default.

=== Uploading an existing repository to <code>~/public_git</code> ===

=== Uploading an existing repository to <code>~/public_git</code> ===

Line 85:

Line 92:

<pre>

<pre>

git clone --bare /path/to/local/repo repo.git

git clone --bare /path/to/local/repo repo.git

−

touch repo.git/git-daemon-export-ok

scp -r repo.git/ your_fedora_username@fedorapeople.org:public_git/

scp -r repo.git/ your_fedora_username@fedorapeople.org:public_git/

</pre>

</pre>

The caveats from the previous section apply here as well.

The caveats from the previous section apply here as well.

−

=== Pushing to your repository ===

=== Pushing to your repository ===

Line 122:

Line 127:

<pre>

<pre>

−

ssh ~your_fedora_username@fedorapeople.org

+

ssh your_fedora_username@fedorapeople.org

cd ~/public_git/repo.git/hooks

cd ~/public_git/repo.git/hooks

−

ln -svbf /usr/bin/git-update-server-info post-update

+

ln -svbf $(git --exec-path)/git-update-server-info post-update

+

git update-server-info

</pre>

</pre>

Line 143:

Line 149:

{{admon/tip|git:// versus http://|Only clone via http:// if you are behind a firewall that prevents git:// from working. The git:// protocol is faster and more efficient than the http:// protocol for git usage.}}

{{admon/tip|git:// versus http://|Only clone via http:// if you are behind a firewall that prevents git:// from working. The git:// protocol is faster and more efficient than the http:// protocol for git usage.}}

+

=== Browsing your project via cgit ===

−

=== Browsing your project via gitweb ===

+

You can see your project listed in [http://fedorapeople.org/cgit cgit] once the project list updates. This happens hourly.

−

You can see your project listed in [http://fedorapeople.org/gitweb gitweb] once the project list updates. This happens hourly. ''Note that the gitweb URL may change.''

+

{{admon/tip|Repository description|You can set the description for the repository that is displayed in cgit by editing the <code>description</code> file in your repository.}}

−

{{admon/tip|Repository description|You can set the description for the repository that is displayed in gitweb by editing the <code>description</code> file in your repository.}}

+

=== Shared repository ===

+

If you want to give access to your repository to other users you can do this with ACLs.

−

{{admon/tip|Repository URLs|The URLs gitweb shows for your repository by default are incorrect (since the introduction of the service in mid-2008, last checked 2010-08-11). You can work around that by adding a file <code>cloneurl</code> to your repository which contains working URLs.

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.

Forbidden contents

Do NOT distribute anything on fedorapeople.org that Fedora itself cannot distribute for legal reasons. Nothing on the ForbiddenItems list or otherwise non distributable by Fedora.

Do NOT upload your private .ssh keys. While Fedora Infrastructure Team works hard on keeping the servers secure, break ins will happen and private keys uploaded can be downloaded and brute-forced easily these days. Private .ssh keys if found during an audit will be deleted.

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.

Common Answers

If you run out of space you should: clean up stuff you don't need. If you cannot clean up anything then you should contact fedora infrastructure to raise your quota.

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

Fedora people is NOT to be used for development or creating repositories on. Repositories will need to be created elsewhere and uploaded via scp or rsync.

DO NOT try to use sudo to install packages you "need." Unless you are in the Infrastructure group, and have gotten approval from sysadmin-main, extra packages are not to be installed on fedorapeople.

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.

Using Thunar If you use XFCE, type ctrl+l to bring up the Open Location Dialogue and then enter sftp://your_username@fedorapeople.org/home/fedora/your_username in Location field for an easy way to connect to your fedorapeople.org space. PCManFM also works

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

fedora people 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 the cgit web interface.

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 the Git quick reference.

Creating a new git repository in ~/public_git

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 .gitcgit will not list repos that do not end in .git.

Additionally if you wish your repository to show up in the cgit web interface, you must:

touch ~/public_git/yourgitrepo.git/git-daemon-export-ok

For any repositories you wish to appear there by default.

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: