Verificar se debian / control Build-Depends: os requisitos são satisfatórios quando backportar pacotes

3

Pergunta Debian / Ubuntu aqui. Eu rotineiramente backport pacotes de distros mais recentes do Ubuntu para os mais antigos (LTS). Eu baixo (via dget) uma fonte Debian, então coloco dentro dela e digito debuild -b . Em seguida, diz 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-dep ajuda até certo ponto (mas transfere dependências para o pacote atual , não para o que eu estou backporting). Eu poderia instalar manualmente todas as dependências listadas e tentar novamente o debuild para ver se dpkg-checkbuilddeps é bem-sucedido, mas isso é caro no tempo (e no espaço em disco).

Eu acho que realmente preciso de uma ferramenta (ou um script) que possa verificar se os requisitos Build-Depends: de debian/control são satisfazíveis com os repositórios atuais (ou, caso contrário, quais pacotes adicionais eu preciso backport). Existe uma maneira fácil de conseguir isso?

    
por dan3 15.10.2013 / 19:49

1 resposta

3

Existem algumas coisas que podem ajudar a tornar o backporting mais fácil. O primeiro é mk-build-deps . Quando executado a partir do diretório fonte, ele criará um pacote fictício que depende do pacote atual. Como isso cria depende do pacote que você está construindo e não do que está em seu repositório atual, você notará imediatamente se algumas dependências não puderem ser satisfeitas.

Existe um método que você pode usar para verificar se um pacote pode ser backportado de sid para estável. O ircbot "judd" em #debian em irc.oftc.net e irc.freenode.net tem um comando checkbackport . Aqui está um exemplo:

[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).

Seria possível implementar algo semelhante por conta própria. Infelizmente, o método judd usa consultas no UDD (Ultimate Debian Database) , que é bastante grande. O código-fonte de Judd está disponível aqui se você estiver interessado em como isso é implementado.

    
por 16.10.2013 / 06:55