Nouvelles hebdomadaires Debian - Courriel

Date : Dim. 10 jan. 1999 13 h 31 ' 09 " -0500
De : Ben Collins <bmc@visi.net>
À : debian-devel@lists.debian.org
Cc : debian-dpkg@lists.debian.org
Sujet : Implantation des dépendances de source (Source-Depends)
X-Mailer: Mutt 0.95i
X-Mailing-List: <debian-devel@lists.debian.org> archive/latest/24697

Voici un petit correctif à dpkg-source et controllib.pl pour ajouter un
champ Source-Depends à la section générale du fichier control. Des gens
l'ont demandé, alors le voici, si quelqu'un veut bien écrire une charte
d'utilisation.

À mon humble avis, il ne devrait se trouver dans le champ Source-Depends
aucun des paquets de base, seul les paquets de développement non standards
et des paquets binaires particuliers (c'est-à-dire sgml, tetex, nasm). Il
n'y a pas non plus de gestion des versions des dépendances de source car
je ne pense pas que se soit nécessaire. Vous pouvez penser le contraire.

Tout ce qu'il fait est d'inclure le champ Source-Depends dans le fichier
.dsc. Celui-ci peut ensuite être utilisé par apt ou dbuild et buildd pour
vérifier que tous les paquets nécessaires à la construction sont installés.
J'ai aussi fait vérifier la liste à « dpkg-source -x » pour s'assurer que
tout est installé, mais il ne fournit que des avertissements.

Le truc que j'utilise pour vérifier si un paquet est installé est « dpkg
-l $buildpackage ». Il y a sans doute un meilleur moyen, aussi n'hésitez
pas à corriger cela. Je n'ai pas non plus fait de vérification sur le
contenu du champ (manque de « , » et autres).

La seule modification à controllib.pl est l'ajout du champ Source-Depends
à la liste des champs qui ont besoin d'une deuxième lettre capitale.

Je vous laisse voir s'il correspond ou non à vos besoins et à Ian s'il
veut ou pas le faire entrer dans le source de dpkg.

--
-----    -- - -------- --------- ----  -------  -----  - - ---   --------
Ben Collins <b.m.collins@larc.nasa.gov>            Debian GNU/Linux
UnixGroup Admin - Jordan Systems Inc.                 bcollins@debian.org
------ -- ----- - - -------   ------- ----- Le choix de la génération GNU

--- dpkg-1.4.1/debian/changelog
+++ dpkg-1.4.1.1/debian/changelog
@@ -1,3 +1,9 @@
+dpkg (1.4.1.1) unstable; urgency=low
+
+  * Modified dpkg-source to enable using Source-Depends
+
+ -- Ben Collins <bcollins@debian.org>  Sun, 10 Jan 1999 11:36:15 -0500
+
 dpkg (1.4.1) unstable; urgency=low

   * Maintainer release by IWJ.
--- dpkg-1.4.1/scripts/controllib.pl
+++ dpkg-1.4.1.1/scripts/controllib.pl
@@ -1,7 +1,8 @@

 $parsechangelog= 'dpkg-parsechangelog';

-grep($capit{lc $_}=$_, qw(Pre-Depends Standards-Version Installed-Size));
+grep($capit{lc $_}=$_, qw(Pre-Depends Standards-Version Installed-Size
+     Source-Depends));

 $substvar{'Format'}= 1.5;
 $substvar{'Newline'}= "\n";
--- dpkg-1.4.1/scripts/dpkg-source.pl
+++ dpkg-1.4.1.1/scripts/dpkg-source.pl
@@ -1,7 +1,7 @@

 my $dpkglibdir = ".";
-my $version = "1.3.0"; # This line modified by Makefile
+my $version = "1.3.1"; # This line modified by Makefile

 my @filesinarchive;
 my %dirincluded;
@@ -51,7 +51,8 @@

 $i = 100;
 grep ($fieldimps {$_} = $i--,
-      qw (Source Version Binary Maintainer Architecture Standards-Version));
+      qw (Source Version Binary Maintainer Architecture Standards-Version
+	  Source-Depends));

 while (@ARGV && $ARGV[0] =~ m/^-/) {
     $_=shift(@ARGV);
@@ -146,7 +147,7 @@
                 $f{$_}= $v;
             } elsif (m/^(Package|Essential|Pre-Depends|Depends|Provides)$/ ||
                      m/^(Recommends|Suggests|Optional|Conflicts|Replaces)$/ ||
-                     m/^(Description|Section|Priority)$/ ||
+                     m/^(Description|Section|Priority|Source-Depends)$/ ||
                      m/^X[CS]+-/i) {
             } else {
                 &unknown("package's section of control info file");
@@ -155,7 +156,7 @@
             if (m/^Source$/) {
                 &setsourcepackage;
-            } elsif (m/^Version$/) {
+            } elsif (m/^Version$|^Source-Depends$/) {
                 $f{$_}= $v;
             } elsif (s/^X[BS]*C[BS]*-//i) {
                 $f{$_}= $v;
@@ -476,6 +477,15 @@
     $sourcepackage =~ m/^[0-9a-z]./ ||
         &error("source package name is too short or starts with non-alphanum");

+    $sourcedepends = $fi{'S Source-Depends'};
+    if ($sourcedepends ne "") {
+	for $buildpackage (split(',', $sourcedepends)) {
+	    $temp = `dpkg -l $buildpackage`;
+	    if ($temp eq "") {
+		&warn("Source-Depends: $buildpackage is not installed");
+	    }
+	}
+    }
     $version= $fi{'S Version'};
     $version =~ m/[^-+:.0-9a-zA-Z]/ &&
         &error("version number contains illegal character \`$&'");

Pour recevoir cette gazette chaque semaine dans votre boîte à lettres, abonnez-vous à la liste de diffusion debian-news pour la version anglaise ou à la liste de diffusion debian-news-french pour la version française.

Les dernières parutions de cette gazette sont disponibles.

Ce numéro de la Debian Weekly News a été édité par Joey Hess.