debian/control Build-Depends 확인: 패키지를 백포트할 때 요구 사항이 충족되는지 여부

debian/control Build-Depends 확인: 패키지를 백포트할 때 요구 사항이 충족되는지 여부

여기에 데비안/우분투 문제가 있습니다. 저는 최신 Ubuntu 배포판에서 이전 배포판(LTS)으로 패키지를 자주 백포트합니다. 나는 (dget을 통해) 데비안 소스를 다운로드한 다음, 거기에 CD를 넣고 입력하면 debuild -b다음과 같은 내용이 나옵니다.

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어느 정도 도움이 되지만 종속성을 다운로드합니다.현재의백포트하려는 패키지가 아닌 패키지). 나열된 모든 종속성을 수동으로 설치하고 성공 debuild여부를 다시 확인할 수 dpkg-checkbuilddeps있지만 시간과 디스크 공간이 많이 소요됩니다.

현재 저장소 Build-Depends:의 요구 사항이 debian/control충족될 수 있는지(또는 그렇지 않은 경우 백포트해야 하는 다른 패키지가 무엇인지) 확인하려면 도구(또는 스크립트)가 정말 필요하다고 생각합니다. 이것을 달성하는 쉬운 방법이 있습니까?

답변1

백포트를 더 쉽게 만드는 데 도움이 되는 몇 가지 사항이 있습니다. 첫 번째는 입니다 mk-build-deps. 소스 디렉터리에서 실행하면 현재 패키지에 의존하는 더미 패키지가 생성됩니다. 이 생성은 현재 저장소에 있는 패키지가 아니라 빌드 중인 패키지에 따라 달라지므로 일부 종속성을 충족할 수 없는 경우 즉시 알 수 있습니다.

패키지를 sid에서 stable로 백포트할 수 있는지 확인하는 데 사용할 수 있는 방법이 있습니다. irc.oftc.net 및 irc.freenode.net의 #debian에는 ircbot "judd"에 대한 명령이 있습니다 checkbackport. 예는 다음과 같습니다.

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

비슷한 것을 직접 구현할 수 있습니다. 불행하게도 judd는 쿼리 메소드를 사용합니다.UDD(궁극적인 데비안 데이터베이스), 꽤 큽니다. Judd의 소스 코드를 사용할 수 있습니다.여기구현 방법에 관심이 있다면.

관련 정보