[wiki:howto <- Back to the HOWTO section] = 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 [http://guide.macports.org/#installing.shell 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 [http://trac.macports.org/newticket 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 [http://lists.macosforge.org/pipermail/macports-dev/2008-July/005652.html in this mail]. If you encounter this problem with a port, please file a bug against this port which still uses {{{cd}}}. [wiki:howto <- Back to the HOWTO section]