3

私はこれをpythonパッケージで見続けています... pythonパッケージは余分なファイルをインストールします。パッケージ化された tar では、次のようなものが得られます。

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

為に:

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

次に、root パーミッションを使用する管理された環境 (MacOSX の fink など) に root として python setup.py をインストールすると、このファイルは 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

4

1 に答える 1

4

これは、制限付きの umask を使用して sdist tarball が生成された場合、またはファイルが other/nobody read/execute パーミッションなしで作成された場合に発生します。

簡単な回避策は、tar する前に umask ビットと chmod ファイルを分割することです。

umask 0022 && chmod -R a+rX . && python setup.py sdist upload
于 2013-09-04T02:36:25.120 に答える