.. _chapter-guia-contribuyente: ==================================== Breve guía del contribuyente de Sage ==================================== Para el lego en desarrollo de software o, como el que escribe estas lineas, el que no tiene muchas luces, da trabajo descifrar la `guía del desarrollador `_ de Sage. Cuando, tras varios meses sin tocar el tema, me dispuse a aplicar los cambios que se me sugerían en el parche que había enviado para incorporar a Sage, había olvidado todo y tuve que empezar casi desde cero. Para que eso no me vuelva a pasar, he decidido escribir esta guía rápida. Todo es poco menos que calcado a lo que se puede encontrar en la mencionada guía del desarrollador, pero en distinto orden. Proboablemente habrá muchas incorrecciones e imprecisiones, pero tengo la esperanza de que esta guía le ahorre tiempo a alguien (al menos a mí, la próxima vez que me olvide de todo). Esta guía está hecha trabajando desde Ubuntu. .. _section-local-git: Configurar y usar git localmente ================================ El programa git permite llevar un control de los cambios que se hacen a sage, y es el que usaremos para trasladar dichos cambios al resto de la comunidad. De momento, veamos cómo usarlo de manera local. Instalar git ------------ Instalación en Ubuntu: ``sudo apt-get install git-core`` Confguración:: [usuario@ordenador ~] git config --global user.name "Tu nombre" [usuario@ordenador ~] git config --global user.email tuemail@dondesea.com Se pueden hacer `más cosas `_, pero a mí me valió con eso. Bajar y compilar Sage --------------------- Hay más información sobre instalar Sage desde el código fuente. Una vez resuelto eso, la cosa es, simplemente:: [usuario@ordenador ~]$ git clone git://github.com/sagemath/sage.git [usuario@ordenador ~]$ cd sage [usuario@ordenador sage]$ git checkout develop [usuario@ordenador sage]$ make Servidor usó la rama ``master`` en lugar de ``develop``, pero no parece que hubiese problema por eso .. _section-trac: Interactuar con el servidor trac de Sage ======================================== Cualquier cambio que se le haga a la distribución oficial de Sage pasa por el `servidor trac `_. Por razones de seguridad, hay que seguir ciertos pasos para poderse comunicar con dicho servidor. Darse de alta en trac --------------------- Lo primero que hay que hacer es escribir a ``sage-trac-account@googlegroups.com`` con un mensaje que contenga: * nombre completo del contribuyente, * nombre de usuario que el contribuyente desea tener, * email de contacto, y * motivo por el cual se quiere una cuenta en trac. Después, hay que esperar a que uno le contesten y seguir las instrucciones que le dan. Tener una cuenta en el servidor trac también te da acceso a `la wiki de Sage `_, de la que no me atrevo a hablar mucho aún. Clave pública para hablar con el servidor ----------------------------------------- Por motivos de seguridad, hay que generar una clave SSH para comunicarse (via RSA, creo) con el servidor trac. Probablemente esto se pueda hacer una vez y luego se puede copiar la clave en todos los ordenadores que uno va a usar, pero yo lo que suelo hacer es repetir el proceso en cada máquina que uso. La idea es que trac sepa siempre que eres quien dice ser. Primero se genera una clave privada con una terminal:: [usuario@ordenador ~]$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/usuario/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/usuario/.ssh/id_rsa. Your public key has been saved in /home/usuario/.ssh/id_rsa.pub. The key fingerprint is: ce:32:b3:de:38:56:80:c9:11:f0:b3:88:f2:1c:89:0a usuario@ordenador The key's randomart image is: +--[ RSA 2048]----+ | .... | | .. | | .o+ | | o o+o. | |E + . .S | |+o . o. | |. o +.o | | oB | | o+.. | +-----------------+ Esto genera dos archivos. La clave privada ``/home/usuario/.ssh/id_rsa`` no debería compartirse. La clave pública ``/home/usuario/.ssh/id_rsa.pub`` debe abrirse con un editor de textos u su contenido se debe copiar y pegar en la pestaña "SSH Keys" de las "Preferences" del `servidor trac `_. No hay que olvidar hacer clic en "Save changes". Es bueno avisar de que uno va a hacer algo ------------------------------------------ Pues eso. Yo la primera vez me lancé a abrir un ticket, pero habría estado bien por mi parte escribir en * ``sage-devel``: `http://groups.google.com/group/sage-devel `_ que quería hacerlo, a ver si les parecía bien. Abrir un ticket --------------- Antes, obviamente, hay que comprobar que no hay nada parecido ya abierto.