Package: pbuilder Version: 0.215 Severity: important Hi,
I've just wasted some time to find out why pbuilder had stopped working, and fails with this strange message: I: policy-rc.d already exists I: Installing the build-deps I: user script /var/cache/pbuilder/build/cow.10311/tmp/hooks/D80no-man-db-rebuild starting I: Preseed man-db/auto-update to false I: user script /var/cache/pbuilder/build/cow.10311/tmp/hooks/D80no-man-db-rebuild finished -> 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 to satisfy the build-dependencies of the package being currently built. Depends: debhelper (>= 9), dh-apache2, po4a (>= 0.22) dpkg-deb: building package `pbuilder-satisfydepends-dummy' in `/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. dpkg-deb: error: failed to make temporary file (control member): No such file or directory E: pbuilder-satisfydepends failed. I've noticed that `cowbuilder --update' also has stopped working: pbuilder update failed E: could not update with cowdancer, try --no-cowdancer-update option forking: rm -rf /var/cache/pbuilder/build//cow.11010 And no, --no-cowdancer-update didn't fix anything. Anyway, it turned out that I've recently installed libpam-tmpdir, which caused TMPDIR to be set to /tmp/user/0 inside the chroot. But nothing in the pbuilder log indicates this fact. Moreover the final error message: dpkg-deb: building package `pbuilder-satisfydepends-dummy' in `/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. suggests that /tmp is used for storing temporary files! I've just found the fact is documented in pbuilder's documentation: 6. Notes on usage of $TMPDIR If you are setting $TMPDIR to an unusual value, of other than /tmp, you will find that some errors may occur inside the chroot, such as dpkg-source failing. There are two options, you may install a hook to create that directory, or set export TMPDIR=/tmp in pbuilderrc. Take your pick. An example script is provided as examples/D10tmp with pbuilder. But in my opinion documenting it is not enough! If something worked perfectly fine for a few years, and than suddenly has stopped working, I guess, nobody will look into documentation. To fix this bug, please do one of the following things: - check if $TMPDIR exists in chroot at very first step of pbuilder's processing, and fail with a clear message (possibly referring to the above documentation) in case it doesn't OR: - add the `export TMPDIR=/tmp' to /etc/pbuilderrc installed by default by the package OR: - always internally create the $TMPDIR if it does not exists (note: this is not the same as installing the D10tmp hook by default, as this hook does not work for `cowbuilder --update') OR: - use value of $TMPDIR internally by pbuilder itself, so the processing would most probably fail at: "I user script /var/cache/pbuilder/build/cow.10311/tmp/user/0/hooks/D80no-man-db-rebuild" ^^^^^^^^^^^^ (but still such a failure would require some user's investigation) Regards, robert -- System Information: Debian Release: jessie/sid APT prefers unstable APT policy: (990, 'unstable'), (200, 'testing') Architecture: i386 (i686) Kernel: Linux 3.10-2-686-pae (SMP w/1 CPU core) Locale: LANG=pl_PL, LC_CTYPE=pl_PL (charmap=ISO-8859-2) Shell: /bin/sh linked to /bin/dash Versions of packages pbuilder depends on: ii cdebootstrap 0.5.10 ii coreutils 8.21-1 ii debconf [debconf-2.0] 1.5.51 ii debianutils 4.4 ii debootstrap 1.0.53 ii dpkg-dev 1.17.1 ii wget 1.14-4 Versions of packages pbuilder recommends: ii devscripts 2.13.4 ii fakeroot 1.20-1 ii sudo 1.8.8-1 Versions of packages pbuilder suggests: ii cowdancer 0.73 pn gdebi-core <none> pn pbuilder-uml <none>
signature.asc
Description: Digital signature

