fedorapeople.org

Esta página cubre los detalles de cómo obtener y usar su espacio personal en fedorapeople.org que es el sitio donde los contribuyentes Fedora pueden subir sus archivos y compartirlos con el mundo. Es perfecto para subir archivos spec, srpms, parches, repositorios personales, etc.

Accediendo su espacio en fedorapeople.org

  1. Necesita una cuenta activa Fedora
  2. Debe ser patrocinado a algunos de los grupos existentes (diferente a los grupos CLA)
  3. Debe generar una llave ssh (ssh-keygen -t rsa).
  4. Subir esta llave a su cuenta Fedora. Para hacerlo vaya a https://admin.fedoraproject.org/accounts/user/edit y seleccione su llave utilizando el campo ''Public RSA SSH key''. Normalmente su llave se almacena en su directorio personal en .ssh/id_rsa.pub. La llave ssh se activa una hora después de que usted la suba.
  5. Para conectar, use la llave ssh que subió a su cuenta Fedora:
ssh -i ~/.ssh/id_rsa <su_id_fedora_id>@fedorapeople.org

Respuestas a preguntas comunes

  • Cada contribuidor tiene 150 MiB de espacio controlado por cuotas.
  • Para crear un sitio público visible, cree el directorio public_html.
  • Suba archivos utilizando con scp, sftp, o rsync.

Nota: Si usa Nautilus visite Connecting_with_Nautilus que es una forma fácil para conectar con su espacio en fedorapeople.org space.

Nota: Si usa KDE, tipee sftp://su_nombre_de_usuario@fedorapeople.org en la barra de su gestor de archivos para conectar de forma fácil a su espacio en fedorapeople.org space.

Para copiar archivos desde la línea de comandos puede utilizar scp

scp /path/to/file your_fedora_username@fedorapeople.org:/home/fedora/your_fedora_username/public_html
  • Una vez subidos los archivos al directorio public_html estos estarán disponibles via httt en http://su_nombre_de_usuario.fedorapeople.org/.
  • Puede darle acceso a otros usuarios de lectura/escritura/etc utilizando acls extendidos. Léa las páginas del manual de setfacl y getfacl para agregarlos a sus archivos o directorios. Lo siguiente le da al usuario jkeating el permiso de lectura y escritura al archivo file:
setfacl -m u:jkeating:rw file

Soporte git (BETA)

fedorapeople.org ahora tiene soporte para alojar repositorios git incluyendo su acceso via el protocolo git:// para accesos anónimos al igual que acceso gitweb. Este soporte debe considerarse beta.

Abajo un vistazo rápido de cómo comenzar a usar git en fedorapeople.org. Se asume que ya usted tiene alguna familiaridad con git. Puede que desee darle un vistazo a la Git quick reference .

Cree un directorio ~/public_git en fedorapeople.org

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

Cree un nuevo repositorio git en ~/public_git

A titulo de ejemplo abajo se muestra un método para crear un repositorio vacío en su sistema local y luego subirlo:

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

Esto crea un repositorio bare (i.e. un repositorio que no tiene un directorio de trabajo). Este sólo contiene los archivos que son parte del directorio .git de un repositorio git non-bare (el tipo de repositorio al que la mayoría de los usuarios está acostumbrado a ver).

Nota: El nombre del repositorio deb terminar con .git. Gitweb no listará los repositorios que no terminen en .git.

Nota: El acceso al repositorio y git-daemon-export-ok. Sin el archivo git-daemon-export-ok, su repositorio no estará disponible de forma anónima por el protocolo git:// .

Alerta: Repositorios non-bare. Si bien los repositorios non-bare deberían funcionar, su uso en general está contraindicado . Sin embargo, si usted usa un repo non-bare, debería colocar el archivo git-daemon-export-ok en el nivel tope del directorio git, e.g. ~/public_git/su_repo.git/git-daemon-export-ok, NOT ~/public_git/su_repo.git/.git/git-daemon-export-ok.

Subir un repositorio git existente a ~/public_git

Si ya usted tiene un repositorio git existente que desea utilizar en fedorapeople, puede hacerlo fácilmente:

