New Ticket     Tickets     Wiki     Browse Source     Timeline     Roadmap     Ticket Reports     Search

Changes between Version 123 and Version 124 of SummerOfCode


Ignore:
Timestamp:
03/09/10 10:03:31 (3 years ago)
Author:
raimue@…
Comment:

Remove depot-to-depot deps, as that has been obsoleted with the images-and-archive branch

Legend:

Unmodified
Added
Removed
Modified
  • SummerOfCode

    v123 v124  
    137137Potential mentor: raimue 
    138138 
    139 ==== Images (Pkgview, depot-to-depot dependencies) ==== #images 
    140  
    141 MacPorts implements what we call the Image mode where software are stored in a depot (e.g. `/opt/local/var/db/dports/software/gawk/3.1.5_2/opt/local/bin/gawk`). For the moment, this functions like an archive and files are hardlinked to their active location (/opt/local/bin/gawk). If port A depends on dynamic library B.dylib from port B, it actually links to /opt/local/lib/B.dylib. The idea of this task is to figure out a way for port A to be linked to the library in the depot and to work even if port B is not active. That is to say that if port foo depends on version 1.2.3 of port bar, it should be compiled and linked in such a way that it's wired to the depot location of bar, not the "activated" location.  That will finally fix the fragility problem where deactivating port bar vers n-1 in order to install port bar vers n (because other things depend on n) won't also require breaking everything that relies on n-1. This mechanism also has additional advantages such as limiting the unavailability time to a minimum, especially when upgrading libraries every other package depends on (such as gettext). 
    142  
    143 Classification: challenging to very challenging task[[BR]] 
    144 Programming language: Tcl[[BR]] 
    145 Potential mentor: TBD 
    146  
    147139==== Portfiles ==== #Portfiles 
    148140 
     
    201193Potential mentor: blb 
    202194}}} 
     195 
     196 
     197{{{ 
     198#!comment 
     199# Removed ideas which do not fit to our plans anymore 
     200 
     201# Will be obsolete and no longer be possible with the images-and-archives branch 
     202==== Images (Pkgview, depot-to-depot dependencies) ==== #images 
     203 
     204MacPorts implements what we call the Image mode where software are stored in a depot (e.g. `/opt/local/var/db/dports/software/gawk/3.1.5_2/opt/local/bin/gawk`). For the moment, this functions like an archive and files are hardlinked to their active location (/opt/local/bin/gawk). If port A depends on dynamic library B.dylib from port B, it actually links to /opt/local/lib/B.dylib. The idea of this task is to figure out a way for port A to be linked to the library in the depot and to work even if port B is not active. That is to say that if port foo depends on version 1.2.3 of port bar, it should be compiled and linked in such a way that it's wired to the depot location of bar, not the "activated" location.  That will finally fix the fragility problem where deactivating port bar vers n-1 in order to install port bar vers n (because other things depend on n) won't also require breaking everything that relies on n-1. This mechanism also has additional advantages such as limiting the unavailability time to a minimum, especially when upgrading libraries every other package depends on (such as gettext). 
     205 
     206Classification: challenging to very challenging task[[BR]] 
     207Programming language: Tcl[[BR]] 
     208Potential mentor: TBD 
     209}}}