Voici un petit script que je me suis fais, qui n’est donc pas très propres, mais qui fonctionne plutôt pas mal. Il permet de préparer les répertoires de travail, de construire le paquet, de l’envoyer avec dput et de mettre les paquets sur un dépôt personnelle. Il nécessite par contre d’avoir les sources du logiciel que l’on veut construire dans les dépôts Ubuntu.

Le Script

Je mets ce script dans mon HOME. Vous pouvez modifier les variables pour que cela corresponde à vos répertoires de travail qui sont chez moi :

  • /home/USER/Ubuntu
  • /home/USER/Ubuntu/ppa

Vous devez aussi avoir correctement configuré pbuilder et avoir installé les outils nécessaire pour la création de paquets.

#!/bin/sh
## Frederic Lietart 20090723

### Variables ###
NOM="Lietart"
PRENOM="Frederic"
MAIL="fred.lietart@free.fr"
WORK=~/Ubuntu
FINAL=~/Ubuntu/ppa
DEPOT=DEPOT
GPG="AAAAAAAAAA"
DATE=`date -R`
DISTRIBUTION="jaunty"
#################

clear

case $1 in
        create)
        if [ $# = 5 ]
         then
        echo "\033[1m###################################\033[0m"
        echo "Paquetage de $2-$3 vers $4 sur $5"
        echo "\033[1m###################################\\033[0m"
        sleep 5
         else
        echo "Syntaxe : $0 create homebank 3.6 3.8 http://www.server.com/app.tar.gz" &&
        exit 0
        fi

        ########## Mise en place des répertoire travail ################
        cd $WORK && mkdir $2 && cd $2 &&

        ###### Récupération apps #######
        wget $5 &&

        if test -f *$2*$4*.tar.gz;
        then mv *$2*$4*.tar.gz $2_$4.orig.tar.gz &&
        gunzip $2*$4*.gz &&
        tar -xvf $2*$4*.tar && mv $2*$4 $2-$4;
        else mv $2*$4*.tar.bz2 $2_$4.orig.tar.bz2 &&
        bunzip2 $2*$4*.bz2 &&
        tar -xvf $2*$4*.tar && mv $2*$4 $2-$4
        fi

        ###### Récupération source #######
        apt-get source $2 &&

        cd $2*$3* &&
        cp -rdf debian ../$2-$4 &&

        clear

        echo "\033[1m############## COPIER/COLLER ##############\033[0m"
        echo "$2 ($4) $DISTRIBUTION; urgency=low" &&
        echo "" &&
        echo "  * New upstream release." &&
        echo "    plus de détails." &&
        echo "  * d'autres détails." &&
        echo ""&&
        echo " -- $NOM $PRENOM   $DATE" &&
        echo "\033[1m###################################\\033[0m" &&
        sleep 10 &&

        cd ../$2-$4/debian &&
        nano changelog &&
        echo "\033[1m###################################\\033[0m"
        echo "Commande suivante: $0 build $2 $4"
        echo "\033[1m###################################\\033[0m"
        ;;

        build)
        if [ $# = 3 ]
         then
        echo "\033[1m###################################\\033[0m"
        echo "Construction de $2-$3"
        echo "\033[1m###################################\\033[0m"
        sleep 3
         else
        echo "Syntaxe : $0 build homebank 3.8" &&
        exit 0
        fi
        ########## Generation des source_changes ##########
        cd $WORK/$2/$2*$3* && dpkg-buildpackage -S -sa -rfakeroot -k$GPG &&

        ########## Lancement de pbuilder ##########
        echo "Password Super-Utilisateur" &&
        sudo pbuilder build $WORK/$2/*$2*$3*.dsc --buildresult $FINAL --debootstrapopts
        ;;

        commit)
        if [ $# = 3 ]
         then
        echo "\033[1m###################################\\033[0m"
        echo "Commit de $2-$3"
        echo "\033[1m###################################\\033[0m"
        sleep 2
         else
        echo "Syntaxe : $0 commit homebank 3.8 " &&
        exit 0
        fi
         ########## Upload fichier changes ##########
        #dput ubuntu $WORK/$2/*$2*$3*_source.changes &&
        #dput revu $WORK/$2/*$2*$3*_source.changes
        #dput getdeb $WORK/$2/*$2*$3*_source.changes
         dput ppa:thelinuxfr/ppa $WORK/$2/*$2*$3*_source.changes
        ;;

        search)
        if [ $# = 2 ]
         then
        echo "\033[1m###################################\\033[0m"
        echo "Recherche de $2 dans les dépôts Ubuntu"
        echo "\033[1m###################################\\033[0m"
         else
        echo "Syntaxe : $0 search homebank" &&
        exit 0
        fi
        dpkg-query -W $2 &&
        echo "" &&
        apt-cache search $2
         ;;

         depot)
        if [ $# = 2 ]
         then
        echo "\033[1m###################################\\033[0m"
        echo "Création du dépôt Ubuntu pour $2"
        echo "\033[1m###################################\\033[0m"
         else
        echo "Syntaxe : $0 depot homebank" &&
        exit 0
        fi
        cd $WORK/$DEPOT && sudo cp -rdf $2* /var/www/incoming..... &&
        sudo debarchiver -so
         ;;

        *)
        echo "Usage: $0 {create|build|commit|search|depot}" >&2
        ;;
esac

Utilisation

Mise en place des répertoires

Nom du paquet avec la version dans les sources Ubuntu, vers la nouvelle version avec le lien vers l’archive.

./devbuntu create devede 3.12c 3.14.0 http://www.rastersoft.com/descargas...

Construction du paquet

./devbuntu build devede 3.14.0

Commit du paquet

./devbuntu commit devede 3.14.0

[wpfilebase tag=file id=3 /]

Taggé sur :        

Laisser un commentaire