git clone --bare /path/to/local/repo repo.git
touch repo.git/git-daemon-export-ok
scp -r repo.git/ su_nombre_de_usuario@fedorapeople.org:public_git/

Las anotaciones de la sección previa aplican igualmente aquí.

Empujando datos al repositorio

Para empujar cambios al repositorio local:

cd /path/to/local/repo
git remote add fedorapeople your_fedora_username@fedorapeople.org:public_git/repo.git
git push --mirror fedorapeople

Esto crea un espejo de su repositorio local. Todos los branches y tags en el repositorio local serán empujados al repositorio en fedorapeople.org

Si usted sólo desea empujar branches seleccionadas, corrija el ejemplo git push. Por ejemplo, para empujar sólo su branch master local:

git push fedorapeople master

Nota: Permisos para terceros. Usted puede permitir que otros usuarios fedorapeople.org empujen datos a su repositorio utilizando acls extendidas (véa setfacl(1) para más detalles). Sin embargo si usted tiene muchas otras personas trabajando en su proyecto, le recomendamos que use Fedora Hosted .

Clonando su repositorio

Para clonar su repositorio, use un comando similar a:

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

También es posible clonar su proyecto usando el protocolo http.// . Para que esto funcione usted debe arreglársela para correr git-update-server-info cuando actualice su repositorio. Típicamente esto se hace con un guión post-update hook. Sin embargo, el los directorios personales de usuario en fedorapeople.org son montados con la opción noexec que previene que el guión funcione. A cambio de eso usted puede crear un enlace simbólico a git-update-server-info en el directorio hooks de su repositorio:

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

También necesitará crear un enlace de ~/public_html/git a ~/public_git:

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

Usted entonces podrá clonar su repositorio via http:// con un comando similar a:

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

Nota: Sólo clonacion http. Clone solamente via http:// si se encuentra detrás de un cortafuegos que prevenga que funcione el protocolo git:// . El protocolo git:// es más rápido y más eficiente que el protocolo http:// para el uso git.

Exploración de su proyecto via gitwen

Usted puede ver su proyecto listado en gitweb una vez que el listado se actualice. Esto ocurre cada hora. Note que el URL gitweb puede que cambie.

Nota: Descripción del repositorio. Usted puede establecer una descripción para su repositorio y que se mostrará en gitweb editando el archivo description en su repositorio.

YUM repos en fedorapeople.org

[gomix@movix ~]$ ssh fedorapeople.org
[gomix@people1 ~]$
[gomix@people1 ~]$ new_repo 

This script will help you create a new repo at 
http://repos.fedorapeople.org/repos/group/packagename/release/arch/
Before you continue.  Make sure you have the following information
     Group/user/team name - Owner of repo
     package name - name of the package
     Releases - Which releases will be built
     Brief description - Of the repo.
     License - Know the license of all software to be stored here

Will all software stored in this repo be released in one of the
following licenses?

     http://fedoraproject.org/wiki/Licensing:Main
(yes/no): yes

Please list the name of the group, username or team that will be 
maintaining this repository.  Alpha numeric only

group/user name: gomix

Thanks, working from:
     http://repos.fedorapeople.org/repos/gomix/

Next, we need the name of the repo for example 'chromium' or 'firefox'

package name: fox

Thanks, working from:
     http://repos.fedorapeople.org/repos/gomix/fox/

Next we need to know what Fedora release this repo is for
Please enter or more of the following separated by space:
     fedora-12 fedora-13 fedora-14 fedora-15 epel-4 epel-5 epel-6

releases: fedora-12 fedora-13

Thanks, working from:
     http://repos.fedorapeople.org/repos/gomix/fox/[fedora-12,fedora-13]
Please give a brief (80 characters or less) description.

Description: FOX is a C++-based library for graphical user interface development

Creating repo directory structure

 Creating http://repos.fedorapeople.org/repos/gomix/fox/fedora-12/i386
 Creating http://repos.fedorapeople.org/repos/gomix/fox/fedora-12/x86_64
 Creating http://repos.fedorapeople.org/repos/gomix/fox/fedora-12/SRPMS
 Creating http://repos.fedorapeople.org/repos/gomix/fox/fedora-13/i386
 Creating http://repos.fedorapeople.org/repos/gomix/fox/fedora-13/x86_64
 Creating http://repos.fedorapeople.org/repos/gomix/fox/fedora-13/SRPMS

