Translations
- ["Embedded Debian packaging infrastructureFrench"]: french
- ["Embedded Debian packaging infrastructureSpanish"]: spanish
This proposal describes the infrastructure for emdebian packages and modified packaging tools for use with them. Demo infrastructure has been set up on buildd.emdebian.org
Initial ideas
[:Embedded_Debian:Emdebian] packages should be split into two aptable repositories:
- Emdebian Tools - emdebian packaging tools like dpkg, debhelper,etc. It is intended to get these modified tools into Debian as soon as possible.
- Target packages - emdebian packages for target devices. These packages should contain emdebian patches for the emdebian-related changes.
Source code repository structure
- Repository layout is according to svn-buildpackage recomendations (see /usr/share/doc/svn-buildpackage/HOWTO.html/index.html)
Repository location
If you have direct access to the emdebian.org server you will find the files are stored here:
- Currently tools sources are here: buildd.emdebian.org/var/emdebian/svn/tools/pkg/
- Target sources are at buildd.emdebian.org/var/emdebian/svn/emdebian/
Equivalent external access URLs are:
- Tools sources are at svn://buildd.emdebian.org/tools/pkg
- Target sources are at svn://buildd.emdebian.org/emdebian/
Repository layout
- tools/trunk/ - modified tools for emdebian usage
- tools/tags/ - tags (sourses will be automatically tagged when use svn-buildpackage)
- tools/releases - directory for release tags
- tools/branches - directory for branches
Package repositories
Package repositories were prepared using [http://mirrorer.alioth.debian.org/ reprepro tool(mirrorer)]
Repository location
Repository layout
- tools repository:
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
- target repository
deb http://buildd.emdebian.org/emdebian/ unstable main deb-src http://buildd.emdebian.org/emdebian/ unstable main
Incoming directories
- for tools : scp://buildd.emdebian.org/var/emdebian/emdebian-tools/incoming-unstable
- for target packages: scp://buildd.emdebian.org/var/emdebian/emdebian-tools/incoming-emdebian/
Examples of dput.cf for emdebian uploads
[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 example of how to handle uploads (debian or emdebian should be passed as parameter)
[ -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
TODO
- 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