[MacPorts] SummerOfCode2011 added

MacPorts noreply at macports.org
Mon Aug 22 16:59:16 PDT 2011


Added page "SummerOfCode2011" by raimue at macports.org from 188.195.200.159*
Page URL: <https://trac.macports.org/wiki/SummerOfCode2011>
Comment: Archive projects
Content:
-------8<------8<------8<------8<------8<------8<------8<------8<--------
= Summer of Code 2011 =


This page is dedicated to the projects accepted into Google SoC 2011, here's a list of accepted projects:

|| '''Project''' || '''Student''' || '''Mentor''' ||
|| [wiki:SummerOfCode2011#depcheck post-destroot check] || [wiki:fotanus Felipe Tanus] || [wiki:perry Perry Lee] ||
|| [wiki:SummerOfCode2011#statistics User statistics] || [wiki:derek Derik Ingrouville] || [wiki:snc Jeremy Lavergne] ||
|| [wiki:SummerOfCode2011#rev-upgrade rev-upgrade] || [wiki:cal Clemens Lang] || [wiki:raimue Rainer Mueller] ||

==== Check dependencies after destroot ==== #depcheck

MacPorts currently has trace mode to check which files are accessed during build and if they are in the dependency chain. This requires injecting the tracelib in all code that is run and interception all open calls and make checks on the pathnames which slows down the procedure. This task is about creating another feature for verifying the dependencies of a build.

A new phase would be created which is to be run after the destroot phase to verify files.
 * It would iterate over all binaries and dynamically linked libraries in the destroot which are going to be installed and check the recorded paths against the dependency chain.
 * It will report broken symlinks, e.g. those pointing to the destroot
Any problems found should be reported.

This would be great to do a quick check if the dependencies are met without the effort from trace mode. It could also help to identify unnecessary dependencies. If this actually runs fast enough it could as well be enabled by default, although it should only be necessary for maintainers.

Classification: medium task[[BR]]
Programming languages: Tcl and C[[BR]]

==== Scan for broken dynamic libraries for rebuild ==== #rev-upgrade 

Upgrading any port can naturally break its dependents if using dynamic libraries. The only way to fix this is currently rebuilding all dependents, no matter if necessary or not. MacPorts should get a new command to scan installed dynamic libraries and binaries for linker errors and mark the corresponding port for rebuild. After checking all files, broken ones should get rebuild in the correct order. Probably it has to do the check again after each set of rebuilds. 

{{{ 
port rev-upgrade [portname] 
}}} 

If you are familiar with Gentoo, this would be the equivalent of the revdep-rebuild command. See #17473 for more information. 

Classification: easy to medium task[[BR]] 
Programming languages: Tcl[[BR]]

==== Usage Statistics ====

Development of a data collection tool and information gathering service which will allow participating users to contribute data regarding the way they use MacPorts. This data will include information on the user's system configuration as well as the ports they use. In addition, a visualization tool for this data will also be developed.

Classification: medium task
Programming languages: Tcl and Ruby on Rails
-------8<------8<------8<------8<------8<------8<------8<------8<--------

* The IP shown here might not mean anything if the user or the server is
behind a proxy.

--
MacPorts <http://www.macports.org/>
Ports system for Mac OS

This is an automated message. Someone at http://www.macports.org/ added your email
address to be notified of changes on SummerOfCode2011. If it was not you, please
report to .


More information about the macports-changes mailing list