Changes between Version 196 and Version 197 of SummerOfCode
- Timestamp:
- Mar 22, 2013, 12:14:16 AM (12 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
SummerOfCode
v196 v197 82 82 * Potential mentors: TBD 83 83 84 ==== Dependency calculation using SAT solving ==== #dependencies #depcalc 85 86 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). 87 88 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. 89 There is also a [browser:trunk/dports/devel/libCUDF/Portfile libCUDF] port that might be helpful to look at. 90 91 * Difficulty: Challenging 92 * Languages: Tcl, C 93 * Potential mentors: cal 94 84 95 ==== Check for software update / ports needing upgrade ==== #livecheck 85 96 … … 89 100 * Languages: Tcl 90 101 * Potential mentors: TBD 91 92 ==== Dependencies ==== #dependencies93 94 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).95 96 * Difficulty: Very challenging97 * Languages: Tcl, C98 * Potential mentors: TBD99 102 100 103 ==== MacPorts port for self-management ==== #self-management … … 181 184 * Potential mentors: larryv 182 185 183 ==== Dependency calculation using SAT solving ==== #depcalc184 185 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.186 There is also a [browser:trunk/dports/devel/libCUDF/Portfile libCUDF] port that might be helpful to look at.187 188 * Difficulty: Challenging189 * Languages: Tcl, C190 * Potential mentors: cal191 192 186 ==== Reclaim disk space ==== #reclaim 193 187