GSoC - Dynamic Libraries

Rainer Müller raimue at macports.org
Tue Apr 6 16:51:17 PDT 2010


Hello Jordan,

On 2010-04-07 00:38 , Jordan Schneider wrote:
> - Will the rev-upgrade command be called on all dependents any time a
> dynamic library is upgraded? Or will this be left for the user to do and
> figure out themselves?

Eventually it should become automated at upgrade if it is feasible and
fast enough. After upgrade it could check files belonging to recursive
dependents of the just upgraded ports and issue rebuilds.

> - The ticket #17473 <http://trac.macports.org/ticket/17473> mentions a
> "poision_version" that will force dependents to be rebuilt if the
> installed version <= poision version. Will the scanner proposed in the
> project be used mainly to help maintainers determine the
> "poision_version" for their port or is it intended for users to fix
> their broken ports due to the linker errors, or will the
> "poision_version" become obsolete due to this scanner?

The approach of the GSoC task will only be able to resolve issues
introduced by broken library dependencies, other issues remain.

At the moment the only way to ensure ports are always in a consistent
state would be to use 'port -R upgrade'.

> Personally, I think it would be best that whenever a dynamic library is
> upgraded (or even installed, in case the library was force uninstalled),
> this check is run and then the user will be prompted to rebuild their
> existing dependents if linker errors have been detected. Additionally,
> the rev-upgrade command should be available for a user to manually
> initiate this scan.

I concur with that. Although MacPorts is currently entirely
non-interactive, so I would prefer a switch.

> As for the other functionality I would like to implement...
>
> I've recently discovered the packaging features that MacPorts comes
> with. Currently employed in the IT department at my university, I
> realize how useful this feature can be for wide-scale deployment.
> However, I noticed that the packaging system currently does not install
> dynamic libraries if a port requires them. Would it be acceptable to
> implement this, and maybe improve the packaging system as a whole in
> addition to the dynamic library scanner?

I would say that the reverse dependency scanning and rebuilding is
already enough to make a good summer of code.

Of course nobody stops you from contributing to MacPorts :-D
Ongoing activity after the end of GSoC would be appreciated very much, too.

Rainer


More information about the macports-dev mailing list