How to setup a FPC and Lazarus Ubuntu repository/fr

From Free Pascal wiki

English (en) français (fr) 日本語 (ja) português (pt) русский (ru) slovenčina (sk) 中文(中国大陆)‎ (zh_CN)

Qu'est-ce qu'un dépôt ?

Un dépôt ubuntu est un répertoire. Il peut être stocké sur un disque local, ou sur un serveur web ou sur un serveur ftp. Pour l'utiliser, vous ajoutez son chemin dans votre fichier /etc/apt/sources.list et paramétrez une clé PGP. Alors vous pouvez simplement installer lazarus avec votre gestionnaire de paquet(GUI) favori (par exemple synaptic) et fpc, fpc-src et lazarus seront téléchargés, installés et mis à jour automatiquement.

Qui a besoin de lui ?

Les administrateurs qui veulent installer FPC+Lazarus sur un groupement d'ordinateurs. Comme à l'école. Ou les débutants qui veulent juste le tester rapidement.

La structure du répertoire

Supposons que vous voulez créez un dépôt disponible via le serveur web apache. Alors vous devez paramétrer un répertoire comme /var/www/lazarus qui est lisible publiquement et qui peut être écrit seulement par le root.

Créer le sous-répertoire suivant:

 mkdir -p /var/www/lazarus/dists/lazarus-testing/universe/binary-i386

Les fichiers deb

Mettre les fichiers deb fpc, fpc-src et lazarus dans ce répertoire.

Creez les fichiers deb vous-même

Vous pouvez créer les fichiers deb avec les scripts du répertoire tools/install/ des sources de lazarus.

Installer les paquets de développement

  • installez les paquets de développement :
 sudo apt-get install libgtk2.0-dev libgtk1.2-dev libgdk-pixbuf-dev libgpmg1-dev fakeroot libncurses5-dev
  • Installez le dernier FPC stable. C'est nécessaire pour construire les nouveaux FPC et Lazarus :
 Soit les fichiers deb du site officiel soit le fichier tar.gz.
  • Télécharger les sources FPC. Pour obtenir la version de développement actuelle vous pouvez employer la commande ci-dessous . Pour obtenir une version plus stable , voir [[1]]:
 svn co http://svn.freepascal.org/svn/fpc/trunk fpc
  • Télécharger les sources de Lazarus :
 svn co http://svn.freepascal.org/svn/lazarus/trunk lazarus

Construire le nouveau fichier deb

  • Allez dans le répertoire du script d'installation de Lazarus:
 cd lazarus/tools/install
  • Construisez le fichier deb de fpc. Le script suivant construira un seul fichier deb de fpc utilisant la date comme version. Comme paramètre, vous devez indiquer le chemin des sources de FPC que vous avez téléchargé ci-dessus:
 sudo ./create_fpc_deb.sh fpc /path/to/the/sources/of/fpc/
  • Installez le nouveau fichier deb de fpc. C'est nécessaire pour construire le fichier deb de lazarus, qui dépend du nouveau fichier deb de fpc. Ne pas oublier de désinstaller en premier votre vieil FPC.
 sudo dpkg -i fpc_2.3.1-070726_i386.deb
  • construisez le fichier deb de fpc-src. Ceci fonctionne plus ou moins de la même façon que ci-dessus :
 sudo ./create_fpc_deb.sh fpc-src /path/to/the/sources/of/fpc/
  • Construisez le fichier deb de lazarus . Vous pouvez soit construire un lazarus en utilisant gtk2:
 sudo ./create_lazarus_deb.sh append-revision

soit un lazarus en utilisant gtk1:

 sudo ./create_lazarus_deb.sh gtk1 append-revision

Remplacer les fichier deb dans le dépôt

  • Maintenant vous avez 3 fichiers deb . Copiez les vers votre dépôt:
 cp fpc_2.3.1-070726_i386.deb fpc-src_2.3.1-070726_i386.deb lazarus_0.9.23.11636-0_i386.deb \
   /var/www/lazarus/dists/lazarus-testing/universe/binary-i386/
  • Ne pas oublier d'enlever les anciens deb .

Clé PGP

Vous devez signer les fichiers deb avec une clé PGP, de sorte que les systèmes cible puissent être sûrs et qu'aucun être mal-faisant ne remplace les fichiers.

Créer une clé PGP

