Comment créer un paquet DEBIAN

Bonjour,
je pense que pour créer un paquet debian, il faut que je transforme mon script en binaire, mais ceci je ne sais pas le faire. Est-ce que quelqu’un peu m’aider. Le script est téléchargeable ici http://www.constructeur-exo.com/gkri.tar.gz, toute aide est la bienvenue. Ce script a pour but d’aider les enseignants à économiser le papier des exams et aux étudiants de connaitre leur niveau ou voir d’être utilisé en auto-formation.
Cordialement

[code]#!/bin/bash

Version 00/00/01

#logiciel gkri créé et imaginé par Andre pierre jocelyn
#contact mail : temps.jo@gmail.com
#gkri est sous licence creative common by

#J’efface l’ancien gkri

ancien=~/gkri
if [ -d “$ancien” ]; then

find ~/gkri | xargs rm -r
fi

#je cré mes fonctions

abadie() {
cat>index.php <<‘EOF’

<?php

if ($commentaire!="")
{

$ouvre=fopen(“proposition.txt”,“w+”);
fwrite($ouvre,$commentaire);
fclose($ouvre);
}

?>

<? if (!empty($commentaire)) { $commande=" if diff -iabB proposition.txt reponse.txt >/dev/null ; then echo juste else echo encore un petit effort fi"; $result=shell_exec($commande); echo $result; } else { echo ""; } ?>

EOF

}

#Je cree le dossier gkri
mkdir -p ~/gkri

#je me place dans gkri
cd ~/gkri

#Je cree le repertoire data
mkdir data
#je me place dans data
cd data

#Je cree le fichier aa.html
fichier1="


" echo $fichier1 >> aa.html

echo “--------------------------------------------------------
Il faut entrer ici le texte de début de page.
--------------------------------------------------------”

echo -n "texte : "
read qui
echo $qui | tee -a aa.html

echo "

" | tee -a aa.html

#Je cree le repertoire comp
mkdir comp
#je me place dans comp
cd comp

#Je cree le fichier index.php en appelant la fonction abadie

abadie

#Je cree le fichier reponse.txt
fichier8="
1
"
echo $fichier8 >> reponse.txt

#Je cree le fichier proposition.txt
fichier9="
1
"
echo $fichier9 >> proposition.txt

#Je sorts de comp et de data
cd …
cd …

#Je cree l’index html
titre=“Exercice en ligne"
fichier=”

Exercice en ligne " echo $fichier >> index.html

#Je continue de remplir l’index avec tee

echo "

<BODY lang=fr-FR

xml:lang=“fr-FR”>

Exercice en ligne


" | tee -a index.html

PS4="> selectionnez le type d’exercice : " # definie le script qui va etre lancé
echo " – choix du type de document – " # j’affiche
select choix in “page html” “image jpeg” “fichier son mp3” “fichier vidéo” “abandon (a|A)”; do
case $REPLY in

  1. echo “Voici votre $choix.”
#   page.sh 

#début pour les pages html
echo “----------------------------------------
Il faut entrer ici le nombre de page html.
-----------------------------------------------”

echo -n "en chiffre : "
read a

   for i in `seq 1 $a`;
   do
   #je lance le navigateur pour aller chercher les fichiers video

path=zenity --file-selection --title="on choisit le fichier ici" --width=600 || exit
#on copie le fichier dans le dossier gkri et on l’appelle le numero.html
cp $path ~/gkri/$i.html

on écrit “OK” dans le terminal

echo "fichier 1 OK"
cd data

cp -R comp $i
cd $i
rm reponse.txt
echo “--------------------------------------------------------
Il faut entrer ici le texte attendu en réponse au fichier html.
--------------------------------------------------------”

echo -n "texte : "
read val1
echo $val1 >> reponse.txt
cd …
cd …
echo "
__________________________________________________________________________________


" | tee -a index.html
   done

#fin pour les pages html
;;
2) echo "$choix "

image.sh

#début pour les images
echo “---------------------------------------------------
Il faut entrer ici le nombre de fichiers image jpeg.
----------------------------------------------------------”

echo -n "en chiffre : "
read a

   for i in `seq 1 $a`;
   do
   #je lance le navigateur pour aller chercher les fichiers video

path=zenity --file-selection --title="on choisit le fichier ici" --width=600 || exit
#on copie le fichier dans le dossier gkri et on l’appelle le numero.avi
cp $path ~/gkri/$i.jpeg

on écrit “OK” dans le terminal

echo "fichier 1 OK"
cd data

cp -R comp $i
cd $i
rm reponse.txt
echo “-------------------------------------------------------------
Il faut entrer ici le texte attendu en réponse au fichier image.
-------------------------------------------------------------”

echo -n "texte : "
read val1
echo $val1 >> reponse.txt
cd …
cd …
echo "
__________________________________________________________________________________


<object data=“data/$i/index.php” width=“500” height=“200”

" | tee -a index.html
   done

