Difference between revisions of "How to setup a FPC and Lazarus Ubuntu repository/fr"

From Free Pascal wiki
Jump to navigationJump to search
Line 17: Line 17:
 
   mkdir -p /var/www/lazarus/dists/lazarus-testing/universe/binary-i386
 
   mkdir -p /var/www/lazarus/dists/lazarus-testing/universe/binary-i386
  
== The debs ==
+
== Les fichiers deb ==
  
Put the fpc, fpc-src and lazarus deb files into it.
+
Mettre les fichiers deb fpc, fpc-src et lazarus dans ce répertoire.
  
=== Creating the deb files yourself ===
+
=== Creez les fichiers deb vous-même ===
  
You can create the debs with the scripts in tools/install/ of the lazarus sources.
+
Vous pouvez créer les fichiers deb avec les scripts du répertoire tools/install/ des sources de lazarus.
  
==== Install development packages ====
+
==== Installer les paquets de développement  ====
  
* install development packages:
+
* installez les paquets de développement :
 
   sudo apt-get install libgtk2.0-dev libgtk1.2-dev libgpmg1-dev fakeroot libncurses5-dev
 
   sudo apt-get install libgtk2.0-dev libgtk1.2-dev libgpmg1-dev fakeroot libncurses5-dev
* Install the latest stable FPC. This is needed to build the new FPC and Lazarus:
+
* Installez le dernier FPC stable. C'est nécessaire pour construire les nouveaux FPC et Lazarus :
   Either the deb files from the official site or the tar.gz.
+
   Soit les fichiers deb du site officiel soit le fichier tar.gz.
* Download the FPC sources. To get the current development version you can use the command below. To get a more stable version, see [[http://wiki.lazarus.freepascal.org/Installing_Lazarus#FPC_Sources]]:
+
* 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 [[http://wiki.lazarus.freepascal.org/Installing_Lazarus#FPC_Sources]]:
 
   svn co http://svn.freepascal.org/svn/fpc/trunk fpc
 
   svn co http://svn.freepascal.org/svn/fpc/trunk fpc
* Download the lazarus sources:
+
* Télécharger les sources de Lazarus :
 
   svn co http://svn.freepascal.org/svn/lazarus/trunk lazarus
 
   svn co http://svn.freepascal.org/svn/lazarus/trunk lazarus
  
==== Build new deb ====
+
==== Construire le nouveau fichier deb ====
  
* go into the lazarus install script directory:
+
* Allez dans le réoertoire du script d'installation de Lazarus:
 
   cd lazarus/tools/install
 
   cd lazarus/tools/install
* build the fpc deb. The following script will build a single fpc deb using the date as version. As parameter you must specify the path of the FPC sources you downloaded above:
+
* 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/
 
   ./create_fpc_deb.sh fpc /path/to/the/sources/of/fpc/
* install the new fpc deb. This is needed to build the lazarus deb, which depends on the new fpc deb. Don't forget to uninstall first your old 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
 
   sudo dpkg -i fpc_2.3.1-070726_i386.deb
* build the fpc-src deb. This works pretty much the same as above:
+
* 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/
 
   ./create_fpc_deb.sh fpc-src /path/to/the/sources/of/fpc/
* build the lazarus deb. You can either build a normal lazarus:
+
* Construisez le fichier deb de lazarus . Vous pouvez soit construire un lazarus normal:
 
   ./create_lazarus_deb.sh append-revision
 
   ./create_lazarus_deb.sh append-revision
or a lazarus using gtk2:
+
soit un lazarus en utilisant gtk2:
 
   ./create_lazarus_deb.sh gtk2 append-revision
 
   ./create_lazarus_deb.sh gtk2 append-revision
  
==== Replace the deb files in the repository ====
+
==== Remplacer les fichier deb dans le dépôt ====
  
* Now you have 3 deb files. Copy them to your repository:
+
* 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 \
 
   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/
 
     /var/www/lazarus/dists/lazarus-testing/universe/binary-i386/
* Don't forget to remove the old ones.
+
* Ne pas oublier d'enlever les anciens deb .
  
=== GPG Key ===
+
=== Clef GPG ===
  
You need to sign the debs with a GPG key, so that the target systems can be sure, that no evil-doer replaced the files.
+
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.
  
==== Creating a GPG key ====
+
==== Créer une clef GPG ====
  
You can use tools like seahorse or thunderbird to create the gpg key.
+
Vous pouvez utiliser des outils comme  seahorse ou thunderbird pour créer la clef gpg.
  
* Install seahorse
+
* Installez seahorse
* start seahorse
+
* Démarrez seahorse
* Key > Create new key
+
* Clef > Creer une nouvelle clef
* A window popup up asking for the type. Choose ''PGP Key''.
+
* Une fenêtre apparaît demandant le type . Choisir ''Clef PGP''.
* Give a full name and an email adress and click ''Create''.
+
* Donner le nom complet et une adresse email et cliquez sur ''Créer''.
* The passphrase is needed to encrypt the created files. This way no one can use the keys but you, even if they manage to steal your files. If you think, your files will never stolen or read by others you can leave them empty.
+
* 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.
* Creating the keys will take some minutes
+
* Créer les clefs prendra quelques minutes  
  
 
==== Upload the key to a public key server ====
 
==== Upload the key to a public key server ====

Revision as of 23:21, 26 July 2007

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

Upload the key to a public key server

In order to share the key you can upload the key to a public key server.

  • start seahorse
  • Edit > Preferences > Key servers > Publish key to: choose a key server. For example: hkp://pgp.mit.edu:11371. Close the dialog.
  • Remote > Sync and publish key > Sync.

Remember the key ID

You need the key ID later. The key ID is shown in seahorse. But you can see it also via:

 gpg --list-keys

Updating repository files

Put the following script into /var/www/lazarus, edit it for your needs and run it:

#!/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.

This will create index files Packages, Packages.bz2 and Packages.gz. And it will create the Release file containing the checksums of the deb packages and sign it (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