creating repo files

creating fedora repo
creating fedora repo

DONE!  You can now upload your repo
Use the following paths as your REPO_PATH: 
     /srv/repos/gomix/fox/fedora-12
     /srv/repos/gomix/fox/fedora-13
[gomix@movix ]$ mkdir local_repofox_f13
[gomix@movix ]$ cd local_repofox_f13
[gomix@movix local_repofox_f13]$ mkdir i386 x86_64 SRPMS
# Carga de rpms
[gomix@movix local_repofox_f13]$ cp ~/Descargas/fox-f13-i686/* i386/
[gomix@movix local_repofox_f13]$ cp ~/Descargas/fox-f13-x86_64/* x86_64/
[gomix@movix local_repofox_f13]$ cp /home/makerpm/rpmbuild/SRPMS/fox-1.6.38-1.fc13.src.rpm SRPMS/
# Ahora construir la metadata yum
[gomix@movix local_repofox_f13]$  for dir in *; do cd $dir; createrepo -d ./; cd ..; done
7/7 - adie-3.0.0-1.fc13.i686.rpm                                                
Saving Primary metadata
Saving file lists metadata
Saving other metadata
1/1 - fox-1.6.38-1.fc13.src.rpm                                                 
Saving Primary metadata
Saving file lists metadata
Saving other metadata
7/7 - calculator-2.0.0-1.fc13.x86_64.rpm                                        
Saving Primary metadata
Saving file lists metadata
Saving other metadata

# Ahora a subir la metada a nuestro repo en fedorapeople.org
[gomix@movix local_repofox_f13]$ rsync -avz * gomix@fedorapeople.org:/srv/repos/gomix/fox/fedora-13
sending incremental file list
SRPMS/
SRPMS/fox-1.6.38-1.fc13.src.rpm
SRPMS/repodata/
SRPMS/repodata/filelists.xml.gz
SRPMS/repodata/other.xml.gz
SRPMS/repodata/primary.xml.gz
SRPMS/repodata/repomd.xml
i386/
i386/adie-3.0.0-1.fc13.i686.rpm
i386/calculator-2.0.0-1.fc13.i686.rpm
...
x86_64/repodata/primary.xml.gz
x86_64/repodata/repomd.xml

sent 15864286 bytes  received 549 bytes  51425.72 bytes/sec
total size is 15856741  speedup is 1.00

Probando el repo:

[root@movix ~]# cd /etc/yum.repos.d/
[root@movix yum.repos.d]# wget http://repos.fedorapeople.org/repos/gomix/fox/fedora-fox.repo
...
100%[=======================================>] 359         --.-K/s   in 0s      

2010-09-12 08:57:32 (26,5 MB/s) - `fedora-fox.repo' saved [359/359]

[root@movix yum.repos.d]# rpm -q fox
el paquete fox no está instalado

Agregue un nombre al repo

# Place this file in your /etc/yum.repos.d/ directory

[fedora-fox]
name=fedora-fox
baseurl=http://repos.fedorapeople.org/repos/gomix/fox/fedora-$releasever/$basearch/
enabled=1
skip_if_unavailable=1
gpgcheck=0

[fedora-fox-source]
name=fedora-fox - Source
baseurl=http://repos.fedorapeople.org/repos/gomix/fox/fedora-$releasever/SRPMS
enabled=0
skip_if_unavailable=1
gpgcheck=0

[root@movix yum.repos.d]# yum install fox
...
Dependencias resueltas

=================================================================================
 Paquete      Arquitectura    Versión                  Repositorio         Tamaño
=================================================================================
Instalando:
 fox          x86_64          1.6.38-1.fc13            fedora-fox          919 k

Resumen de la transacción
=================================================================================
Install       1 Package(s)

Tamaño total de la descarga: 919 k
Tamaño instalado: 3.5 M
Está de acuerdo [s/N]:s

Documentos originales y ejemplos