breakage from r99712

Jack Howarth howarth at bromo.med.uc.edu
Sat Nov 17 08:48:16 PST 2012


On Sat, Nov 17, 2012 at 10:50:39AM -0500, Jeremy Huddleston Sequoia wrote:
> 
> On Nov 17, 2012, at 8:53 AM, Jack Howarth <howarth at bromo.med.uc.edu> wrote:
> 
> > Joshua,
> >    Do you realize that https://trac.macports.org/changeset/99712 broke all
> > tcl/tk software that uses software like blt which uses fork() without exec()
> > like blt...
> > 
> > http://lists.macosforge.org/pipermail/macports-tickets/2012-July/115001.html
> 
> So in other words, software which was broken before the update is still broken after it.
> 
> The only code that should fork without exec is code that is written by people who really really really understand what they're doing (and those people know not to do it).  fork() without exec() is just not safe on our platform.  Fix blt.
> 
> > If you are going to make a rash change like this, please warn the other
> > developers so we can attempt to limit the breakage in our packages.
> 
> We shouldn't cater to broken code at the expense of flexibility.  I support jmr's changes.  blt is broken and should be fixed.
> 
> --Jeremy

Jeremy,
    I would think, as the X11 maintainer, you would show more sensitivity on this issue
rather than just to declare software that uses blt such as pymol as being DOA. The
situation with thread support on tcl/tk is known to be suboptimal..

http://wiki.tcl.tk/1339

Vendors like Redhat solved this as described in...

https://bugzilla.redhat.com/show_bug.cgi?id=478961

by providing both a non-threaded and threaded tcl package. This is exactly the 
solution we had prior to r99712 where the default package didn't support threads or
CoreFoundation (which drags in threads) but both were available in the threads and
corefoundation variants. The change in r99712 makes little sense as it leaves the
now redundant corefoundation variant in place. It should have at the very least
converted the corefoundation variant into a no-corefoundation variant so as to
not leave blt users (and other such packages that use fork() in tha manner)
stranded.
                  Jack



More information about the macports-dev mailing list