HOWTO: Get started, gain macports-foo, make bad first impression

Jay Levitt lists-macports at shopwatch.org
Wed Apr 30 10:23:26 PDT 2008


[Note to self: MacBook Pro enter key is very, very close to left-arrow 
key.  Sorry about that.]

I don't expect to become a port maintainer, but I do find myself running 
into port bugs that already have fixes in trunk, or that I know how to 
fix.  If nothing else, I'm usually able to build a package successfully 
from source, which means that I should, in theory, be able to integrate 
the latest source into macports.

But I have absolutely no idea how to go about incorporating others' 
fixes, or trying and submitting my own.  And the FAQ doesn't have a "how 
can I get involved" section.  Any tips/pointers?

For example:  I just tried installing jigdo.  That port relies on 
libwww, which is currently broken for some configurations.  Ticket 
#12851 (http://trac.macosforge.org/projects/macports/ticket/12851) fixes 
this, and it refers to changeset r34520, a patch to 
trunk/dports/www/libwww/Portfile.

I applied that change to my local copy of the Portfile, in 
/opt/local/var/macports/sources/rsync.macforge.org/release/ports/www/libwww. 
  That didn't make MacPorts happy; now I get:

bash-3.2# port clean libwww
Portfile changed since last build; discarding previous state.
--->  Cleaning libwww
bash-3.2# port install libwww
--->  Fetching libwww
--->  Attempting to fetch patch-configure.diff from 
http://svn.macports.org/repository/macports/distfiles/libwww
--->  Attempting to fetch patch-configure.diff from 
http://svn.macports.org/repository/macports/distfiles/general/
--->  Attempting to fetch patch-configure.diff from 
http://svn.macports.org/repository/macports/downloads/libwww
Error: Target org.macports.fetch returned: fetch failed
Error: Status 1 encountered during processing.

Soooo...

1. What's the right way for an end-user-slash-developer to incorporate 
bug fixes into my local copy?

2. What's the best way for me to contribute when I find problems like this?

As an end-user, the current MacPorts site is confusing.  Knowing that 
each port is maintained by some individual (or, often, nobody at all), 
I'd expect to be able to find a list of ports, click on it, and see the 
latest version, some info about the port, a list of related bugs, etc.

Instead, all the bugs are in a single Trac database.  If I go to 
"Available Ports", and enter "libwww" in the search field, I see 
"libwww" as one of the two choices.  I click on libwww and get... Trac's 
pretty-print of the Portfile from SVN. So:

3. Are there any ongoing projects to create a better, er, port-al?

4. I saw a discussion about parallel builds, and how you can't enable 
them by default.  Does "port" send any phone-home info about build 
failures/successes?   Is that under consideration?

It seems to me that the best solution for this, and for any breaking 
change, would be to allow end users to opt-in and become part of the 
macports "build farm".  Instead of a yes/no flag for parallel builds, 
add a third state: experimental.  Experimental would build everything in 
parallel, run the unit tests, and report back to macosforge.  If we see 
it working on enough "supported platforms", we could flip the Big Switch 
and move that to the stable distribution.

In fact, now that I think about it, this could help a lot of the 
problems I've run into, all of which appear to be "no longer works on 
the latest OS/hardware/whatever but the port maintainer doesn't run that".

Thoughts?

Jay Levitt


More information about the macports-dev mailing list