Esta propuesta describe la infraestructura para los paquetes emdebian y las herramientas de empaquetado modificadas para el uso de ellas. Una infraestructura de demostración se ha instalado en buildd.emdebian.org
Ideas iniciales
Los paquetes de Emdebian se deben partir en dos repositorios apteables:
- Herramientas de Emdebian ("HOST") - las herramientas de empaquetado emdebian como dpkg, debhelper, etc. Se piensa en modificar estas herramientas en Debian cuanto antes.
- Paquetes del dispositivo objetivo ("TARGET") - paquetes emdebian para los dispositivos objetivo. Estos paquetes deben contener un directorio emdebian/ con los cambios emdebian.
Estructura del repositorio del código de fuente
- Plantilla del repositorio está acorde con las recomendaciones de svn-buildpackage (ver /usr/share/doc/svn-buildpackage/HOWTO.html/index.html)
Localización del repositorio
- Actualmente las fuentes de las herramientas están en: buildd.emdebian.org/var/emdebian/svn/tools/pkg/
- Paquetes del Target deberían estar probablemente en buildd.emdebian.org/var/emdebian/svn/target/
Plantilla del repositorio
- tools/trunk/ - herramientas modificadas para su uso con emdebian.
- tools/tags/ - tags (las fuentes serán automaticamente etiquetadas cuando se use svn-buildpackage).
- tools/releases - directorio para las etiquetas en lanzamiento.
- tools/branches - directorio para las ramas.
Repositorios de paquetes
Los repositorios de los paquetes han sido preparados usando reprepro tool(mirrorer)
Localización del repositorio
herramientas: http://buildd.emdebian.org/debian
Plantilla del repositorio
- repositorio de herramientas:
deb http://buildd.emdebian.org/debian/ unstable main deb-src http://buildd.emdebian.org/debian/ unstable main deb http://buildd.emdebian.org/debian/ testing main deb-src http://buildd.emdebian.org/debian/ testing main
- repositorio para el target
deb http://buildd.emdebian.org/emdebian/ unstable main deb-src http://buildd.emdebian.org/emdebian/ unstable main
Directorios de recepción de paquetes: Incoming/
- para las herramientas : scp://buildd.emdebian.org/var/emdebian/emdebian-tools/incoming-unstable
- para los paquetes del target: scp://onz.emdebian.org/var/emdebian/emdebian-tools/incoming-emdebian/
Ejemplo de dput.cf para las subidas a emdebian
[emdebian-tools] fqdn = buildd.emdebian.org login = <your login> method = scp incoming = /var/emdebian/debian/incoming-unstable/ [emdebian-target] fqdn = buildd.emdebian.org method = scp login = <your login> incoming = /var/emdebian/emdebian/incoming-unstable/
Simple ejemplo de como manejar las subidas (debian o emdebian debería pasarse como parámetro)
[ -z "$1" ] && exit 1
DIST=$1
INCOMING=/var/emdebian/$DIST/incoming-unstable/
cd $INCOMING/../
#
# Now import each new package that we *did* find
#
for f in $INCOMING/*.changes; do
[ -e "$f" ] || continue;
# Import package to the selected distribution.
reprepro -Vb . include $DIST $f
# Delete the referenced files
sed '1,/Files:/d' $f | sed '/BEGIN PGP SIGNATURE/,$d' \
| while read MD SIZE SECTION PRIORITY NAME; do
[ -z "$NAME" ] && continue
rm -f "$INCOMING/$NAME"
done
# Finally delete the .changes file itself.
rm $f
done
POR HACER
- SVN http access (svnserve anonymous or ssh read/write at the moment)
- SVN commit hook which should build packages and put them into repository
- (should not be hard for tools, for target it's much harder)
- dput infrastructure (incoming directories accessible for dput-supported transports) should be set up
