jeudi 30 juillet 2009

Creer un paquet debian pour un script

On nommerra le programme webtvorange.

creer un fichier "create_package.sh"

#!/bin/sh
INSTALL_DIR="/usr/share/webtvorange"

BIN_DIR="/usr/bin"
VERSION="2.0.1"

mkdir -p webtvorange/DEBIAN
cp control-install webtvorange/DEBIAN/control
cp postinst webtvorange/DEBIAN/postinst
cp postrm webtvorange/DEBIAN/postrm
# mkdir -p "webtvorange"$ICO_DIR
# cp pix/webtvorange.png "webtvorange"$ICO_DIR
#
# mkdir -p "webtvorange"$MAN_DIR
# cp doc/webtvorange "webtvorange"$MAN_DIR
#
mkdir -p -m a+rwx "webtvorange"$INSTALL_DIR
mkdir -p -m a+rwx "webtvorange"$INSTALL_DIR"/temp"
mkdir -p -m a+rwx "webtvorange"$INSTALL_DIR"/enregistrements"
mkdir -p -m a+rwx "webtvorange"$INSTALL_DIR"/chaines"
# mkdir -p "webtvorange"$INSTALL_DIR"/src"
# cp src/*.py "webtvorange"$INSTALL_DIR"/src/"

# mkdir -p "webtvorange"$INSTALL_DIR"/res"
# cp res/*.glade "webtvorange"$INSTALL_DIR"/res/"
#
# mkdir -p "webtvorange"$INSTALL_DIR"/pix"
# cp pix/*.png "webtvorange"$INSTALL_DIR"/pix/"
#
# mkdir -p "webtvorange"$INSTALL_DIR"/doc"
# cp doc/gpl.txt "webtvorange"$INSTALL_DIR"/doc/"
#
# cp doc/whatsnew.txt "webtvorange"$INSTALL_DIR"/doc/"
# mkdir -p "webtvorange"$APP_DIR
#
# cp WebTvorange "webtvorange"$APP_DIR

mkdir -p "webtvorange"$BIN_DIR
cp maj.sh "webtvorange"$INSTALL_DIR
cp WebTvorange "webtvorange"$BIN_DIR"/webtvorange"

# mkdir -p "webtvorange"$LOC_DIR
#
# cp -R locale/* "webtvorange"$LOC_DIR

dpkg-deb --build webtvorange webtvorange-$VERSION.deb

rm -rf webtvorange

creer un fichier postinst
#!/bin/bash
LAUNCHER="/usr/share/applications/webtv_orange.desktop"
touch $LAUNCHER
echo "[Desktop Entry]" > $LAUNCHER
echo "Name=Web Tv Orange" >> $LAUNCHER
echo "Name[fr]=WebTvOrange" >> $LAUNCHER
echo "Comment=Visualisez et enregistrer la télé par le net (Orange seulement)" >> $LAUNCHER
echo "TryExec=webtvorange" >> $LAUNCHER
echo "Exec=webtvorange" >> $LAUNCHER
echo "Icon=gtk-media-record" >> $LAUNCHER
echo "Terminal=false" >> $LAUNCHER
echo "Type=Application" >> $LAUNCHER
echo "Categories=AudioVideo;" >> $LAUNCHER
echo "MimeType=text/plain;" >> $LAUNCHER
echo "Web TV est bien installe."

creer un fichier postrm

#!/bin/bash
LAUNCHER="/usr/share/applications/webtv_orange.desktop"
rm $LAUNCHER;
rm -r /usr/share/webtvorange;
echo "web tv orange desinstalle" ;

Le programme et les fichier doivent être au meme endroit.

l'architecture d'un paquet est
"nomduqpaquet/DEBIAN/racinefictivedulecteur"
"nomduqpaquet/DEBIAN/postinst"
"nomduqpaquet/DEBIAN/postrm"
"nomduqpaquet/DEBIAN/control"

Le fichier control est l'identité du paquet et permet de gerer les dependances.
postinst est unscript lancé en fin d'installation du paquet
postrm est un script lancé en fin de desinstallation/
preinst et prerm c'est avant.

Aucun commentaire: