Mit lokalen Abhängigkeiten in pbuilder
Frage
Ich versuche, eine Reihe von Paketen zu bauen pbuilder
verwenden. Diese Pakete sind voneinander abhängig, so dass zu erleichtern, habe ich ein lokales Repository, die ich reprepro
manage verwenden. Diese lokale Repository Al enthält Abhängigkeiten (aus früheren Versionen).
root@openpanel-builder ~ # export REPREPRO_BASE_DIR=/root/repository
root@openpanel-builder ~ # reprepro list lenny libgrace
lenny|main|amd64: libgrace 0.9.38.1230
lenny|main|i386: libgrace 0.9.38.1230
lenny|main|source: libgrace 0.9.38.1230
Allerdings, wenn ich versuche, ein abhängiges Paket zu bauen, ist es nicht, diese Abhängigkeiten zu finden.
root@openpanel-builder ~ # pbuilder build --basetgz /var/cache/pbuilder/lenny-i386.tgz --bindmounts /root/repository /tmp/bldqaJocd/openpanel-core_0.9.12.368.dsc
I: using fakeroot in build.
Current time: Wed Dec 8 10:46:17 UTC 2010
pbuilder-time-stamp: 1291805177
Building the build Environment
-> extracting base tarball [/var/cache/pbuilder/lenny-i386.tgz]
-> creating local configuration
-> copying local configuration
-> mounting /proc filesystem
-> mounting /dev/pts filesystem
-> Mounting /root/repository
-> policy-rc.d already exists
Obtaining the cached apt archive contents
Installing the build-deps
-> Attempting to satisfy build-dependencies
-> Creating pbuilder-satisfydepends-dummy package
Package: pbuilder-satisfydepends-dummy
Version: 0.invalid.0
Architecture: i386
Maintainer: Debian Pbuilder Team <pbuilder-maint@lists.alioth.debian.org>
Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder
This package was created automatically by pbuilder and should
Depends: debhelper (>= 5), libgrace-dev, libgrace-pcre-dev, zlib1g-dev, sqlite3, libpcre3-dev, libsqlite3-dev
dpkg-deb: building package `pbuilder-satisfydepends-dummy' in `/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'.
Reading package lists... Done
Building dependency tree
Reading state information... Done
aptitude is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Selecting previously deselected package pbuilder-satisfydepends-dummy.
(Reading database ... 9671 files and directories currently installed.)
Unpacking pbuilder-satisfydepends-dummy (from .../pbuilder-satisfydepends-dummy.deb) ...
dpkg: dependency problems prevent configuration of pbuilder-satisfydepends-dummy:
pbuilder-satisfydepends-dummy depends on debhelper (>= 5); however:
Package debhelper is not installed.
pbuilder-satisfydepends-dummy depends on libgrace-dev; however:
Package libgrace-dev is not installed.
pbuilder-satisfydepends-dummy depends on libgrace-pcre-dev; however:
Package libgrace-pcre-dev is not installed.
pbuilder-satisfydepends-dummy depends on zlib1g-dev; however:
Package zlib1g-dev is not installed.
pbuilder-satisfydepends-dummy depends on sqlite3; however:
Package sqlite3 is not installed.
pbuilder-satisfydepends-dummy depends on libpcre3-dev; however:
Package libpcre3-dev is not installed.
pbuilder-satisfydepends-dummy depends on libsqlite3-dev; however:
Package libsqlite3-dev is not installed.
dpkg: error processing pbuilder-satisfydepends-dummy (--install):
dependency problems - leaving unconfigured
Errors were encountered while processing:
pbuilder-satisfydepends-dummy
Reading package lists... Done
Building dependency tree
Reading state information... Done
Initializing package states... Done
Writing extended state information... Done
The following packages are BROKEN:
pbuilder-satisfydepends-dummy
The following NEW packages will be installed:
bsdmainutils{a} debhelper{a} file{a} gettext{a} gettext-base{a} groff-base{a} html2text{a} intltool-debian{a} libmagic1{a} libpcre3{a} libpcre3-dev{a} libpcrecpp0{a} libsqlite3-0{a} libsqlite3-dev{a}
man-db{a} po-debconf{a} sqlite3{a} zlib1g-dev{a}
The following packages are RECOMMENDED but will NOT be installed:
curl libcompress-zlib-perl libmail-box-perl libmail-sendmail-perl lynx wget
0 packages upgraded, 18 newly installed, 0 to remove and 0 not upgraded.
Need to get 181kB/7488kB of archives. After unpacking 21.2MB will be used.
The following packages have unmet dependencies:
pbuilder-satisfydepends-dummy: Depends: libgrace-dev which is a virtual package.
Depends: libgrace-pcre-dev which is a virtual package.
The following actions will resolve these dependencies:
[---snip---]
Current status: 0 broken [-1].
Aptitude couldn't satisfy the build dependencies
E: pbuilder-satisfydepends failed.
Copying back the cached apt archive contents
-> unmounting /root/repository filesystem
-> unmounting dev/pts filesystem
-> unmounting proc filesystem
-> cleaning the build env
-> removing directory /var/cache/pbuilder/build//14563 and its subdirectories
Wenn ich bei der Verwendung pbuilder --login
einzuloggen, wird das Paket erst nach einem apt-get update
zur Verfügung. Gibt es eine Möglichkeit der automatischen apt
Daten innerhalb pbuilder des chroot aktualisieren, wenn pbuilder --build
mit?
Lösung
Ich bin mit dem Rezepte hier für eine Situation ähnlich wie bei Ihnen.
Zusammenfassung:
- Richten Sie Ihr pbuilder Bild, so dass es Ihre lokalen Repo-Updates überprüft.
- einen Haken setzen, um Ihre Repo zu aktualisieren jedes Mal, Sie bauen.
Andere Tipps
Es gibt einige ziemlich umfassende Informationen darüber, wie diese Art von Situation in Ubuntu zu handhaben docs (genauso relevant, wenn Sie nicht mit Ubuntu)