[89180] trunk/base/src/port/port-help.tcl

Clemens Lang cal at macports.org
Tue Jan 24 11:05:20 PST 2012


On Tue, Jan 24, 2012 at 12:01:36PM -0600, Ryan Schmidt wrote:
> I have not used rev-upgrade yet, but reading this description, it
> sounds like it would introduce a significant delay after upgrading, if
> I have a lot of ports installed.

It it's not as fast as not running it, but it doesn't take exactly very
long either. It usually finished for me in well under a minute (unless
it starts rebuilding, but then that takes as long as the rebuild takes).
If you don't want it to do that, feel free to disable automatic
rebuilding in your macports.conf. The checks itself imho are fast enough
so they can always be run.

> I'm also not clear on what the use case is for rev-upgrade. Are we
> trying to catch cases where maintainers forget to increase the
> revision of ports to force a rebuild, or are we trying to phase out
> the practice of manually bumping the revisions for this case?

The latter, I'd say. This is currently not really possible in
combination with the buildbot (since the buildbot requires the revbump
anyway), but highly desirable in the long run, since
 1. rev-upgrade doesn't forget to revbump
 2. rev-upgrade also catches cases where a maintainer forgot to add a
    dependency

> I'm concerned about what happens when a library version increases,
> thus triggering rev-upgrade to do its thing in some set of ports, but
> the packages server is still distributing binaries linked with the old
> version of the library.

The solution for this problem currently is to rebuild only from source
in rev-upgrade (as opposed to install missing packages, where the
buildbot packages are still used). To fix this, one would probably have
to write some sort of rev-upgrade for mpab, e.g.:
  foreach updgraded port:
    foreach dependent port:
      install the dependent port
      run rev-upgrade
        rebuild if needed
      collect a new binary package if a rebuild occured
      uninstall the dependent port
	endforeach
  endforeach
This has not been done yet. However, rev-upgrade will still detect
broken packages installed from the buildbot and fix them on the user
side.

-- 
Clemens Lang
GSoC Student



More information about the macports-dev mailing list