Je n'ai pas trouvé le deb de Jdownloader sur leur site, je suis tombé sur un fichier jd_unix_0_9.sh
par contre j'ai fait un script qui me permet de créer le fichier deb en respectant pratiquement tous les critères de lintian (il manque toujours le man, et je ne sais pas ce qu'il faut faire)
Ubuntu Software center ne trouve pas ma licence et mon copyright
Pour mon script, il faut au préalable avoir défini 3 paramètres
DEBEMAIL="
votre.nom@fournisseur.pays"
DEBFULLNAME="Votre NOM"
DEBURL="le.nom.de.votre.site"
puis exporter ces valeurs avec la commande suivante
export DEBEMAIL DEBFULLNAME DEBURL
bien évidemment ces 4 lignes peuvent être ajoutées à la fin du fichier .bashrc avec la commande
nano .bashrc
Vous pouvez créer un fichier nommé "contruiredeb.sh" et copier le script ci-dessous et le rendre exécutable.
Ensuite placez-vous dans le répertoire de vos projets java contenant /monprogramme/dist/lib (le jar est dans /monprogramme/dist)
et lancer le scipt avec "bash ~/construiredeb.sh"
#!/bin/sh
#Version: 1.0
#Créé par Jean LAN <jean.lan@cegetel.net> le 15/02/2014
# Ce script permet de créer l'arborescence d'un paquet debian
# et compiler le paquet sous forme d'un fichier .deb
echo "\033[0;37;40m
Ce script permet de créer un paquet .deb pour installer votre programme java
Le nom du paquet doit être en minuscule et le répertoire correspondant doit
être accessible directement depuis la position d'ou vous lancez ce script.
Normalement les fichiers à utiliser sont dans un sous-répertoire /dist et
contient un sous-répertoire /dist/lib
Vous trouverez le paquet .deb dans votre dossier personnel
Les fichiers nécessaires pour créer le paquet restent dans le
répertoire ~/pack. Vous pouvez les effacer si vous le souhaité.
"
echo "\033[0;37;41m NE LAISSER RIEN DE PRECIEUX DANS CE REPERTOIRE, IL VA ETRE ECRASE!\033[0m"
echo -n "Rentrer le nom du paquet que vous voulez créer: "
read pack
# Controle que le nom n'es pas vide sinon sortir
if [ "$pack" = "" ]; then
{
echo "Il faut rentrer un nom de paquet"
exit 1
}
fi
echo -n "Rentrez le numéro de version sous la forme OBLIGATOIRE x.x-x : "
read version
projet="$pack-$version"
echo "Votre projet portera le nom $projet"
# Effacer le projet précédent si il existe et créer l'arborescence du nouveau projet
if [ -d $HOME/pack ]; then
{
echo -n "\033[0;37;41mConfirmez l'effacement de tous les fichiers contenus dans le répertoire $HOME/pack en tapant y puis la touche RETURN \033[0m"
read reponse
if [ "$reponse" = "y" ]; then
sudo rm -rf ~/pack
else
exit 2
fi
}
fi
mkdir ~/pack
#cd ~/pack
mkdir ~/pack/DEBIAN
mkdir ~/pack/usr
#cd usr
mkdir ~/pack/usr/share
mkdir ~/pack/usr/bin
#cd share
mkdir ~/pack/usr/share/applications
mkdir ~/pack/usr/share/$pack
mkdir ~/pack/usr/share/doc
#cd doc
mkdir ~/pack/usr/share/doc/$pack
#cd ..
#cd $pack
mkdir ~/pack/usr/share/$pack/debian
# Création du fichier /DEBIAN/control
echo "Package: $pack" > ~/pack/DEBIAN/control
echo "Source: $pack" >> ~/pack/DEBIAN/control
echo "Version: $version" >> ~/pack/DEBIAN/control
echo "Section: misc" >> ~/pack/DEBIAN/control
echo "Priority: optional" >> ~/pack/DEBIAN/control
echo "Architecture: amd64" >> ~/pack/DEBIAN/control
echo "Depends: bash (>= 1.0.0)" >> ~/pack/DEBIAN/control
echo "Maintainer: $DEBFULLNAME <$DEBEMAIL"\> >> ~/pack/DEBIAN/control
echo "Homepage: http://jean.lan.cegetel.net" >> ~/pack/DEBIAN/control
echo "Installed-size: 500" >> ~/pack/DEBIAN/control
echo "Description: Programme $pack" >> ~/pack/DEBIAN/control
echo " Ce paquet contient les fichiers nécessaires pour l'installation" >> ~/pack/DEBIAN/control
echo " de $pack" >> ~/pack/DEBIAN/control
# Changement de propriétaire et de mode
chmod 0644 ~/pack/DEBIAN/control
sudo chown root:root ~/pack/DEBIAN/control
echo "Le fichier DEBIAN/control a été généré"
# création du fichier binaire de lancement
echo "#!/bin/sh" > ~/pack/usr/bin/$pack
echo "JAVA_OPTIONS=\"-Xmx512m\"" >> ~/pack/usr/bin/$pack
echo "echo \"image demandée \$*\"" >> ~/pack/usr/bin/$pack
echo "exec java \${JAVA_OPTIONS} -jar /usr/share/$pack/$pack.jar \$*" >> ~/pack/usr/bin/$pack
chmod 0644 ~/pack/usr/bin/$pack
chmod +x ~/pack/usr/bin/$pack
sudo chown root:root ~/pack/usr/bin/$pack
echo "Le fichier usr/bin/$pack a été généré"
# Création du fichier .desktop
echo "[Desktop Entry]" > ~/pack/usr/share/applications/$pack.desktop
echo "Version= $version" >> ~/pack/usr/share/applications/$pack.desktop
echo "Type=Application" >>~/pack/usr/share/applications/$pack.desktop
echo "Terminal=false" >>~/pack/usr/share/applications/$pack.desktop
echo "Categories=Graphics;2DGraphics;" >>~/pack/usr/share/applications/$pack.desktop
echo "Exec=$pack" >>~/pack/usr/share/applications/$pack.desktop
echo "Name=$pack" >>~/pack/usr/share/applications/$pack.desktop
echo "Comment=Programme écrit en java" >>~/pack/usr/share/applications/$pack.desktop
echo "Icon=/usr/share/$pack/$pack.ico" >>~/pack/usr/share/applications/$pack.desktop
echo "GenericName[fr_FR.UTF-8]=Programme pour cadrer ses photos" >>~/pack/usr/share/applications/$pack.desktop
echo "Name[fr_FR]=$pack" >>~/pack/usr/share/applications/$pack.desktop
echo "MimeType=image/jpeg" >>~/pack/usr/share/applications/$pack.desktop
chmod 0644 ~/pack/usr/share/applications/$pack.desktop
sudo chown root:root ~/pack/usr/share/applications/$pack.desktop
echo "Le fichier usr/share/applications/$pack.desktop a été généré"
# Création du fichier /debian/changelog
echo "$pack ($version) precise; urgency=low" > ~/pack/usr/share/$pack/debian/changelog
echo "" >> ~/pack/usr/share/$pack/debian/changelog
echo " * Initial release. Closes: #12345" >> ~/pack/usr/share/$pack/debian/changelog
echo " * Création du paquet pour installation" >> ~/pack/usr/share/$pack/debian/changelog
echo " " >> ~/pack/usr/share/$pack/debian/changelog
now=$(date -R)
echo " -- $DEBFULLNAME <$DEBEMAIL> $now" >> ~/pack/usr/share/$pack/debian/changelog
echo " " >> ~/pack/usr/share/$pack/debian/changelog
chmod 0644 ~/pack/usr/share/$pack/debian/changelog
sudo chown root:root ~/pack/usr/share/$pack/debian/changelog
echo "Le fichier /debian/changelog a été généré"
# Copie du fichier changelog dans le répertoire doc et compression
sudo cp ~/pack/usr/share/$pack/debian/changelog ~/pack/usr/share/doc/$pack/changelog.Debian
sudo gzip -9 ~/pack/usr/share/doc/$pack/changelog.Debian
# Création du fichier /doc/copyright
echo "Format: http://dep.debian.net/deps/dep5" >~/pack/usr/share/doc/$pack/copyright
echo "Upstream-Name: $pack" >>~/pack/usr/share/doc/$pack/copyright
echo "Source: <$DEBURL>" >>~/pack/usr/share/doc/$pack/copyright
echo "" >>~/pack/usr/share/doc/$pack/copyright
echo "Files: *" >>~/pack/usr/share/doc/$pack/copyright
echo "Copyright: <2011-2014> <$DEBEMAIL>" >>~/pack/usr/share/doc/$pack/copyright
echo "" >>~/pack/usr/share/doc/$pack/copyright
echo "License: GPL-2+" >>~/pack/usr/share/doc/$pack/copyright
echo " This package is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
.
This package is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>
.
On Debian systems, the complete text of the GNU General
Public License version 2 can be found in "/usr/share/common-licenses/GPL-2"." >>~/pack/usr/share/doc/$pack/copyright
chmod 0644 ~/pack/usr/share/doc/$pack/copyright
sudo chown root:root ~/pack/usr/share/doc/$pack/copyright
echo "Le fichier /doc/copyright a été généré"
# Copie des fichiers java
cp -rf $pack/dist/* ~/pack/usr/share/$pack/
# Copie du fichier contenant l'icone du programme
# il doit être dans le répertoire des sources et porter le même nom que le paquet
cp $pack/src/$pack/$pack.ico ~/pack/usr/share/$pack/
chmod 0644 ~/pack/usr/share/$pack/*.*
chmod 0644 ~/pack/usr/share/$pack/lib/*.*
chmod 0755 ~/pack/usr/share/$pack/lib
# Changement de propriétaire des répertoires
chmod 0755 ~/pack/usr
sudo chown root:root ~/pack/usr
chmod 0755 ~/pack/usr/bin
sudo chown root:root ~/pack/usr/bin
chmod 0755 ~/pack/usr/share
sudo chown root:root ~/pack/usr/share
chmod 0755 ~/pack/usr/share/$pack
sudo chown root:root ~/pack/usr/share/$pack
chmod 0755 ~/pack/usr/share/$pack/debian
sudo chown root:root ~/pack/usr/share/$pack/debian
chmod 0755 ~/pack/usr/share/applications
sudo chown root:root ~/pack/usr/share/applications
chmod 0755 ~/pack/usr/share/doc
sudo chown root:root ~/pack/usr/share/doc
chmod 0755 ~/pack/usr/share/doc/$pack
sudo chown root:root ~/pack/usr/share/doc/$pack
sudo chown root:root ~/pack/usr/share/$pack/*
sudo chown root:root ~/pack/usr/share/$pack/lib
sudo chown root:root ~/pack/usr/share/$pack/lib/*
echo "Fin de génération des fichiers"
# Création de l'archive
dpkg -b ~/pack/ ~/$pack-$version.x86.deb
echo "\033[0;33;40mPatientez - Vérification de la cohérance du paquet avec lintian\033[0m"
lintian ~/$pack-$version.x86.deb
echo "\033[0;33;40mSi les lignes ci-dessus indiquent des avertissement (W: warning) ou des
erreurs (E: error) essayez de les corriger.
Le paquet formé est une base de travail, vous pouvez compléter les fichiers
générés automatiquement et relancer une compilation avec
dpkg -b ~/nomdupaquet/ ~/nomdupaquet-version.processeur.deb \033[0m"
exit 0