2013-09-04 2 views
2

Я все еще вижу это с пакетами python ... пакет python устанавливает дополнительные файлы. В упакованном дегтя, вы получите что-то вроде этого:Правильные разрешения для пакетов python

-rw-r----- 1 schwehr eng  7 Sep 3 18:10 VERSION 

для:

https://github.com/scrapy/scrapy/blob/master/scrapy/VERSION

Затем, когда вы Python setup.py установить в качестве корня в управляемой среде (например, Fink для MacOSX), что использует корневые разрешения, этот файл становится принадлежащим root, а разрешения сохраняются. Тогда код, выполняемый как пользователь, не может получить доступ к этому файлу.

Этот проект и другие проекты с той же проблемой (как правило, с частью их яиц) используют загрузку python setup.py sdist.

Как эти проекты должны создавать tar, который имеет соответствующие разрешения, чтобы все файлы были удобочитаемыми по всему миру? например

wget https://pypi.python.org/packages/source/S/Scrapy/Scrapy-0.18.2.tar.gz#md5=14f105e2fdb047c666b944990e691389 

tar tfvv Scrapy-0.18.2.tar.gz | head 
drwx------ buildbot/buildbot 0 2013-09-03 10:30 Scrapy-0.18.2/ 
-rw------- buildbot/buildbot 385 2013-09-03 10:27 Scrapy-0.18.2/MANIFEST.in 
-rw------- buildbot/buildbot 140 2013-09-03 10:30 Scrapy-0.18.2/setup.cfg 
drwx------ buildbot/buildbot 0 2013-09-03 10:30 Scrapy-0.18.2/bin/ 
-rw------- buildbot/buildbot 114 2013-09-03 10:27 Scrapy-0.18.2/bin/runtests.bat 
-rwx------ buildbot/buildbot 1271 2013-09-03 10:27 Scrapy-0.18.2/bin/runtests.sh 
-rwx------ buildbot/buildbot 68 2013-09-03 10:27 Scrapy-0.18.2/bin/scrapy 
drwx------ buildbot/buildbot 0 2013-09-03 10:30 Scrapy-0.18.2/scrapy/ 
-rw------- buildbot/buildbot 2785 2013-09-03 10:27 Scrapy-0.18.2/scrapy/telnet.py 
drwx------ buildbot/buildbot 0 2013-09-03 10:30 Scrapy-0.18.2/scrapy/commands/ 

Смотрите также: https://github.com/scrapy/scrapy/issues/377

ответ

3

Это происходит, когда sdist тарболом генерируется с ограничительным UMASK или когда файлы были созданы без других/никто не читал/разрешения на выполнение.

Простое решение заключается в broak в UMASK биты и CHMOD файлы перед tar'ing

umask 0022 && chmod -R a+rX . && python setup.py sdist upload 

 Смежные вопросы

  • Нет связанных вопросов^_^