J’ai offert à mon neveu un robot Thymio. Si vous ne connaissez pas, allez faire un tour sur la page des spécifications.

Afin de le programmer, il est nécessaire d’installer la suite logicielle Aseba qui inclue notamment :

  • Thymio VPL (Langage de Programmation Visuel)
  • Blockly (programmation en blocs semblable à Scratch)
  • Aseba Studio (programmation textuelle)

Mais malheureusement, cette suite n’est pas disponible dans les dépôts officiels de Debian stable (Debian stretch au jours où j’écris cet article). À noter cependant, Aseba est disponible dans Debian testing (nom de code buster) et qu’elle sera donc disponible dans la future Debian stable (c.f. https://packages.debian.org/buster/aseba).

Dans cet article, je propose donc les étapes pour :

  • installer le paquet Debian précompilés par mes soins
  • la méthode que j’ai suivie pour créer ces paquets

Installation sous Debian stretch

L’installation sous Debian stretch (ou toute distribution basée sur Debian stretch) nécessite 4 étapes détaillées ci-dessous :

  1. Me faire confiance et ajouter mon certificat
  2. Ajouter le dépôt packages.kauff.org contenant Aseba
  3. Mettre à jour les dépôts de paquets
  4. Installer Aseba

Pour cela, les commandes à exécuter sont les suivantes :

albinou@pc:~$ curl -s https://albin.kauff.org/albinkauffmann-pubkey.txt | sudo apt-key add -
OK
albinou@pc:~$ sudo bash -c 'echo "deb http://packages.kauff.org/debian/ stretch aseba" > /etc/apt/sources.list.d/packages-kauff-org.list'
albinou@pc:~$ sudo apt-get update
albinou@pc:~$ sudo apt-get install aseba

Pour tenter la version expérimentale (branche master de git), il est possible de modifier le fichier packages-kauff-org.list afin d’utiliser le composant aseba-git :

deb http://packages.kauff.org/debian/ stretch aseba-git

Le processus n’étant pas automatique pour moi, je ne promets cependant pas de régulièrement rebuilder la branche master.

Construction des paquets (HowTo)

Les explications qui suivent sont très concises. Pour plus de détails, ne pas hésiter à regarder les liens disponibles dans les Ressources de cet article.

Génération d’une clef GPG

Pour cette étape, je conseille un article de Nextinpact très bien écrit et disponible ici.

À la fin de l’étape de création des clefs, la commande gpg --list-key doit retourner une clef valide.

Construction (gbp buildpackage)

Les paquets sont construits avec les commandes suivantes :

cd /PATH/TO/SOURCES
# Create a new branch for the build
git checkout -b build
# Update the Debian changelog to add a version (required if building master)
gbp dch --debian-branch=build --since=1.6.0 --release
# Build the package
gbp buildpackage --git-debian-branch=build --build-by=albin@kauff.org

Création du dépôt Debian (reprepro)

J’ai utilisé reprepro :

mkdir -p repo/conf
vi repo/distributions

Dans mon cas, j’y ai écrit le contenu suivant :

Origin: packages.kauff.org
Label: packages.kauff.org
Suite: stable
Codename: stretch
Version: 9.0
Architectures: i386 amd64 source
Components: aseba aseba-git
Description: Packages built by Albin Kauffmann
SignWith: F3E2806C # GPG key ID

Ajouter les paquets à reprepro en spécifiant le composant (aseba ou aseba-git ici) :

reprepro -b repo --component aseba includedeb stretch /CHEMIN/VERS/LES/PAQUETS/*.deb

Ressources