没有管理员权限的Python扩展的二进制OSX安装程序

时间:2014-02-22 19:31:56

标签: python macos distutils dmg mpkg

我正在mpkg中打包一个Python扩展,以创建一个OSX安装程序。然后将mpkg放入dmg文件中。这可以通过distutilsbdist_mpkg轻松完成:

python setup.py build_ext
python setup.py bdist_mpkg
hdiutil create -layout NONE -srcfolder $MPKG $DMG

唯一的问题是bdist_mpkg通过以下方式设置mpkg中文件的组和模式:

spawn(['/usr/bin/chgrp', '-R', 'admin', src])
spawn(['/bin/chmod', '-R', 'g+w', src])

失败,因为构建安装程序的用户不在admin组中。 dmg仍在构建,因为chgrpchmod位于try块中。 dmg每天都在构建服务器上构建,我不想为执行构建的用户授予管理员权限。

我的问题是:

  1. 是否真的有必要设置组和模式?
  2. 如果是,那么在构建dmg之后,我可以使用某个工具吗?
  3. 如果没有别的,我可以写一个脚本来设置组和模式,然后使用sudo,但是有一个合适的解决方案会很好。

    非常感谢!

0 个答案:

没有答案