Version 9 (modified by ryandesign (Ryan Carsten Schmidt), 15 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: Check out MacPorts trunk
Pick a location to store a working copy of the MacPorts code. For this HOWTO /opt/mports
will be used (change to suit). Run:
mkdir -p /opt/mports cd /opt/mports svn co http://svn.macports.org/repository/macports/trunk
This will create /opt/mports/trunk
containing everything needed for MacPorts.
Note: You only really need the base subdirectory, so you can avoid checking out the rest if you don't want to use a Subversion-based ports tree (see Step 3 below).
Step 2: Build and Install MacPorts
Build and install MacPorts:
cd /opt/mports/trunk/base ./configure --enable-readline make sudo make install make distclean
This will configure, build, and install MacPorts to the standard /opt/local
location.
Configuration
Step 3 (Optional): Configure MacPorts to use port information from Subversion
This step is useful if you want to do port development.
Open /opt/local/etc/macports/sources.conf
in a text editor. The last line which should look like this:
rsync://rsync.macports.org/release/ports/
Change it to point to the working copy you checked out:
file:///opt/mports/trunk/dports
Now MacPorts will look for portfiles in the working copy.
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
MacPorts has two commands used to keep itself current: sync
, used to update the ports tree, and selfupdate
, to update the MacPorts base code. When compiling MacPorts yourself instead of using a released MacPorts package, you can continue to use sync
to update the ports tree, or you can update the working copy manually like this:
svn update /opt/mports/trunk
You will not find selfupdate
useful anymore because it will always see that you have a version newer than the latest released version of MacPorts, and will not update your base code. Instead you should svn update
as above and then repeat the steps 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 the side-effects of using it can be confusing. See #12914 for 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
.