Compruebe si debian/control Build-Depends: los requisitos se pueden satisfacer al realizar backporting de paquetes

Compruebe si debian/control Build-Depends: los requisitos se pueden satisfacer al realizar backporting de paquetes

Pregunta sobre Debian/Ubuntu aquí. Rutinariamente hago copias de seguridad de paquetes de distribuciones de Ubuntu más recientes a otras más antiguas (LTS). Descargo (a través de dget) una fuente de Debian, luego introduzco un cd y escribo debuild -b. Luego dice algo como

dpkg-checkbuilddeps: Unmet build dependencies: dh-autoreconf gnome-pkg-tools (>= 0.7) yelp-tools gtk-doc-tools (>= 1.12) pkg-config libglib2.0-dev (>= 2.29.14) libgstreamer1.0-dev (>= 0.11.92) libgstreamer-plugins-base1.0-dev (>= 0.11.92) libxml2-dev (>= 2.6.0) libsm-dev libice-dev libgtk-3-dev (>= 3.0.0) libcanberra-dev (>= 0.1) libcanberra-gtk3-dev (>= 0.1) libnautilus-extension-dev (>= 2.91.90) libburn-dev (>= 0.4.0) libisofs-dev (>= 0.6.4) libtotem-plparser-dev (>= 2.32) libunique-dev (>= 1.0.0) libnotify-dev (>= 0.6.1) gobject-introspection (>= 0.6.3) libgirepository1.0-dev (>= 0.6.3) libappindicator3-dev (>= 0.0.7) libunity-dev (>= 5.0.0)

apt-get build-depayuda hasta cierto punto (pero descarga dependencias para elactualpaquete, no para el que estoy respaldando). Podría instalar manualmente todas las dependencias enumeradas y volver a intentarlo debuildpara ver si dpkg-checkbuilddepstiene éxito, pero esto requiere mucho tiempo (y espacio en disco).

Supongo que realmente necesito una herramienta (o un script) que pueda verificar si los Build-Depends:requisitos debian/controlson satisfactorios con los repositorios actuales (o, en caso contrario, qué paquetes adicionales necesito respaldar). ¿Existe una manera fácil de lograr esto?

Respuesta1

Hay algunas cosas que pueden ayudar a facilitar el backporting. El primero es mk-build-deps. Cuando se ejecuta desde el directorio fuente, creará un paquete ficticio que depende del paquete actual. Dado que esto depende del paquete que está creando y no del que está en su repositorio actual, notará inmediatamente si algunas dependencias no se pueden satisfacer.

Existe un método que puede utilizar para comprobar si un paquete se puede respaldar de sid a estable. El ircbot "judd" en #debian en irc.oftc.net e irc.freenode.net tiene un checkbackportcomando. Aquí hay un ejemplo:

[23:53] <jordanm> checkbackport apache2
[23:53] <judd> Backporting package apache2 in sid→wheezy/i386: unsatisfiable build dependencies: Build-Depends: libaprutil1-dev (>= 1.5.0).

Sería posible implementar algo similar usted mismo. Desafortunadamente, el método que utiliza Judd consulta elUDD (base de datos definitiva de Debian), que es bastante grande. El código fuente de Judd está disponible.aquísi está interesado en cómo se implementa.

información relacionada