wiki:ppas

PPAS y Repositorios

Historia

Desde hace algunas versiones, en LliureX se permite la inclusión de los paquetes desde los PPAS de Ubuntu de manera automática (siempre y cuando coincidan con nuestra distribución).

Estructura

Existen varios puntos donde han de añadirse los PPAS para que los paquetes acaben en el pool de LliureX definitivo.

LliureX Meta

En el fichero : desc/update.cfg.in en raiz del paquete de lliurex-meta en la sección de la distribución que estamos desarrollando actualmente en el componente: archive_base/default han de estar las *URLS* de los distintos Pools que contienen los paquetes.

Ejemplo:

[trusty]
seeds: _@_SEEDS_@_
output_seeds: _@_OUTPUT_SEEDS_@_
architectures: i386 amd64
seed_base: file://_@_SEEDS_DIR_@_
seed_dist: _@_FINAL_SEEDS_@_
archive_base/default: http://ppa.launchpad.net/llxdev/trusty/ubuntu/ http://archive.ubuntu.com/ubuntu/ http://ppa.launchpad.net/llxdev/trusty-gva/ubuntu/ http://lliurex.net/zlx1505 
components: main restricted universe multiverse

Una vez añadido a la lista, se ejecuta un lliurex-metapackage update para refrescar las listas de paquetes que acabarán siendo las dependencias.

Calculador de dependencias

En los dos debootstraps que se encargan de calcular la lista de dependencias necesarias para tener un pool autocontenido, es necesario que en el directorio de /etc/apt/sources.list.d/ se añada el mismo repositorio.

Una vez añadido basta con ejectuar el lliurex-mega-resolver que encontraremos en el directorio de los debootstraps.

Este script, calcula todas las dependencias y además nos muestra las acciones que podemos realizar con las listas que se han generado en cada uno de los debootstraps: amd64 y i386.

Repositorio en pool

Una vez copiadas las listas de paquetes a los directorios conf/ de los pools, si queremos que se añada un nuevo ppa tendremos que añadir la regla en el fichero de updates.

conf/updates

Name: ppa-inkscape-dev-stable
Method: http://ppa.launchpad.net/inkscape.dev/stable/ubuntu
Suite: trusty
Components: main 
UdebComponents: main
Architectures: i386
VerifyRelease: blindtrust

Y en el fichero de conf/distributions, hemos de añadir esta regla de update

Codename: trusty
Suite: trusty
Version: 15.05
Origin: LliureX
Label: LliureX
Description: LliureX Distribution Packages
Architectures: i386 
Components: main restricted universe multiverse partner
UdebComponents: main
Update: - ppa-inkscape-dev-stable

Una vez hecho esto, bastará con comprobar que todo va a ir bien con:

reprepro -V --noskipold checkupdate

Este comando, tan solo comprueba que es lo que ocurrirá en el caso de que se ejecutara un update sobre el repositorio.

Actualización de los repositorios

Una vez hemos comprobado que todo esta de manera correcta se deben realizar los pasos correspondientes :

reprepro -V --noskipold update
reprepro -V --noskipold retrack
reprepro -V --noskipold export

Por último podemos realizar la sincronización via *rsync* de los repositorios en pruebas contra nuestra máquina en producción.

Last modified 2 years ago Last modified on Feb 6, 2015, 11:27:33 AM