2010-12-08 9 views
5

Estoy tratando de crear una serie de paquetes usando pbuilder. Estos paquetes dependen uno del otro, así que para facilitar eso, tengo un repositorio local, que administro usando reprepro. Este repositorio local contiene todas las dependencias (de versiones anteriores).Usando dependencias locales en 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 

Sin embargo, cuando intento crear un paquete dependiente, no encuentra estas dependencias.

[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 

Cuando registro en el uso de pbuilder --login, el paquete sólo está disponible después de un apt-get update. ¿Hay alguna manera de actualizar automáticamente los datos de apt dentro del chroot de pbuilder cuando se usa pbuilder --build?

Respuesta

3

estoy usando el recipe here para una situación similar a la suya.

En resumen: su imagen pbuilder

  1. configurado de forma que comprueba tu repositorio local para actualizaciones.
  2. Configura un gancho para actualizar tu repositorio cada vez que compilas.
+0

¿La actualización de la imagen de pbuilder funciona bien para usted? Me he dado cuenta de que es mejor hacer una actualización/actualización/actualización de apt-get en la imagen de vez en cuando y guardar esas actualizaciones como una nueva imagen, de lo contrario, tiende a fallar la actualización ... –

1

Hay alguna información bastante completa sobre cómo manejar este tipo de situación in the Ubuntu docs (tan relevante si no estás usando Ubuntu)

+0

Esos documentos describen exactamente la solución que trato de evitar: realizar un paso de actualización adicional antes de compilar. – Ondergetekende

Cuestiones relacionadas