{"id":1755,"date":"2016-06-22T09:22:32","date_gmt":"2016-06-22T09:22:32","guid":{"rendered":"http:\/\/esferas.org\/msqlu\/?p=1755"},"modified":"2016-06-22T09:22:35","modified_gmt":"2016-06-22T09:22:35","slug":"resolviendo-dependencias-de-construccion-de-paquetes-debian","status":"publish","type":"post","link":"https:\/\/esferas.org\/msqlu\/2016\/06\/22\/resolviendo-dependencias-de-construccion-de-paquetes-debian\/","title":{"rendered":"Resolviendo dependencias de construcci\u00f3n de paquetes Debian &#8230;"},"content":{"rendered":"<div class='__iawmlf-post-loop-links' style='display:none;' data-iawmlf-post-links='[{&quot;id&quot;:892,&quot;href&quot;:&quot;http:\\\/\\\/unix.stackexchange.com\\\/questions\\\/177505\\\/how-to-install-parse-build-dependencies-from-debian-control&quot;,&quot;archived_href&quot;:&quot;https:\\\/\\\/web-wp.archive.org\\\/web\\\/20260310032516\\\/https:\\\/\\\/unix.stackexchange.com\\\/questions\\\/177505\\\/how-to-install-parse-build-dependencies-from-debian-control&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-04-15 16:22:53&quot;,&quot;http_code&quot;:200},{&quot;date&quot;:&quot;2026-04-20 00:23:43&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-04-20 00:23:43&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;}]'><\/div>\n<p>&#8230; m\u00e1s sencillo de lo que pensaba. Y, como es habitual, gracias a la red <a href=\"http:\/\/unix.stackexchange.com\/questions\/177505\/how-to-install-parse-build-dependencies-from-debian-control\">StackOverflow<\/a>.<\/p>\n<p><!--more--><\/p>\n<p>En realidad la duda me surge cuando intento empaquetar en Debian un programa que tiene estructura para ello (directorio <em>\/debian<\/em>) pero no est\u00e1 en los repositorios oficiales. En ese caso usar <code>apt-get build-dep<\/code> no sirve de nada porque trabaja sobre lo que ya est\u00e1 registrado por\u00a0<em>apt<\/em> y no sobre el directorio fuente.<\/p>\n<p>Luego el problema tiene dos caras: saber de qu\u00e9 paquetes se depende para construirlo y ver adem\u00e1s cu\u00e1les est\u00e1n instalados.<\/p>\n<p>Para ver qu\u00e9 paquetes de los que depende est\u00e1n instalados:<\/p>\n<pre class=\"lang:default decode:true\">$ cd cups-1.4.6\/\r\n$ dpkg-checkbuilddeps \r\ndpkg-checkbuilddeps: Dependencias de construcci\u00f3n no satisfechas: libpam0g-dev libslp-dev libgnutls-dev libpaper-dev libldap2-dev libavahi-compat-libdnssd-dev libpoppler-dev (&gt;= 0.12.2-2) po4a (&gt;= 0.31) libijs-dev hardening-wrapper liblcms1-dev libusb-dev\r\n<\/pre>\n<p>o si simplemente queremos ver todos los paquetes de los que depende sin m\u00e1s comprobaciones podemos emplear el siguiente programa Perl:<\/p>\n<pre class=\"lang:perl decode:true \">#!\/usr\/bin\/perl\r\nuse strict;\r\nuse warnings;\r\n\r\n# \r\n#   Evgeny Vereshchagin\r\n#   http:\/\/unix.stackexchange.com\/a\/211319\r\n#\r\nuse Dpkg::Control::Info;\r\nuse Dpkg::Deps;\r\n\r\nmy $control = Dpkg::Control::Info-&gt;new();\r\nmy $fields = $control-&gt;get_source();\r\nmy $build_depends = deps_parse($fields-&gt;{'Build-Depends'});\r\nprint deps_concat($build_depends) . \"\\n\";\r\n<\/pre>\n<p>F\u00e1cil, \u00bf verdad ? E incluso nos presenta los m\u00f3dulos Perl para gestionar informaci\u00f3n de paquetes con los que a\u00fan podemos obtener y hacer m\u00e1s cosas.<\/p>\n<p>Pero eso para otro d\u00eda &#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8230; m\u00e1s sencillo de lo que pensaba. Y, como es habitual, gracias a la red StackOverflow.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","webmentions_disabled_pings":false,"webmentions_disabled":false,"footnotes":""},"categories":[6],"tags":[627,17],"class_list":["post-1755","post","type-post","status-publish","format-standard","hentry","category-debian","tag-dependencias","tag-perl"],"_links":{"self":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/posts\/1755","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/comments?post=1755"}],"version-history":[{"count":0,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/posts\/1755\/revisions"}],"wp:attachment":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/media?parent=1755"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/categories?post=1755"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/tags?post=1755"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}