[MacPorts] SummerOfCode modified

MacPorts noreply at macports.org
Thu Mar 21 17:14:16 PDT 2013


Page "SummerOfCode" was changed by cal at macports.org
Diff URL: <https://trac.macports.org/wiki/SummerOfCode?action=diff&version=197>
Revision 197
Comment: merge sat solving and dependency rewrite, it's essentially the same thing
Changes:
-------8<------8<------8<------8<------8<------8<------8<------8<--------
Index: SummerOfCode
=========================================================================
--- SummerOfCode (version: 196)
+++ SummerOfCode (version: 197)
@@ -81,6 +81,17 @@
 * Languages: Tcl
 * Potential mentors: TBD
 
+==== Dependency calculation using SAT solving ==== #dependencies #depcalc
+
+This task consists of implementing a new dependency engine for MacPorts. The current dependency engine properly deals with installing packages, but it does not deal satisfactorily with [[ticket:126|dependencies on variants]] (and versions), uninstalling and upgrading. This task requires a complete formalization of the use cases (installation, upgrade, uninstallation) and of the user needs before any implementation, as well as a deep understanding of the dependency relations (required for fetching, building, configuring; static and dynamic linking; dependence at runtime).
+
+Instead of re-inventing the wheel it might be helpful to use software available to solve the problem of dependency calculation, e.g. by implementing an interface to a [http://www.mancoosi.org/cudf/ Common Upgradeability Description Format]-based SAT solver. Such a solver could generate an execution plan we could propose to the user and finally execute when confirmed. If time permits, rolling back on failed updates can also be implemented.
+There is also a [browser:trunk/dports/devel/libCUDF/Portfile libCUDF] port that might be helpful to look at.
+
+* Difficulty: Challenging
+* Languages: Tcl, C
+* Potential mentors: cal
+
 ==== Check for software update / ports needing upgrade ==== #livecheck
 
 The livecheck mechanism could be extended to automatically send reports when ports are outdated, similar to how the lint mechanism sends reports on portfile commits.
@@ -88,14 +99,6 @@
 * Difficulty: Easy
 * Languages: Tcl
 * Potential mentors: TBD 
-
-==== Dependencies ==== #dependencies
-
-This task consists of implementing a new dependencies engine for MacPorts. The current dependency engine properly deals with installing packages, but it does not deal satisfactorily with [[ticket:126|dependencies on variants]] (and versions), uninstalling and upgrading. This very challenging task requires a complete formalization of the use cases (installation, upgrade, uninstallation) and of the user needs before any implementation, as well as a deep understanding of the dependency relations (required for fetching, building, configuring; static and dynamic linking; dependence at runtime).
-
-* Difficulty: Very challenging
-* Languages: Tcl, C
-* Potential mentors: TBD
 
 ==== MacPorts port for self-management ==== #self-management
 
@@ -180,15 +183,6 @@
 * Languages: Tcl, C
 * Potential mentors: larryv
 
-==== Dependency calculation using SAT solving ==== #depcalc
-
-Implement an interface to a [http://www.mancoosi.org/cudf/ Common Upgradeability Description Format]-based SAT solver and print a summary before executing the calculated plan. If time permits you can try different solvers or implement rolling back on failure.
-There is also a [browser:trunk/dports/devel/libCUDF/Portfile libCUDF] port that might be helpful to look at.
-
-* Difficulty: Challenging
-* Languages: Tcl, C
-* Potential mentors: cal
-
 ==== 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)
-------8<------8<------8<------8<------8<------8<------8<------8<--------

--
Page URL: <https://trac.macports.org/wiki/SummerOfCode>
MacPorts <http://www.macports.org/>
Ports system for OS X

This is an automated message. Someone added your email address to be
notified of changes on 'SummerOfCode' page.
If it was not you, please report to .


More information about the macports-changes mailing list