openSUSE:Empaquetado para Leap

Saltar a: navegación, buscar
Icon-usage.png
Las personas encargadas de la edición de esta página consideran que aún necesario efectuar cambios, quizás importantes, en la misma.
Este artículo te dará una visión desde la perspectiva del colaborador en openSUSE Leap. Muchos de los conceptos, comandos para ejecutar, personas con las que hablar, etc., son muy similares a openSUSE Factory. Se recomienda utilizar la guía [https://en.opensuse.org/openSUSE:How_to_contribute_to_Factory_to_Factory


Unirse a los Mantenedores de Paquetes

Bienvenido y estamos encantados de que haya decidido convertirse en un mantenedor de paquetes en el proyecto openSUSE. Esta guía lo guiará a través de su primer envío de paquetes. Puede ser un paquete completamente nuevo o actualizar un paquete existente.

Configurar una cuenta

Para comenzar a contribuir a Factory, deberá crear una cuenta en openSUSE. openSUSE tiene un sistema de inicio de sesión único.

Leer las Directrices

Familiarízate con nuestra guía Gestión de paquetes. Debes estar completamente familiarizado con estos puntos, ya que rigen todos los envíos de paquetes. Si tienea preguntas, envía un correo electrónico a la Packaging List.

Comprensión de las responsabilidades

Los componentes de software incluidos en nuestras distribuciones deben mantenerse activamente y los errores, especialmente los problemas de seguridad, deben corregirse de manera oportuna. Como mantenedor de paquetes, es tu principal responsabilidad garantizar esto.

Si no estás familiarizado con git, haz lo siguiente

Si no has configurado su nombre de usuario y dirección de correo electrónico para Git, haz lo siguiente con tu información para paquetes de openSUSE.

     git config --usuario global.nombre "John Doe"
     git config --usuario global.email johndoe@example.com

Primeros pasos

Revisa para ver qué paquetes podrían usar un mantenedor/es

En la factory mailing list se incluye un flujo constante de información sobre diferentes paquetes que podrían ser útiles. La frecuencia varía, pero revisa el historial y seguramente encontrarás un paquete que necesitaría un mantenedor.

Cómo enviar una corrección a un paquete (tanto en sentido ascendente como dentro del proyecto)

La forma más fácil y conveniente de contribuir a "Factory" es simplemente enviar correcciones. Si sabes por qué un paquete no se compila o no funciona correctamente, ¿por qué no envías una solución? Si la versión de un paquete está desactualizada, ¿por qué no actualizarla? Para que esto sea posible para todos, los desarrolladores de openSUSE aprovechan las características de colaboración del Open Build Service para las contribuciones de Factory. Esto significa que todo el mundo puede bifurcar paquetes desde openSUSE:Factory, hacer modificaciones y volver a enviarlos; es tan fácil como las damas. Primero, debe verificar cuál es el proyecto de desarrollo para el paquete que desea corregir. Esto puede encontrarse con osc dp openSUSE:Factory aaa_base}} Si eso no funciona, entonces también puedes buscarlo en https://build.opensuse.org o https://software.opensuse.org, y anotar en qué proyecto se desarrolló el paquete openSUSE:Factory.

Luego, debe verificar el paquete con osc.

osc branch -m 'Fix XY' develproj:Nombre aaa_base

Como puede ver, el servidor creó una copia del paquete del "proyecto de desarrollo" correcto y colocó el resultado en su proyecto de inicio. Compruébalo en tu máquina local para hacer cualquier cambio.

osc checkout home:tunombre:sucursales:Base:Sistema/aaa_base

Alternativamente, puede usar `osc bco` para encadenar las acciones de sucursal+pago en un solo comando.

osc bco develproj:Nombre/aaa_base
Después de haber cambiado lo que querías corregir, querrás asegurarte de que el paquete se compila y funciona correctamente. Para asegurarte de que se compila correctamente, ejecuta
osc build
y asegúrate de que se compile. Si se compila con éxito, comprueba si también hay errores o advertencias de rpmlint que desees solucionar. A veces es aceptable ignorarlos (como si ya estuvieran presentes antes de cambiar el paquete), otras veces se deben tratar.

Recuerda agregar una entrada al registro de cambios para que sea fácil para otros conocer tus cambios.

osc vc -m 'Corrección XY agregada para el problema Z'

También puede ser útil ejecutar `osc diff` para recordar lo que has cambiado.

Luego, puedes verificar tus cambios en tu sucursal.

osc checkin -m 'Corrección XY agregada para el problema Z'

Luego envíelos al desarrollador del paquete para su revisión.

osc submitrequest -m 'Corrección XY agregada para el problema Z'

El desarrollador del paquete recibirá una notificación sobre su envío y lo revisará. A esto lo llamamos BURPing.

  • Rama (Branch),
  • Actualizar (Update),
  • Pedido (Request),
  • Paquete (Package).

Cómo agregar un nuevo paquete a Factory

Si nunca antes has creado un paquete, puedes visitar este tutorial antes de comenzar a enviar paquetes a la OBS.

El proyecto openSUSE:Factory requiere que cada paquete resida en un llamado proyecto de desarrollo (devel project y develprj para abreviar), que actúa como alimentador proyecto a openSUSE:Factory para su paquete. No se permite que el espacio de nombres home: actúe como un develprj para paquetes Factory.

Al igual que en el caso de openSUSE:Factory, los proyectos de desarrollo son supervisados por sus respectivos revisores o mantenedores, y las nuevas creaciones de paquetes de quienes no son mantenedores deben ser aprobardas. Aunque una solicitud de envío puede crear un paquete, el comando `osc submitrequest` actúa más como una solicitud para copiar y, por lo tanto, siempre requiere una ubicación de origen. Para comenzar realmente desde cero, uno tiene que usar el comando `osc mkpac` en su lugar. De forma predeterminada, los usuarios solo tienen permisos de escritura en su espacio de nombres de inicio, que es home:yourname. Si no has realizado una copia local de su proyecto de inicio, puedes hacerlo

 osc checkout home:tunombre

Ahora que tienes una copia local, puedes ejecutar esto

 osc mkpac home:su nombre/nombre del paquete

para crear un paquete en blanco, dentro del cual puede hacer las modificaciones que desee. Tenga en cuenta que los repositorios predeterminados que están configurados para home:yourname apuntan directamente a las distribuciones (Leap/Factory/etc.), y no a develprj; puede ser necesario para editar esto (`osc prj -e home:yourname`) si deseas utilizar paquetes o características que aún no están presentes en Factory.

Una vez que haya completado sus ediciones en el paquete, es decir, llenándolo con un archivo .spec, tarball de origen u otro archivo auxiliar