Fecha: Dom, 10 de enero de 1999 13:31:09 -0500
De: Ben Collins <bmc@visi.net>
A: debian-devel@lists.debian.org
Cc: debian-dpkg@lists.debian.org
Asunto: Source-Depends implementation
X-Mailer: Mutt 0.95i
X-Mailing-List: <debian-devel@lists.debian.org> archive/latest/24697
Este es una pequeña adaptación en dpkg-source y controllib.pl para permitir
un campo Source-Depends -dependencias fuente- a la sección general del
archivo control. La gente la ha pedido, así que aquí está por si alguien
quiere escribir la política para usarla.
IMO -en mi opinión-, nada de las listas base debería estar en el campo
Source-Depends -dependencias fuente-. Sólo los -devs -de desarrollo- no
estándar y los paquetes binarios especiales (por ejemplo, sgml, tetex,
nasm). No hay versionado de Source-Depends porque consideré que no sería
necesario. Puede sentir que esto no debería ser así.
Todo lo que hace está incluido en el campo Source-Depends -dependencias
fuente- en el archivo .dsc. Esto puede ser usado con posterioridad por
dbuild/buildd para verificar que todos los paquetes necesarios para la
compilación están instalados. También hice que «dpkg-source -x» comprobara
la lista para asegurarse de que todo está instalado. En caso contrario,
sólo da un aviso.
El modo que usé para comprobar si un paquete estaba instalado es «dpkg -l
$buildpackage». Probablemente haya una manera mejor, así que siéntase libre
para arreglar esto. Tampoco comprobé los errores en el campo de contenido
(no indicación de «,» y demás)
El único cambio en controllib.pl fue que se necesitaba añadir el campo
Source-Depends -dependencias fuente- a la lista de campos que necesitaban
una segunda letra mayúscula.
Lo dejaré así para que la gente compruebe si se ajusta a nuestras
necesidades y para que Ian decida si lo incluye o no dentro de las fuentes
de dpkg.
--
----- -- - -------- --------- ---- ------- ----- - - --- --------
Ben Collins <b.m.collins@larc.nasa.gov> Debian GNU/Linux
UnixGroup Admin - Jordan Systems Inc. bcollins@debian.org
------ -- ----- - - ------- ------- -- The Choice of the GNU Generation
--- 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 \`$&'");
Para recibir este boletín semanalmente en su buzón, suscríbase a la lista de correo debian-news.
Puede conseguir ejemplares anteriores de este boletín.
Esta edición de las Noticias Semanales de Debian fue realizada por Joey Hess.