#fin pour les images

          ;;

#début pour les fichiers son mp3

  1. echo " $choix ."

echo “-------------------------------------
Il faut entrer ici le nombre de fichiers audio.
-----------------------------------------”

echo -n "en chiffre : "
read a

   for i in `seq 1 $a`;
   do
   #je lance le navigateur pour aller chercher les fichiers audio

path=zenity --file-selection --title="on choisit le fichier ici" --width=600 || exit
#on copie le fichier dans le dossier gkri et on l’appelle le numero.mp3
cp $path ~/gkri/$i.mp3

on écrit “OK” dans le terminal

echo "fichier 1 OK"
cd data

cp -R comp $i
cd $i
rm reponse.txt
echo “-------------------------------------
Il faut entrer ici le texte attendu en réponse au fichier audio.
-------------------------------------”

echo -n "texte : "
read val1
echo $val1 >> reponse.txt
cd …
cd …
echo "
__________________________________________________________________________________


" | tee -a index.html
   done

;;

#fin pour les fichiers son mp3

  1. echo " $choix ."

video.sh

#début fichiers vidéo

echo “----------------------------------------
Il faut entrer ici le nombre de fichiers video.
-----------------------------------------------”

echo -n "en chiffre : "
read a

   for i in `seq 1 $a`;
   do
   #je lance le navigateur pour aller chercher les fichiers video

path=zenity --file-selection --title="on choisit le fichier ici" --width=600 || exit
#on copie le fichier dans le dossier gkri et on l’appelle le numero.avi
cp $path ~/gkri/$i.avi

on écrit “OK” dans le terminal

echo "fichier 1 OK"
cd data

cp -R comp $i
cd $i
rm reponse.txt
echo “--------------------------------------------------
Il faut entrer ici le texte attendu en réponse au fichier video.
--------------------------------------------------”

echo -n "texte : "
read val1
echo $val1 >> reponse.txt
cd …
cd …
echo "
__________________________________________________________________________________


" | tee -a index.html
   done

#fin fichiers vidéo

;;
5|A*|a*) echo “finir la création de l’exercice” # on avec 4, ou en tapant un mot commancant par A ou a
break;;
*) echo “Je n’ai pas compris votre choix. Veuillez répéter svp.”;;
esac
done

#je mets les tags de fin de la page html

echo "

" | tee -a index.html

echo “--------------------------------------------------
Vous avez fini de créer l’exercice
vous pouvez le récupérer dans le répertoire gkri
se trouvant sous votre nom d’utilisateur.
--------------------------------------------------”

exit 0;

[/code]

Salut,

Critique constructive, j’espère.

1 - Ne pas laisser les paquets *~
2 - Ne pas oublier les retours charriots dans le lisez moi, le texte au kilomètre n’est pas facile à lire.
3 - Double cliquez : On se croirait sous Windows. Ce n’est pas la manière normale de lancer un script shell :slightly_smiling:

Pour répondre à ta question, tu as le tutoriel de fran.b ici, qui est très accessible aux débutants :
isalo.org/wiki.debian-fr/ind … reunpaquet

Et tu as plus complet ici, la doc officielle :
debian.org/doc/maint-guide/ch-start.fr.html

Merci pour vos réponses.
Je ne comprends pas le 1 "Ne pas laisser les paquets *~ "
est-ce que cela a un rapport avec le chemin dans le script qui permet de créer le répertoire gkri ?
Avant de poster cela fait plusieurs jours que je regarde, et j’ai déja fréquenté la doc officielle mais pas au bon endroit, merci pour les liens
Cordialement

Re,

[quote=“temps”]Merci pour vos réponses.
Je ne comprends pas le 1 "Ne pas laisser les paquets *~ "
est-ce que cela a un rapport avec le chemin dans le script qui permet de créer le répertoire gkri ?
Avant de poster cela fait plusieurs jours que je regarde, et j’ai déja fréquenté la doc officielle mais pas au bon endroit, merci pour les liens
Cordialement[/quote]

Si laisser derrière toi les paquets précédents la version 0.01 était ton but, alors tu as bien fait de laisser les versions~ :laughing:

Tu as bien pris le temps de te relire et d’éviter les fautes, alors pourquoi laisser les brouillons ?

Ne pas laisser les fichiers se terminant par ~ (fichiers de backup). Que doit faire ton paquet à l’installation, il doit éxécuter le script, ou bien il doit installer le script dans /usr/local/bin (par exemple)?

Ok j’ai compris, je n’avais pas vu, c’est une version d’ubuntu aux réactions étranges qui m’a joué quelques petits tours, il va falloir qu’un de ces jours je mettes de l’ordre sur cette partition le bash ne fonctionne même plus, je suis obligé d’utiliser d’autres P.C. pour tester.
Pour répondre à la question, je voudrais que le script reste en fixe, de manière à pouvoir créer des examens ou des exercices d’auto-formation à la demande de l’utilisateur.
Cordialement