On Feb 6, 2005, at 5:55 AM, Michael Twomey wrote:

On Sat, 5 Feb 2005 13:46:49 -0500, Bob Ippolito <[EMAIL PROTECTED]> wrote:
Darwinports gives me the control I need with its flavors (essentially
letting you build the package with custom flags, such as with or
without X11 support for Vim).  I can build several of these and
activate/deactivate them whenever I want.


As a rule I dislike flavours (though fink does give you ssl vs non-ssl, and x11 vs non x11 packages), the combinational explosion of options you get means it gets very hard to debug issues with one machine vs another (this probably is another hint of my bias, my arguments stem from maintaining multiple machines, for my laptop this is all really moot :) ).

So then pretend you're using fink and install the same flavor (probably the flavor that depends on a third of the open source software ever written) on every machine.


If I don't want the entire world to be downloaded and installed when
installing a simple utility or library.


This isn't really the fault of the system, more of the packager. Fink can handle useful deps just fine, it's a question of whether the packager uses them properly. It's pretty much the same on all systems, AFAIK. As a point of reference, building the suse python package is painful as it draws in a huge amount of deps so it can build all the variant packages.

More linux pain :)

Besides, I thought the reason most people use a packaging system is to
pull in a given app's required world of libs rather than download and
compile each one?

Yes, but the "world of required libs" is usually mostly satisfied by what is already on the system, though Fink doesn't care because it would rather download and install its own version of everything.


Fink really gets in the way of my efforts to develop redistributable
software in that it's dependency resolution is very naive and
effectively installs its own OS (minus kernel and a very very small
subset of the libraries that OS X ships with).  I don't want to
distribute an OS with my applications, just the one or two libraries
that are actually needed beyond what is included with the OS.  I am
fine with letting Apple upgrade zlib at their own schedule.  I have no
need to distribute applications with the absolute latest version of
zlib, OpenSSL (and everything else) because I trust Apple (way more so
than Fink) to upgrade the OS's version of zlib if there is an actual
problem.


I wouldn't use fink to distribute apps, or for that matter any of the packaging systems. In the case of OS X I would link against Apple's libraries, and bundle others I needed. By bundle others, I mean I would build them myself, ensuring they linked against Apple's stuff.

As far as I know, none of the packaging systems touch Apple's
libraries (any that went near /usr would be bad news, I'm looking in
the direction of the initial release of portage here), they just link
against their own versions. With ABI being what it is these days this
is a prudent choice. Entire systems like openpkg make this their
entire point, they statically link against their own libs so you are
isolated from the core OS, a critical point when deploying against
multiple OSs.

Darwinports will use Apple's libraries whenever suitable.

Darwinports does have its fair share of disadvantages too, but it's
certainly a heck of a lot less annoying for what I do.


Personal preference here, I think it's just a question of which system you like, and which system rubbed you the wrong way when you tried it (for me it was darwinports).

I've been burned by apt on multiple platforms, so :)

All that said, I don't trust either darwinports or fink do manage
Python software. I will use darwinports to build the dependencies for
some things, and build the Python packages myself. As far as Mac
specific patches to Python software goes, I was the originator of them
in many cases... so these "conveniences" don't really apply to me
because I am building and hacking on these things myself anyway (and in
these cases, both fink and darwinports would get in my way, which is
another reason I don't use them for Python software).



I completely agree here. I've adopted a multi-prong approach which works well for me:

1. Use Apple's python (and your sweet pyobjc) for mac apps
2. Use a packaging system (fink, darwinports, whatever) for an X11 or
non-gui python. This is what I use from command line. Generally I need
more deps for some of this stuff, so a packaging system helps a lot
here.
3. 'python setup.py install --prefix=$HOME/unix' and add
$HOME/unix/lib/python2.3 to my PYTHONPATH for other stuff which isn't
packaged by anyone, generally pure python stuff.

Since you use two different Pythons, how on earth can you use PYTHONPATH? I use pth files sitting in directories that are picked up by a particular Python.


This way I keep the mucking about with my system as root to a minimum,
and get reasonable value from pre-packaged stuff.

Packaging systems should be the job of the OS vendor in this day an
age. To be honest, I find it shocking that Apple's packaging system
doesn't have a package remove, it would make it far more viable. Even
better if they adopted a real packaging system like apt ;)

Well, even if apt didn't suck, its license does. Apple stays away from GPL software. I'm pretty sure that there is exactly zero GPL code in Mac OS X (not Server) until you install Developer Tools.


-bob

_______________________________________________
Pythonmac-SIG maillist  -  Pythonmac-SIG@python.org
http://mail.python.org/mailman/listinfo/pythonmac-sig

Reply via email to