#13704: selfupdate, anything over http? ------------------------------------+--------------------------------------- Reporter: andre.david@gmail.com | Owner: macports-tickets@lists.macosforge.org Type: enhancement | Status: new Priority: Normal | Milestone: MacPorts base enhancements Component: base | Version: 1.6.0 Resolution: | Keywords: ------------------------------------+--------------------------------------- Comment (by andre.david@gmail.com): Replying to [comment:2 jmpp@macports.org]:
`selfupdate` is composed of two rather orthogonal actions: `sync`, which synchronizes your ports tree with the latest revisions to the Portfiles, and `selfupdate` itself (so much for clarity!), which rebuilds MacPorts if outdated with respect to our latest release. `sync` can indeed be performed over `svn`, but unfortunately we currently do not provide a mean for the former (`selfupdate`) over anything but `rsync`. Such request makes up for a fine MacPorts enhancement, so I'll leave this ticket open to track it.
Thanks!
As for `sync`, you have to do three things in order to synchronize your ports tree over `svn`:
1. Pick a `/path/to/your/portsdir` onto which you'll check it out of our repository at `http://svn.macports.org/repository/macports/trunk/dports`;
2. Add an entry for that svn based ports dir to your `${prefix}/etc/macports/sources.conf` file, in the form of `file:///path/to/your/portsdir`;
3. Comment out the rsync based rule that takes care of `sync`'ing over `rsync` (`rsync://rsync.macports.org/release/ports/`).
Once that's done, a "`port sync`" call will pull the new Portfiles from `svn` rather than `rsync`.
Lastly, as for rebuilding MacPorts itself, you can also check out the `base` code out of `svn` and rebuild it with the manual `./configure && make` dance; Not as handy as the "`port selfupdate`" one liner... but at least something ;-) You can checkout either `trunk` at `http://svn.macports.org/repository/macports/trunk/base` or any of our branches at `http://svn.macports.org/repository/macports/branches` -- pick the `http://svn.macports.org/repository/macports/branches/release_1_6/base` URL if you wish to track the 1.6 set of releases, which is equivalent to selfupdating off the `release/base/` rsync module as per default behavior.
Let me know if you have any questions!
-jmpp
PS: I think these explanations make up for good documentation enhancements, so I'm Cc'ing our docs guys into this ticket so they can have a look and cook something up for our guide ;-)
After doing everything, I can confirm that the recipe works. Anyway, after trying it out, it seems to me that this is the vanilla way for a dev to get things going, so it actually answers my next ticket since I have been thinking about adding some ports of my liking. Happy New Year, Andre PS: I was wondering about jmpp and... {{{ $ grep -R "jmpp\@macports.org" /opt/local/ | wc -l 2025 }}} -- Ticket URL: <http://trac.macosforge.org/projects/macports/ticket/13704#comment:3> MacPorts </projects/macports> Ports system for Mac OS