From Fedora Project Wiki

Revision as of 16:49, 25 February 2011 by Eldermarco (talk | contribs) (Pequenas correções ortográficas ou de digitação.)

fedorapeople.org

Esta página cobre os detalhes como obter e utilizar o seu espaço pessoal no fedorapeople.org, que é um site onde os colaboradores do Fedora podem carregar seus arquivos para compartilhá-los com o mundo. É perfeito para carregar arquivos .spec, srpms, patches, manter um repositório pessoal etc, etc.

Acessando o seu espaço no fedorapeople.org

  1. Você precisa de uma conta Fedora.
  2. Deve estar patrocinado por um grupo (além dos grupos CLA)
  3. Precisa gerar uma chave ssh (ssh-keygen -t rsa).
  4. Faça um upload da sua chave ssh para a sua conta Fedora. Para carregá-la para a sua conta, visite este link e selecione o arquivo referente a sua chave utilizando o campo Public RSA SSH Key. Normalmente, sua chave é armazenada no seu diretório de usuário em .ssh/id_rsa.pub. A chave ssh é ativada cerca de uma hora depois de você carregá-la.
  5. Para se conectar, use a chave ssh que você carregou para sua conta Fedora:
    ssh -i ~/.ssh/id_rsa <seu_username>@fedorapeople.org

Esta etapa pode também ser realizada via conta Fedora

  1. Enquanto estiver conectado, clique em "My Account" na barra lateral.
  2. Selecione o link "edit" próximo à "Account Details."
  3. Coloque o seguinte no campo "Public RSA SSH Key":
    ~/.ssh/id_rsa.pub
  4. Clique no botão "Save!".
  5. Verifique se ocorreu tudo com sucesso. Você deverá ver um "ssh-rsa" seguido por uma string alfanumérica no campo "Public SSH Key:" do detalhes da sua conta.

Respostas frequentes

  • Cada colaborador Fedora tem 2000000 KB (aproximadamente 1954 MB) de espaço em disco.
  • Se você exceder esse espaço deverá: apagar coisas que você não mais precisa. Caso você não possa apagá-las, entre em contato com a infraestrutura do fedora para aumentar sua quota de disco.
  • Para tornar seu espaço visível, crie um diretório public_html.
  • Carregue os arquivos utilizando scp, sftp ou rsync.
Utilizando o Nautilus
Se você usa o GNOME, visite esta página para saber uma maneira simples de se conectar ao seu espaço no fedorapeople.org
Utilizando o Dolphin ou Konqueror
Se você utiliza o KDE, digite sftp://seu_username@fedorapeople.org na barra de endereços do seu gerenciador de arquivos para uma maneira fácil de se conectar ao seu espaço no fedorapeople.org.

Para copiar arquivos a partir da linha de comando, você pode usar o scp:

scp /caminho/para/o/arquivo seu_username@fedorapeople.org:/home/fedora/seu_username/public_html
  • Uma vez carregado no diretório public_html, os arquivos ficam disponíveis em http://seu_username.fedorapeople.org.
  • Dar acesso de leitura/escrita/etc a outros usuários usando as acls estendidas. Leia as man pages do setfacl e do getfacl para maiores detalhes de como fazê-lo aos seus diretórios/arquivos. Isto dá ao usuário jkeating acesso de leitura e escrita para o arquivo arquivo:
setfacl -m u:jkeating:rw arquivo

Suporte a hospedagem git (BETA)

O fedorapeople.org agora tem suporte a repositórios git incluindo o acesso via protocolo git:// para downloads anônimos bem como através do gitweb. Isto deve ser considerado beta.

Aqui está um rápido resumo de como começar a utilizar o git no fedorapeople.org. Ele assume que você já está um pouco familiarizado com o git, mas você pode querer dar uma olhada no Git - referência rápida.

Criar o diretório ~/public_git no fedorapeople.org

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

Criando um novo repositório git em ~/public_git

Como exemplo, eis um método para criar um repositório vazio no seu sistema local e depois fazer o upload dele:

mkdir repo.git
cd repo.git
git --bare init
touch git-daemon-export-ok
cd ..
scp -r repo.git/ seu_username@fedorapeople.org:public_git/

