Creating source packages?
Ryan Schmidt
ryandesign at macports.org
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:
http://lists.macosforge.org/pipermail/macports-dev/2008-July/005720.html
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:
http://guide.macports.org/#development.local-repositories
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