[Pythonmac-SIG] bdist_mpkg questions
Bob Ippolito
bob at redivi.com
Sat Jun 4 08:33:23 CEST 2005
On Jun 3, 2005, at 11:24 PM, Nick Matsakis wrote:
>
> I'm playing around with bdist_mpkg and have some questions. If
> these get
> answered, I promise to put them on the wiki:
>
> 1. Why does it build a meta-package with a single package inside?
> Why not
> just a package?
Each distutils target is a separate pkg. Anyway, it's an
implementation detail, you shouldn't need to care, it doesn't really
make a difference for anything except the receipt(s).
> 2. When I install a bdist-made package, the files have the owner of
> the
> user that built the package not the user installing the package, even
> though no root authorization is required. Apple's documentation
> says "By
> default, if no authorization is required, the files that Installer
> places
> on a user's computer are owned by the user doing the installation."
> see:
>
> http://developer.apple.com/documentation/DeveloperTools/Conceptual/
> SoftwareDistribution/Concepts/sd_permissions_author.html
>
> I strongly suspect this is a bug in Apple's installer; Under 10.3,
> their
> documentation claimed that packages wouldn't change the permissions of
> existing directories, but this is exactly what happened with the
> Appscript
> Installer 1.0 (10.4 appears to fix this). Anyway, if we can't trust
> Installer.app to set the permissions appropriately, is there any
> way to
> set the owner/permissions of the file at the time the package is built
> (other than su-ing to that user)?
bdist_mpkg always finds the deepest installation location to install
to, so changing the permissions of existing directories won't
happen. Even if installer does have that bug, it shouldn't matter.
> 3. What's the deal with PackageManager? What is a "repository",
> exactly,
> and what format are the packages in a repository?
PackageManager is completely irrelevant.
> 4. I'm getting a very bizarre error trying to run bdist_mpkg. If I
> run
> the script directly, it can't find the bdist package. However, if
> I run
> it as an argument to python2.3, it does. I'm willing to ignore
> this, but
> if anyone has suggestions I'd love to hear them (this is with the
> built-in
> python on 10.3.9. Observe:
>
> artoo% cat /usr/local/bin/bdist_mpkg
> #!/usr/bin/python2.3
> from bdist_mpkg.scripts.script_bdist_mpkg import main
> main()
>
> artoo% bdist_mpkg -h
> Traceback (most recent call last):
> File "/usr/local/bin/bdist_mpkg", line 2, in ?
> from bdist_mpkg.scripts.script_bdist_mpkg import main
> ImportError: No module named bdist_mpkg.scripts.script_bdist_mpkg
Did you have some old installation of py2app or PyObjC? It was
organized differently many versions ago and can cause stuff like
this. Clean out any of /Library/Python/2.3 that is also in /Library/
Python/2.3/py2app (i.e. bdist_mpkg, macholib, etc.). You might as
well rip out the py2app folder in there too and reinstall, just in case.
-bob
More information about the Pythonmac-SIG
mailing list