2010-12-08 3 views
5

Я пытаюсь построить серию пакетов с использованием pbuilder. Эти пакеты зависят друг от друга, поэтому для облегчения этого у меня есть локальный репозиторий, которым я управляю, используя reprepro. Этот локальный репозиторий содержит al зависимостей (из предыдущих сборников).Использование локальных зависимостей в pbuilder

[email protected] ~ # export REPREPRO_BASE_DIR=/root/repository 
[email protected] ~ # 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 

Однако, когда я пытаюсь создать зависимый пакет, он не находит эти зависимости.

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

ответ

3

Я использую recipe here для ситуации, подобной вашему.

В итоге:

  1. Настройте свой pbuilder образ поэтому он проверяет ваш местный репозиторий для обновлений.
  2. Настройте крючок, чтобы обновлять свое репо каждый раз, когда вы строите.
+0

Поддерживает ли обновление изображение pbuilder для вас? Я заметил, что мне лучше делать apt-get update/upgrade/dist-upgrade в изображении раз в то время и сохранять эти обновления в качестве нового изображения, в противном случае он не сможет выполнить обновление ... – 2015-11-29 05:05:24

1

Там какая-то довольно полная информация о том, как справиться с такой ситуацией in the Ubuntu docs (так же, как соответствующей, если вы не используете Ubuntu)

+0

Эти документы описывают точно решение, которое я пытаюсь избежать: выполнить дополнительный шаг обновления до его создания. – Ondergetekende 2011-01-17 20:16:11

Смежные вопросы