classification
Title: tarfile.py incurs exception from self.chmod() when tarball has g+s
Type: behavior Stage:
Components: Versions:
process
Status: closed Resolution: works for me
Dependencies: Superseder:
Assigned To: lars.gustaebel Nosy List: lars.gustaebel, loewis, zooko
Priority: normal Keywords:

Created on 2008-05-30 22:54 by zooko, last changed 2008-05-31 11:06 by lars.gustaebel. This issue is now closed.

Messages (3)
msg67563 - (view) Author: Zooko O'Whielacronx (zooko) Date: 2008-05-30 22:54
As reported at https://bugs.launchpad.net/pyopenssl/+bug/236190 ,
tarfile.py incurs an "Operation not permitted" exception (on Mac OS
10.4) when it tries to untar the pyOpenSSL-0.6.tar.gz tarball, because
that tarball has directories in it marked as having the "g+s" bit.

(Why this leads to an "Operation not permitted" exception, I don't know.)
msg67568 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2008-05-31 06:14
I can't reproduce this. If I do

py> import tarfile
py> t=tarfile.open("pyOpenSSL-0.6.tar.gz","r:*")
py> t.extractall()
py>

it extracts just fine, and sets the s-bits. I've used the file at

http://downloads.sourceforge.net/pyopenssl/pyOpenSSL-0.6.tar.gz?modtime=1092355200&big_mirror=0
msg67574 - (view) Author: Lars Gustäbel (lars.gustaebel) * (Python committer) Date: 2008-05-31 11:06
With some effort I could reproduce the problem (on a FAT32 filesystem),
but what we have here is clearly a usage problem. In unpack_tarfile() in
setuptools/archive_util.py TarFile's internal _extract_member() method
is used to extract the contents. For every non-fatal error (like a
failing chmod()) _extract_member() raises an ExtractError exception. In
TarFile.extract() these ExtractErrors are normally ignored. The
unpack_tarfile() function in setuptools needs some fixing, it should
either act more like TarFile.extract() or better use the public API.
History
Date User Action Args
2008-05-31 11:06:54lars.gustaebelsetstatus: open -> closed
resolution: works for me
messages: + msg67574
2008-05-31 06:14:30loewissetassignee: lars.gustaebel
messages: + msg67568
nosy: + loewis, lars.gustaebel
2008-05-30 22:54:52zookocreate