Creating source packages?

Ryan Schmidt ryandesign at
Mon Sep 22 14:11:14 PDT 2008

On Sep 22, 2008, at 9:22 AM, Jay Levitt wrote:

> I have a developer who lives in a rural area, with no broadband  
> access.
> (OK, stop laughing.)  Worse, his 28.8K dialup ISP has an 8-hour max
> session time, so anything signifcantly large just can't be downloaded,
> period.

Oh, I'm not laughing. My aunt was stuck on 28.8Kbps until recently  
when she finally upgraded to ISDN. Hooray for 64Kbps! Now she can  
finally download her own OS updates instead of me having to burn CDs  
for her.

28800 bits per second = 3600 bytes per second, at 8 hours that's  
still almost 99 MB that could be downloaded. Though that's assuming  
ideal conditions and a line that never drops.

> I want to send him a DVD-ROM of some large packages.  Ideally, I'd  
> want
> them to look like just another source to MacPorts, so that the builds,
> updates, etc. all happen within MacPorts.  (Kinda like Fedora install
> CDs.)    And I want them to include all dependencies.
> I've been able to create .mpkgs, but those are binary packages.  The
> guide mentions portpkgs, but doesn't say how to create them.  Neither
> does the man page.
> Is there any documentation on creating source packages?

There isn't any such thing as a "source package" in MacPorts, but you  
can certainly download distfiles, burn them to a DVD, and have your  
developer copy them to /opt/local/var/macports/distfiles. MacPorts  
will happily use them, assuming they're in fact the correct file  
(that the checksum matches what's in the corresponding Portfile).

You could even download every distfile that exists by rsyncing from  
our distfiles mirror. See these instructions:

At the time of that message a few months ago, we had 15GB of  
distfiles, so that would be several DVDs, but note that it does  
include all versions of every port that have ever been mirrored, not  
just the currently used versions. So if you thinned this to just the  
current versions it could be quite a bit smaller. You could run "port  
mirror" yourself to download just the current versions.

If you're talking about creating private ports just for this  
developer (ports that aren't in MacPorts) then you can still download  
the source files for him and send them to him on a DVD and have him  
copy them to the distfiles directory on his machine. And then you can  
have him set up a local ports tree and install from that. See:

You could provide a ports tree on the DVD for him to copy to his  
machine and install from (after he's set up his sources.conf).

More information about the macports-users mailing list