การใช้การพึ่งพาท้องถิ่นใน pbuilder

ฉันกำลังพยายามสร้างชุดแพ็คเกจโดยใช้ pbuilder แพ็คเกจเหล่านี้ขึ้นอยู่กับแต่ละแพ็คเกจ ดังนั้นเพื่ออำนวยความสะดวก ฉันจึงมีพื้นที่เก็บข้อมูลในเครื่อง ซึ่งฉันจัดการโดยใช้ reprepro พื้นที่เก็บข้อมูลในเครื่องนี้มีการขึ้นต่อกันของอัล (จากบิลด์ก่อนหน้า)

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

อย่างไรก็ตาม เมื่อฉันพยายามสร้างแพ็คเกจที่ต้องพึ่งพา มันไม่พบการขึ้นต่อกันเหล่านี้

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 <[email protected]>
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

เมื่อฉันเข้าสู่ระบบโดยใช้ pbuilder --login แพ็คเกจจะใช้งานได้หลังจาก apt-get update เท่านั้น มีวิธีอัปเดตข้อมูล apt ภายใน chroot ของ pbuilder โดยอัตโนมัติเมื่อใช้ pbuilder --build หรือไม่


person Ondergetekende    schedule 08.12.2010    source แหล่งที่มา


คำตอบ (2)


ฉันใช้สูตรที่นี่ สำหรับสถานการณ์ที่คล้ายกับคุณ

สรุป:

  1. ตั้งค่าอิมเมจ pbuilder ของคุณเพื่อตรวจสอบ repo ในพื้นที่ของคุณเพื่อดูการอัปเดต
  2. ตั้งค่าเบ็ดเพื่ออัปเดต repo ของคุณทุกครั้งที่คุณสร้าง
person bstpierre    schedule 28.01.2011
comment
การอัปเดตอิมเมจ pbuilder ทำงานได้ดีสำหรับคุณหรือไม่? ฉันสังเกตเห็นว่าฉันควรทำ apt-get update/upgrade/dist-upgrade ในรูปภาพเป็นครั้งคราวและบันทึกการอัปเดตเหล่านั้นเป็นรูปภาพใหม่ ไม่เช่นนั้นมีแนวโน้มที่จะล้มเหลวในการอัพเกรด... - person Alexis Wilke; 29.11.2015

มีข้อมูลที่ค่อนข้างครอบคลุมเกี่ยวกับวิธีการจัดการกับสถานการณ์ประเภทนี้ ในเอกสาร Ubuntu (มีความเกี่ยวข้องหากคุณไม่ได้ใช้ Ubuntu)

person obeattie    schedule 19.12.2010
comment
เอกสารเหล่านั้นอธิบายวิธีแก้ปัญหาที่ฉันพยายามหลีกเลี่ยงอย่างชัดเจน: ทำตามขั้นตอนการอัปเดตเพิ่มเติมก่อนสร้าง - person Ondergetekende; 17.01.2011