Attached debfiff for tar-1.22 that fixes this.
** Description changed: Binary package hint: tar - Currently if you try to debootstrap Lucid on anything running a kernel - older than 2.6.22, (I've specifically tried on 2.6.18) it fails with - stuff like: + Bootstrapping Ubuntu Lucid with debootstrap is currently impossible with + any kernel < 2.6.22, due to a bug in tar - specifically it fails because + of a change to eglibc. - # dpkg --force-depends --install var/cache/apt/archives/base-files_5.0.0ubuntu10_amd64.deb var/cache/apt/archives/base-passwd_3.5.22_amd64.deb - tar: ./postinst: Cannot utime: Bad file descriptor - tar: ./preinst: Cannot utime: Bad file descriptor - tar: ./conffiles: Cannot utime: Bad file descriptor - tar: ./md5sums: Cannot utime: Bad file descriptor - tar: ./control: Cannot utime: Bad file descriptor - tar: .: Cannot utime: Bad file descriptor - tar: Exiting with failure status due to previous errors - dpkg-deb: subprocess tar returned error exit status 2 - dpkg: error processing var/cache/apt/archives/base-files_5.0.0ubuntu10_amd64.deb (--install): - subprocess dpkg-deb --control returned error exit status 2 - tar: ./postinst: Cannot utime: Bad file descriptor - tar: ./md5sums: Cannot utime: Bad file descriptor - tar: ./control: Cannot utime: Bad file descriptor - tar: .: Cannot utime: Bad file descriptor - tar: Exiting with failure status due to previous errors - dpkg-deb: subprocess tar returned error exit status 2 - dpkg: error processing var/cache/apt/archives/base-passwd_3.5.22_amd64.deb (--install): - subprocess dpkg-deb --control returned error exit status 2 - Errors were encountered while processing: - var/cache/apt/archives/base-files_5.0.0ubuntu10_amd64.deb - var/cache/apt/archives/base-passwd_3.5.22_amd64.deb + According to the debian bug report It seems that before eglibc 2.10.2-3, + calls to futimens failed silently, however due to a patch made to eglibc + 2.10.2-3, if futimens is called without a valid file descriptor, it now + fails with an "Bad File Descriptor" error, because the corresponding + utimensat() syscall was not added until kernel 2.6.22 - From further investigation, this appears to be due to a bug in tar. + Test Case: + 1) Boot a kernel older than 2.6.22 + 2) Attempt to Bootstrap Ubuntu Lucid to any target. + The bootstrap will fail once it attempts to unpack packages with: tar: ./postinst: Cannot utime: Bad file descriptor + + A patch is available (attached in launchpad) originating from the associated debian bug, that ensures that futimens is only called with a valid file descriptor. + A debdiff for 1.22-2 ( changing to 1.22-2ubuntu1 ) will be attached shortly. ** Patch added: "Debdiff for tar-1.22 with added tar-futimens patch from debian bug report." https://bugs.launchpad.net/ubuntu/lucid/+source/tar/+bug/539814/+attachment/1515914/+files/tar-1.22-2ubuntu1.debdiff -- tar: futimens() with a bad file descriptor (AT_FDCWD) causes bootstrapping failure with kernels < 2.6.22 https://bugs.launchpad.net/bugs/539814 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs