Changes between Version 1 and Version 2 of pmagrath


Ignore:
Timestamp:
May 31, 2008, 6:02:01 PM (16 years ago)
Author:
pmagrath@…
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • pmagrath

    v1 v2  
    44 * E-Mail: pmagrath ''AT'' macports.org
    55
    6 Paul Magrath (aka me!) is a Computer Science student at Trinity College, University of Dublin, Ireland who is one of the Google Summer of Code 2008 participants who will be working on MacPorts.
    7 
    8 I'll be working on various issues around root privileges. Specifically, implementing a facility to reduce the need to execute MacPorts as root, by adding facilities to mark ports as requiring root, by dropping root privileges where possible, and perhaps by keeping repository in per-user space.
     6I'm a student of Computer Science at Trinity College Dublin and one of the Google Summer of Code 2008 participants working on improving MacPorts.
    97
    108My GSoC mentor is [wiki:raimue Rainer Müller].
    119
    12 Paul is also available in #macports on FreeNode as '''pmagrath'''.
     10I'm available in #macports on FreeNode as '''pmagrath'''.
     11
     12
     13== branches/gsoc08-privileges ==
     14
     15=== Summary ===
     16To implement facility to reduce need to execute MacPorts as root.
     17
     18
     19=== The Plan ===
     20The proposal is to implement a number of improvements to the MacPorts code base in order to reduce the need to execute MacPorts with root privileges.
     21
     22Firstly, MacPort operations which do not explicitly need root privileges will be re-coded so that they will run with normal user privileges. Examples would include fetching, extracting and building the port.
     23
     24Secondly, the portfile format shall be extended with an additional attribute to mark those ports that can not be installed without root privileges, such as those requiring StartupItems.
     25
     26Thirdly, MacPort will allow users with full write permissions to /opt and its subfolders to install ports which only affect that hierarchy to install those ports without requiring root privileges.
     27
     28Finally, MacPort will allow users to install packages into their own ~/opt instead of /opt when non root users wish to install a package for their own use only.
     29
     30A stretch goal would be to modify MacPorts to drop root privileges for all but the install part of the port installation process.
     31
     32I would feel that the best behavior for if MacPorts is requested to perform a privileged operation for a port, if it currently has no privileged access would be for the user to be given the choice of elevating privileges (by evoking sudo), installing in a fakeroot or aborting. The complications are that there is currently no way of knowing whether a port needs privileges, creating a fakeroot mechanism, cleanly elevating and de-elevating privileges.
     33
     34
     35=== Goals ===
     361) Implementation of each of the four improvements mentioned above.[[BR]]
     372) Ability to easily install common packages without root privileges.[[BR]]
     383) (Long term) Use of MacPorts without root user account activation.[[BR]]
     39
    1340
    1441== Tickets ==