Changes between Version 166 and Version 167 of SummerOfCode


Ignore:
Timestamp:
Aug 22, 2011, 11:59:30 PM (13 years ago)
Author:
raimue (Rainer Müller)
Comment:

Completed projects moved to SummerOfCode2011

Legend:

Unmodified
Added
Removed
Modified
  • SummerOfCode

    v166 v167  
    8787Potential mentor: TBD
    8888
    89 ==== Scan for broken dynamic libraries for rebuild ==== #rev-upgrade
    90 
    91 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.
    92 
    93 {{{
    94 port rev-upgrade [portname]
    95 }}}
    96 
    97 If you are familiar with Gentoo, this would be the equivalent of the revdep-rebuild command. See #17473 for more information.
    98 
    99 Classification: easy to medium task[[BR]]
    100 Programming languages: Tcl[[BR]]
    101 Potential mentor: raimue
    102 
    10389==== Dependencies ==== #dependencies
    10490
     
    10894Programming languages: Tcl and C[[BR]]
    10995Potential mentors: TBD
    110 
    111 ==== Check dependencies after destroot ==== #depcheck
    112 
    113 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.
    114 
    115 A new phase would be created which is to be run after the destroot phase to verify files.
    116  * 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.
    117  * It will report broken symlinks, e.g. those pointing to the destroot
    118 Any problems found should be reported.
    119 
    120 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.
    121 
    122 Classification: medium task[[BR]]
    123 Programming languages: Tcl and C[[BR]]
    124 Potential mentor: raimue
    12596
    12697==== MacPorts Port for self-management ==== #self-management