Changes between Version 147 and Version 148 of SummerOfCode


Ignore:
Timestamp:
Mar 3, 2011, 6:48:06 PM (13 years ago)
Author:
raimue (Rainer Müller)
Comment:

Add new ideas from macports-dev

Legend:

Unmodified
Added
Removed
Modified
  • SummerOfCode

    v147 v148  
    6666MacPorts project does not provide binaries yet (installation of software without compiling them). This project consists in working in concert (or cooperatively) with whomever does (virtual chroot) to setup a mechanism to automatically build packages, send reports on failures and implement a distribution mechanisms to allow users to fetch binary packages. This task could extend to support universal binaries, cross-testing (building on an intel box and testing on a powerpc box) and extending the livecheck mechanism to automatically send reports when ports are updated.
    6767
     68This also includes to cleanly separate building software from installing it, using "real"
     69binary packages.
     70
    6871See also [wiki:MPAB MacPorts AutoBuild].
    6972
     
    141144Potential mentor: raimue
    142145
     146==== Configuration and environment selftest ====
     147
     148Add a command to check current setup for common pitfalls (e.g. stuff
     149in /usr/local), inspired by 'brew doctor' from Homebrew.
     150
     151Classification: easy[[BR]]
     152Programming languages: Tcl[[BR]]
     153Potential mentor: TBD
     154
     155
     156==== Improve startupitem code ==== #startupitem
     157
     158MacPorts has the ability to automatically generate startup items for the current platform. For Mac OS X, these are plist files for launchd which will be installed as `/Library/LaunchDaemons/org.macports.*.plist`. The current code would need a little care and could make use of options which have been added in recent releases of launchd.
     159
     160Classification: easy[[BR]]
     161Programming languages: Tcl, C[[BR]]
     162Potential mentor: TBD
     163
     164==== Dependency calculation during upgrade ==== #depcalc
     165
     166Revamp the upgrade code to figure out (and optionally report) what
     167it's going to do and detect conflicts etc. before it actually changes
     168anything, and maybe even roll back to the original state if there's a
     169failure
     170
     171Classification: medium[[BR]]
     172Programming languages: Tcl, C[[BR]]
     173Potential mentor: TBD
     174
     175==== Reclaim disk space ==== #reclaim
     176
     177Improve 'port clean' to be able to delete distfiles for a specified
     178version, and all distfiles not needed by currently installed versions of
     179ports.
     180
     181In general, add an action for reclaiming disk space, which would delete old
     182distfiles and archives and uninstall inactive ports (and anything else
     183that would help)
     184
     185Classification: easy[[BR]]
     186Programming languages: Tcl, C[[BR]]
     187Potential mentor: TBD
     188
     189==== Parallel execution ==== #parallel
     190
     191When an action will run targets on multiple ports, run them in
     192parallel when possible and sensible (requires tracking dependencies
     193between both targets and ports and figuring out the maximum reasonable
     194parallelism, e.g. several ports can fetch at once on a fast connection
     195but you only want one 'make -j8' at a time)
     196
     197Classification: very challenging[[BR]]
     198Programming languages: Tcl, C[[BR]]
     199Potential mentor: TBD
     200
     201==== Trace mode ==== #tracemode
     202
     203Improve trace mode to the point where developers (and the build
     204server) could run with it always turned on.
     205
     206Classification: medium[[BR]]
     207Programming languages: Tcl, C[[BR]]
     208Potential mentor: TBD
     209
     210==== Migrate muniversal into base (lipo merging) ==== #muniversal
     211
     212Integrate muniversal into base. Not just a direct copy-and-paste, but
     213in a way that makes sense and preserves the way portfiles are expected
     214to behave (which the current portgroup doesn't).
     215
     216Classification: medium[[BR]]
     217Programming languages: Tcl, C[[BR]]
     218Potential mentor: TBD
     219
     220==== Fetching from version control ==== #fetchtypes
     221
     222Make cvs/svn/git/hg/bzr fetch types checkout into the distfiles dir
     223and then export into the work dir, to avoid having to re-fetch after
     224cleaning the work dir.
     225
     226Classification: easy[[BR]]
     227Programming languages: Tcl, C[[BR]]
     228Potential mentor: TBD
     229
     230==== Interactive port command ==== #interactive
     231
     232Write an interactive command-line tool that can be used instead of the
     233non-interactive port(1)
     234
     235Classification: medium[[BR]]
     236Programming languages: Tcl, C[[BR]]
     237Potential mentor: TBD
     238
    143239==== Portfiles ==== #Portfiles
    144240
     
    181277
    182278
    183 
    184279{{{
    185280#!comment