How to setup a FPC and Lazarus Ubuntu repository/fr

From Free Pascal wiki
Jump to navigationJump to search

English (en) français (fr) 日本語 (ja) português (pt) русский (ru) slovenčina (sk)

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 clef gpg. 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 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éoertoire 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:
 ./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 :
 ./create_fpc_deb.sh fpc-src /path/to/the/sources/of/fpc/
  • Construisez le fichier deb de lazarus . Vous pouvez soit construire un lazarus normal:
 ./create_lazarus_deb.sh append-revision

soit un lazarus en utilisant gtk2:

 ./create_lazarus_deb.sh gtk2 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 .

Clef GPG

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

Créer une clef GPG

Vous pouvez utiliser des outils comme seahorse ou thunderbird pour créer la clef gpg.

  • Installez seahorse
  • Démarrez seahorse
  • Clef > Creer une nouvelle clef
  • Une fenêtre apparaît demandant le type . Choisir Clef PGP.
  • Donner le nom complet et une adresse email et cliquez sur Créer.
  • Le passphrase est nécessaire pour chiffrer les fichiers créés. De cette façon personne peut employer les clefs exepté 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 clefs prendra quelques minutes

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

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

  • Démarrez seahorse
  • Edit -> Preferences -> Key servers -> Publish key to: choisissez un serveur de clef. Par exemple : hkp://pgp.mit.edu:11371. Fermez la boite de dialogue.
  • Remote -> Sync and publish key -> Sync.

Se rappeler l'identification de la clef

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

 gpg --list-keys

Mise à jour le dépôt des fichiers

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).

Adding the repository

The following steps must be done on each computer, you want to use your repository.

Add the key

Download the key from the public key server:

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

The 3A5B1204 should be replaced with your key id. Check the output, that you got the right key.

Add it to the apt system:

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

You can see the list of apt keys with:

 sudo apt-key list

Add the repository

You can use synaptic for this or edit the /etc/apt/sources.list directly. Add the line:

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

Replace the http path with your own.

Install Lazarus

For example:

 sudo apt-get update
 sudo apt-get install lazarus