Version 6 (modified by ryandesign (Ryan Carsten Schmidt), 16 years ago) (diff) |
---|
How to run MacPorts from the subversion trunk
- Audience: Anyone who wants to test the latest features or not wait for an official release
- Requires: Subversion (easy with 10.5, tricky with 10.4 since that creates a circular dependency)
Introduction
There are times when some may want to run MacPorts from a version newer than the current stable release. Maybe there's a new feature that you'd like to use, or it fixes an issue you've encountered, or you just like to be on the cutting edge. This explains how to run completely from trunk, using only Subversion to keep MacPorts up to date.
Installation
Step 1: Checkout MacPorts trunk
Pick a location to store MacPorts; for this HOWTO /opt/mports
will be used (change to suit); run
cd /opt/mports svn co http://svn.macports.org/repository/macports/trunk
which will create /opt/mports/trunk
containing everything needed for MacPorts.
Step 2: Build and Install MacPorts
Build and install MacPorts with:
cd /opt/mports/trunk/base ./configure make sudo make install make distclean
This will configure, build, and install MacPorts to the standard /opt/local
location.
Configuration
Step 3: Configure MacPorts to use port information from subversion
Open /opt/local/etc/macports/sources.conf
in a text editor. Change the last line which should look like
rsync://rsync.macports.org/release/ports/
to point to the stuff you already checked out:
file:///opt/mports/trunk/dports
Now MacPorts will look in the subversion checkout for port information.
Step 4: Update PATH
Edit your .profile
(or .tcshrc
, or whatever is appropriate for you) to put /opt/local/bin
and /opt/local/sbin
in your PATH (and don't forget, if using bash, to export $PATH
too). Whether you put this at the beginning or end of the PATH is your choice.
More detailed instructions are in The MacPorts Guide
Keeping Up to Date
Subversion update
The official release of MacPorts has two commands sync
and selfupdate
, used to update all the port information (sync
) and to update the base MacPorts installation when necessary (selfupdate
). Instead of using these, update the subversion files:
cd /opt/mports/trunk svn update
does what port sync
would do. You do need to update the base install manually however, when and/or if needed, with the same commands listed in step 2 above.
Using MacPorts
At this point, most things should work like they do for anyone else; you will encounter some newer functionality that hasn't found its way to a release yet, and occasionally a bug. If so, be sure to report the bug when it happens.
Typical Problems
The tcl command cd
has been removed in trunk.
When you try to install a port which still uses it you get an error message which says:
Error: Target org.macports.destroot returned: invalid command name "cd" Warning: the following items did not execute (for [PORTNAME]): org.macports.activate org.macports.destroot org.macports.install Error: Status 1 encountered during processing.
It was never really intended to be used in portfiles, and it got removed because of it was considered confusing for it's side-effects. See #12914 for a few more details and Ryan Schmidt's explanation on the dev list in this mail. If you encounter this problem with a port, please file a bug against this port which still uses cd
.