Changes between Version 52 and Version 53 of SummerOfCode


Ignore:
Timestamp:
Mar 11, 2008, 7:50:06 PM (16 years ago)
Author:
wsiegrist@…
Comment:

removed virtual chroot task as completed in 2007 and replaced with MacPorts Port

Legend:

Unmodified
Added
Removed
Modified
  • SummerOfCode

    v52 v53  
    5151Potential mentor: raimue
    5252
    53 ==== Task 3: Virtual "chroot" ====
     53==== Task 3: MacPorts Port ====
    5454
    55 (completed in 2007?)
     55The MacPorts port should be the source for updating a user's MacPorts
     56installation.
    5657
    57 MacPorts uses dynamic library injection code to control and monitor file system accesses of ports when they are compiled. This technique is used for the trace mode which is used to automatically figure out dependencies between ports. The proposed task consists in upgrading this mechanism to transform the trace mode (which ''reports'') into a virtual chroot environment which will contraint ports to be compiled in a controlled environment. For example, if a port does not mention a dependency on the jpeg port, the configure script, the compiler and the linker will not see jpeg port binaries, includes and libraries. This task could extend up to defining virtual ports based on software installed with traditional MacOS X packages (for which list of files are saved in /Library/Receipts/). Part of the challenge includes the design of an efficient communication channel between the dynamic library and the Tcl code and a complete study of possible holes in this virtual chroot environment.
     58Currently the MacPorts port is used to build the .dmg installer for MacPorts that is used for the initial installation of MacPorts, and port uses the "selfupdate" mechanism for maintaining the MacPorts installation. The selfupdate mechanism is (at least not documented as such) not accessible through the MacPorts API and does not use the MacPorts mechanisms for maintaining ports
    5859
    5960Classification: challenging task[[BR]]