Seahorse fenêtre principale Creer une nouvelle clé Nouvelle Clé PGP Phrase de Passe Génération Clé
Seahorse101.png
CreerNouvelleClé.png
NouvelleCléPGP.png
PhrasePasse.png
GénérationClé.png

Vous pouvez utiliser des outils comme seahorse ou thunderbird pour créer la clé PGP.

  • Installez seahorse
  • Démarrez seahorse
  • Clé -> Creer une nouvelle clé
  • Une fenêtre apparaît demandant le type . Choisissez Clé PGP.
  • Donnez le nom complet et une adresse email et cliquez sur Créer.
  • La phrase de passe est nécessaire pour chiffrer les fichiers créés. De cette façon personne peut employer les clés excepté vous, même s'ils parviennent à voler vos fichiers. Si vous pensez que vos fichiers ne seront jamais volés ou lus par d'autres vous pouvez les laisser vides.
  • Créer les clés prendra quelques minutes

Télécharger la clé vers un serveur de clé public

Seahorse fenêtre principale: le résultat Publier les Clés sur un serveur public Synchroniser
Résultat.png
Préférences.png
SynchroniserClés.png

Afin de partager la clé vous pouvez télécharger la clé vers un serveur de clé public.

  • Démarrez seahorse
  • Édition -> Préférences -> serveur de clés -> Publier les clés sur: choisissez un serveur de clé. Par exemple : hkp://pgp.mit.edu:11371. Fermez la boite de dialogue.
  • Distant -> Synchroniser et publier des clés -> Synchroniser.

Se rappeler l'identification de la clé

Vous aurez besoin de l'identification de la clé plus tard. L'identification de la clé est montrée dans seahorse. Mais vous pouvez la voir également par l'intermédiaire de :

 gpg --list-keys

Mise à jour des fichiers du dépôt

Mettre le script suivant dans le répertoire /var/www/lazarus, éditer le pour vos besoins et exécutez le :

#!/usr/bin/env bash

GPGHome=/home/gaertner/.gnupg/
MainDir=dists/lazarus-testing
Dir=$MainDir/universe/binary-i386

# create index
apt-ftparchive packages $Dir > $Dir/Packages
cat $Dir/Packages | gzip -9c > $Dir/Packages.gz
cat $Dir/Packages | bzip2 > $Dir/Packages.bz2

# create Release file
rm -f $MainDir/Release*
Date=`date`
echo "Origin: Lazarus" >> $MainDir/Release
echo "Label: Lazarus" >> $MainDir/Release
echo "Suite: unstable" >> $MainDir/Release
echo "Codename: lazarus-testing" >> $MainDir/Release
echo "Version: 1.0" >> $MainDir/Release
echo "Date: $Date" >> $MainDir/Release
echo "Architectures: i386" >> $MainDir/Release
echo "Components: universe" >> $MainDir/Release
echo "Description: Lazarus testing 1.0" >> $MainDir/Release

apt-ftparchive release $MainDir >> $MainDir/Release

# sign Release file
gpg --sign --homedir=$GPGHome -ba -o $MainDir/Release.gpg $MainDir/Release

# end.

Cela va créer les fichiers index Packages, Packages.bz2 et Packages.gz. Et cela créera le fichier Release contenant les checksums des paquets deb et sa signature (Release.gpg).

Ajouter le dépôt sur un client

Les étapes suivantes doivent être fait sur chaque ordinateur si vous voulez utiliser votre dépôt .

Ajouter la clé

Téléchargez la clé à partir du serveur de clé public :

 gpg --keyserver hkp://pgp.mit.edu:11371 --recv-keys 3A5B1204

3A5B1204 devrait être remplacé avec votre identification de clé . Vérifiez à la sortie que vous avez la bonne clé.

Ajoutez-la au système apt :

 gpg --export 3A5B1204 | sudo apt-key add -

Vous pouvez voir la liste des clés apt avec:

 sudo apt-key list

Ajouter le dépôt

Vous pouvez employer synaptic pour cela ou éditer le fichier /etc/apt/sources.list directement. Ajouter la ligne :

 deb http://progprak.scale.uni-koeln.de/lazarus/ lazarus-testing universe

Remplacer le chemin http par le votre.

Installer Lazarus

Par exemple :

 sudo apt-get update
 sudo apt-get install lazarus