[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: pbuilder status update

>>>>> "Junichi" == Junichi Uekawa <dancer@netfort.gr.jp> writes:

    Junichi> Hi, I'll just write a mail here to notify people using
    Junichi> pbuilder, that sid is a wild place.

I recently had major dramas trying to create a sid chroot from a sarge
system. So perhaps these issues have been fixed for sid users already,
but no doubt they will be a problem for sarge users.

I encountered two issues:

1. gcc-4.0 being the default.

2. gpg signature verification failed to work because gnupg was not
   installed. This meant the update operation failed as well as
   downloading dependencies.

I tried going from etch to sarge, because at the changes had not moved
across to etch yet. I could get etch OK, but I encountered the same
problems (IIRC) after upgrading to sarge.

This made me realize that the current set of hooks in pbuilder is
insufficient to fix the problem, at least by my understanding, in

There is:

A* - build: happens too late, apt-get has already aborted with an
     error that the packages cannot be verified.

B* - build: same as above.
C* - build: same as above.

D* - build: this is good for the build operation but isn't called for

E* - update: called too late.

F* - login: not relevant.

Ideally there needs to be either

* a login environment where changes are saved AND/OR

* a hook that gets executed for an update operation, *before* apt-get
  is called.

Even this issue is solved, the extra hook could also be useful for
adding extra keys to validate against. This might be important if you
want to download packages from a local archive.

My work around was to hack the values of "required" and "base" in
debootstrap script /usr/lib/debootstrap/scripts/sid.buildd:

    required="base-files base-passwd bash bsdutils coreutils debianutils diff dpkg dselect e2fslibs e2fsprogs findutils gcc-4.0-base grep gzip hostname initscripts libacl1 libattr1 libblkid1 libc6 libcap1 libcomerr2 libdb1-compat libdb3 libgcc1 libncurses5 libpam-modules libpam-runtime libpam0g libss2 libstdc++6 libuuid1 login mawk mount ncurses-base ncurses-bin passwd perl-base sed slang1a-utf8 sysv-rc sysvinit tar util-linux zlib1g"

    base="libstdc++5 gcc-3.3-base apt binutils cpio cpp cpp-4.0 dpkg-dev g++ g++-4.0 gcc gcc-4.0 libc6-dev libdb4.2 libgdbm3 libstdc++6-4.0-dev linux-kernel-headers make patch perl perl-modules gnupg libbz2-1.0 libldap2 libreadline5 libusb-0.1-4 makedev libgnutls11 libsasl2 debconf libtasn1-2 libopencdk8 liblzo1 libgpg-error0 libgcrypt11 debconf-english $additional"

At the time aptitude wasn't recompiled, so no doubt this will need
changing again.
Brian May <bam@debian.org>

Reply to: