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

Rainer Müller raimue at macports.org
Tue Jan 24 11:58:25 PST 2012


On 2012-01-24 20:05 , Clemens Lang wrote:
>> 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

As long as we are building binary archives and distribute them, we need
to bump the revision. rev-upgrade at least helps you detect such
problems and solves them by rebuilding the broken ports.

>> 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.

This would still need a revision bump or a new unique indicator how many
times the port has been built on the buildbot. Otherwise this would
result in problems if the binary archive is mirrored or already
available locally.

Rainer


More information about the macports-dev mailing list