[MacPorts] SummerOfCode modified

MacPorts noreply at macports.org
Thu Mar 3 10:48:06 PST 2011


Changed page "SummerOfCode" by raimue at macports.org from 79.249.126.163*
Page URL: <https://trac.macports.org/wiki/SummerOfCode>
Diff URL: <https://trac.macports.org/wiki/SummerOfCode?action=diff&version=148>
Revision 148
Comment: Add new ideas from macports-dev

-------8<------8<------8<------8<------8<------8<------8<------8<--------
Index: SummerOfCode
=========================================================================
--- SummerOfCode (version: 147)
+++ SummerOfCode (version: 148)
@@ -65,6 +65,9 @@
 
 MacPorts 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.
 
+This also includes to cleanly separate building software from installing it, using "real"
+binary packages.
+
 See also [wiki:MPAB MacPorts AutoBuild].
 
 Classification: relatively challenging to challenging task[[BR]]
@@ -140,6 +143,99 @@
 Programming languages: Tcl, C[[BR]]
 Potential mentor: raimue
 
+==== Configuration and environment selftest ====
+
+Add a command to check current setup for common pitfalls (e.g. stuff
+in /usr/local), inspired by 'brew doctor' from Homebrew.
+
+Classification: easy[[BR]]
+Programming languages: Tcl[[BR]]
+Potential mentor: TBD
+
+
+==== Improve startupitem code ==== #startupitem
+
+MacPorts 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.
+
+Classification: easy[[BR]]
+Programming languages: Tcl, C[[BR]]
+Potential mentor: TBD
+
+==== Dependency calculation during upgrade ==== #depcalc
+
+Revamp the upgrade code to figure out (and optionally report) what
+it's going to do and detect conflicts etc. before it actually changes
+anything, and maybe even roll back to the original state if there's a
+failure
+
+Classification: medium[[BR]]
+Programming languages: Tcl, C[[BR]]
+Potential mentor: TBD
+
+==== Reclaim disk space ==== #reclaim
+
+Improve 'port clean' to be able to delete distfiles for a specified
+version, and all distfiles not needed by currently installed versions of
+ports.
+
+In general, add an action for reclaiming disk space, which would delete old
+distfiles and archives and uninstall inactive ports (and anything else
+that would help)
+
+Classification: easy[[BR]]
+Programming languages: Tcl, C[[BR]]
+Potential mentor: TBD
+
+==== Parallel execution ==== #parallel
+
+When an action will run targets on multiple ports, run them in
+parallel when possible and sensible (requires tracking dependencies
+between both targets and ports and figuring out the maximum reasonable
+parallelism, e.g. several ports can fetch at once on a fast connection
+but you only want one 'make -j8' at a time)
+
+Classification: very challenging[[BR]]
+Programming languages: Tcl, C[[BR]]
+Potential mentor: TBD
+
+==== Trace mode ==== #tracemode
+
+Improve trace mode to the point where developers (and the build
+server) could run with it always turned on.
+
+Classification: medium[[BR]]
+Programming languages: Tcl, C[[BR]]
+Potential mentor: TBD
+
+==== Migrate muniversal into base (lipo merging) ==== #muniversal
+
+Integrate muniversal into base. Not just a direct copy-and-paste, but
+in a way that makes sense and preserves the way portfiles are expected
+to behave (which the current portgroup doesn't).
+
+Classification: medium[[BR]]
+Programming languages: Tcl, C[[BR]]
+Potential mentor: TBD
+
+==== Fetching from version control ==== #fetchtypes
+
+Make cvs/svn/git/hg/bzr fetch types checkout into the distfiles dir
+and then export into the work dir, to avoid having to re-fetch after
+cleaning the work dir.
+
+Classification: easy[[BR]]
+Programming languages: Tcl, C[[BR]]
+Potential mentor: TBD
+
+==== Interactive port command ==== #interactive
+
+Write an interactive command-line tool that can be used instead of the
+non-interactive port(1)
+
+Classification: medium[[BR]]
+Programming languages: Tcl, C[[BR]]
+Potential mentor: TBD
+
 ==== Portfiles ==== #Portfiles
 
 Sweep through all Portfiles and look for useful opportunities to add more built-in Tcl functions that make Portfiles more (usefully) terse, powerful, flexible or easier to write.  I'm sure there is an entirely family of helper functions yet to be written here.
@@ -180,7 +276,6 @@
 
 
 
-
 {{{
 #!comment
 # Listing already done tasks here, maybe parts of this could spin-off a new project idea

-------8<------8<------8<------8<------8<------8<------8<------8<--------

* The IP shown here might not mean anything if the user or the server is
behind a proxy.

--
MacPorts <http://www.macports.org/>
Ports system for Mac OS

This is an automated message. Someone at http://www.macports.org/ added your email
address to be notified of changes on SummerOfCode. If it was not you, please
report to .


More information about the macports-changes mailing list