Isto cria um repositório vazio (isto é, um repositório sem um diretório de trabalho). Ele contém apenas os arquivos que são parte do diretório .git de um repositório comum do git (do tipo que a maioria dos usuários estão acostumados a ver).


O nome do repositório deve terminar com .git
O gitweb não irá listar repositórios que não terminem com .git.
Acesso ao repositório e o git-daemon-export-ok
Sem o arquivo git-daemon-export-ok, seu repositório não estará disponível de forma anônima via protocolo git://.
Repositórios não vazios
Repositórios não vazios devem funcionar, mas geralmente é desencorajado fazer um push dele para o servidor remoto. Entretanto, se você já está com um repositório não vazio, deverá colocar o arquivo git-daemon-export-ok na raiz do diretório git, isto é, em ~/public_git/seu_repo.git/git-daemon-export-ok, NÃO em ~/public_git/your_repo.git/.git/git-daemon-export-ok

Carregando um repositório existente para o ~/public_git

Se você já tiver um repositório e quiser utilizá-lo no fedorapeople, pode fazê-lo facilmente:

git clone --bare /caminho/para/seu/repo/local repo.git
touch repo.git/git-daemon-export-ok
scp -r repo.git/ seu_username@fedorapeople.org:public_git/

As advertências da seção anterior também se aplicam aqui.


Realizando um push em seu repositório

Para realizar um push nas modificações feitas a partir de um repositório local:

cd /caminho/para/seu/repo/local
git remote add fedorapeople your_fedora_username@fedorapeople.org:public_git/repo.git
git push --mirror fedorapeople

Isto cria um espelho do seu repositório local. Todos os branches e tags no repositório local serão enviados para o seu repositório no fedorapeople.

Se você quer realizar um push apenas de alguns branches, altere o exemplo abaixo com o git push. Por exemplo, para realizar um push somente do seu branch master local:

git push fedorapeople master


Permitindo que outros realizem um push
Você pode permitir que outros usuários do fedorapeople.org realizem um push no seu repositório usando as acls estendidas (veja setfacl(1) para maiores detalhes). Entretanto, se existem muitos trabalhando no seu projeto, o uso do Fedora Hosted é altamente encorajado.


Clonando seu repositório

Para clonar seu repositório, utilize um comando similar a:

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

É possível também clonar seu projeto através do protocolo http://. Para que isso funcione, você deve fazer com que o git-update-server-info seja executado sempre que você atualizar o seu repositório. Normalmente, isto é feito com um script de pós-atualização. Entretanto, o diretório dos usuários no fedorapeople.org são montados com a opção noexec, o que impede a execução do script. Em vez disso, você pode criar um link simbólico para o git-update-server-info no diretório do seu repositório:

ssh ~seu_username@fedorapeople.org
cd ~/public_git/repo.git/hooks
ln -svbf /usr/bin/git-update-server-info post-update

Você também precisa criar o link ~/public_html/git que aponta para ~/public_git:

cd ~/public_html
ln -svbf ../public_git git

Você pode clonar seu repositório a partir do protocolo http:// com um comando similar a:

git clone http://seu_username.fedorapeople.org/git/repo.git/


git:// versus http://
Apenas clone via http:// se você estiver atrás de um firewall que impede que o protocolo git:// funcione. O protocolo git:// é mais rápido e mais eficiente do que o protocolo http:// para uso com o git.


Navegando no seu projeto via gitweb

Você pode ver o seu projeto listado no gitweb na lista de atualização de projetos. Isto acontece a cada hora. Note que a URL no gitweb pode mudar.


Descrição do repositório
Você pode mudar a descrição do repositório que é exibida no gitweb editando o arquivo description no seu repositório.


URLs do repositório
Os URLs do gitweb exibidos para o seu repositório são incorretos por padrão (desde que o serviço foi criado em meados de 2008. Última verificação em 11/08/2010). Você pode contornar isso adicionando o arquivo cloneurl ao seu repositório contendo as URLs corretas:

URLs padrão incorretas:

git://fedorapeople.org/home/fedora/seu_username/public_git/repo.git
ssh://fedorapeople.org/home/fedora/seu_username/public_git/repo.git

Escreva essas URLs no arquivo cloneurl para contornar isso:

git://fedorapeople.org/~seu_username/repo.git
ssh://fedorapeople.org/~seu_username/public_git/repo.git