… más sencillo de lo que pensaba. Y, como es habitual, gracias a la red StackOverflow.
En realidad la duda me surge cuando intento empaquetar en Debian un programa que tiene estructura para ello (directorio /debian) pero no está en los repositorios oficiales. En ese caso usar apt-get build-dep no sirve de nada porque trabaja sobre lo que ya está registrado por apt y no sobre el directorio fuente.
Luego el problema tiene dos caras: saber de qué paquetes se depende para construirlo y ver además cuáles están instalados.
Para ver qué paquetes de los que depende están instalados:
$ cd cups-1.4.6/ $ dpkg-checkbuilddeps dpkg-checkbuilddeps: Dependencias de construcción no satisfechas: libpam0g-dev libslp-dev libgnutls-dev libpaper-dev libldap2-dev libavahi-compat-libdnssd-dev libpoppler-dev (>= 0.12.2-2) po4a (>= 0.31) libijs-dev hardening-wrapper liblcms1-dev libusb-dev
o si simplemente queremos ver todos los paquetes de los que depende sin más comprobaciones podemos emplear el siguiente programa Perl:
#!/usr/bin/perl
use strict;
use warnings;
#
# Evgeny Vereshchagin
# http://unix.stackexchange.com/a/211319
#
use Dpkg::Control::Info;
use Dpkg::Deps;
my $control = Dpkg::Control::Info->new();
my $fields = $control->get_source();
my $build_depends = deps_parse($fields->{'Build-Depends'});
print deps_concat($build_depends) . "\n";
Fácil, ¿ verdad ? E incluso nos presenta los módulos Perl para gestionar información de paquetes con los que aún podemos obtener y hacer más cosas.
Pero eso para otro día …